From a8cbde850a338b89c9284840fa1956c01cd7cb2e Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 15:17:59 +0900 Subject: [PATCH 01/23] init --- .mocharc.json | 7 +- grasp.cjs | 70 + package.json | 90 +- src/html-to-ast.js | 2 +- test/html-to-ast-test.js | 18 +- tsconfig.json | 32 + yarn.lock | 2693 ++++++++++++-------------------------- 7 files changed, 1028 insertions(+), 1884 deletions(-) create mode 100644 grasp.cjs create mode 100644 tsconfig.json diff --git a/.mocharc.json b/.mocharc.json index c6f7e61..b19a345 100644 --- a/.mocharc.json +++ b/.mocharc.json @@ -1,6 +1,7 @@ { - "timeout": "5000", - "require": [ - "@babel/register" + "$schema": "https://json.schemastore.org/mocharc", + "loader": "ts-node/esm", + "spec": [ + "test/**/*.{js,ts}" ] } diff --git a/grasp.cjs b/grasp.cjs new file mode 100644 index 0000000..43a8a82 --- /dev/null +++ b/grasp.cjs @@ -0,0 +1,70 @@ +const path = require("path"); +const shell = require("shelljs"); +const testRootDirectory = path.join(__dirname, "test"); +if (!shell.which("grasp")) { + shell.echo("Need http://www.graspjs.com/"); + shell.exit(1); +} +// textlint.setupRules({}, {}) => const options +function rewriteSetupRuleWithOption() { + const ruleAndRuleOptionPattern = "textlint.setupRules({ $ruleId: $rule }, { $ruleId: $ruleOption });"; + const ruleAndRuleOptionPatternExpected = `const rule = { + ruleId: {{ruleId}}, + rule: {{rule}}, + options: {{ruleOption}} +};`; + shell.exec( + `grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` + ); +} +// textlint.setupRules({}) => const options +function rewriteSetupRule() { + const ruleAndRuleOptionPattern = "textlint.setupRules({ $ruleId: $rule });"; + const ruleAndRuleOptionPatternExpected = `const rule = { + ruleId: {{ruleId}}, + rule: {{rule}} +};`; + shell.exec( + `grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` + ); +} + +// textlint.setupFilterRules({}, {}) => const options +function rewriteSetupFilterRuleWithOption() { + const ruleAndRuleOptionPattern = "textlint.setupFilterRules({ $ruleId: $rule }, { $ruleId: $ruleOption });"; + const ruleAndRuleOptionPatternExpected = `const filterRule = { + ruleId: {{ruleId}}, + rule: {{rule}}, + options: {{ruleOption}} +};`; + shell.exec( + `grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` + ); +} +// textlint.setupRules({}) => const options +function rewriteSetupFilterRule() { + const ruleAndRuleOptionPattern = "textlint.setupFilterRules({ $ruleId: $rule });"; + const ruleAndRuleOptionPatternExpected = `const filterRule = { + ruleId: {{ruleId}}, + rule: {{rule}} +};`; + shell.exec( + `grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` + ); +} +// textlint.lintMarkdown("text") => textlint.lintText(text, options); +function rewriteLintMarkdown() { + const lintMarkdownPattern = `textlint.lintMarkdown( $text )`; + const lintMarkdownPatternExpected = `textlint.lintText({{text}}, Object.assign({}, options, { ext: ".md" })`; + shell.exec( + `grasp --in-place -r -e '${lintMarkdownPattern}' --replace '${lintMarkdownPatternExpected}' ${testRootDirectory}` + ); +} +// textlint.lintFile(filePath) => textlint.lintFile(text, options); +function rewriteLintFile() { + const pattern = `textlint.lintFile( $filePath )`; + const expected = `const text = fs.readFileSync( {{filePath}}, "utf-8"); + const ext = path.extname({{filePath}}); + textlint.lintText(text, Object.assign({}, options, { ext })`; + shell.exec(`grasp --in-place -r -e '${pattern}' --replace '${expected}' ${testRootDirectory}`); +} diff --git a/package.json b/package.json index 63d3120..fb35af0 100644 --- a/package.json +++ b/package.json @@ -1,53 +1,71 @@ { "name": "textlint-plugin-html", + "version": "0.3.0", + "description": "textlint HTML processsor 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": [ + "bin/", + "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", + "watch": "tsc --build --watch" + }, + "dependencies": { + "rehype": "^12.0.1", + "structured-source": "^4.0.0", + "traverse": "^0.6.7" }, - "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/module-interop": "^13.0.5", + "@types/mocha": "^10.0.1", + "@types/node": "^18.11.18", + "glob": "^8.1.0", + "grasp": "^0.6.0", + "mocha": "^10.2.0", + "shelljs": "^0.8.5", + "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/html-to-ast.js b/src/html-to-ast.js index 0d1e900..b100c98 100644 --- a/src/html-to-ast.js +++ b/src/html-to-ast.js @@ -1,6 +1,6 @@ // LICENSE : MIT "use strict"; -import hast from "hast"; +import rehype from "rehype"; import traverse from "traverse"; import StructuredSource from "structured-source"; import {nodeTypes, tagNameToType} from "./mapping"; diff --git a/test/html-to-ast-test.js b/test/html-to-ast-test.js index e0ffc2b..a690f67 100644 --- a/test/html-to-ast-test.js +++ b/test/html-to-ast-test.js @@ -1,11 +1,15 @@ // 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"; +import assert from "assert"; +import fs from "fs"; +import path from "path"; +import { test } from "@textlint/ast-tester"; +import glob from "glob"; +import { parse } from "../src/html-to-ast"; +import { fileURLToPath } from "url"; +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + 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"); @@ -35,4 +39,4 @@ describe("html-to-ast-test", function () { }); }); }); -}); \ No newline at end of file +}); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3d9871d --- /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, + "allowJs": true + }, + "include": [ + "src/**/*" + ], + "exclude": [ + ".git", + "node_modules" + ] +} diff --git a/yarn.lock b/yarn.lock index c48cbaf..b3f5f6d 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== - dependencies: - "@babel/helper-plugin-utils" "^7.16.5" - -"@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== +"@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-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" "^12.1.0" - debug "^4.3.3" + "@textlint/ast-node-types" "^13.0.5" + debug "^4.3.4" -"@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/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" + "@textlint/ast-node-types" "^13.0.5" -"@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/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/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/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" "^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,44 @@ 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/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 +238,35 @@ dependencies: "@types/unist" "*" +"@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@^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/parse5@^6.0.0": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" + integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== + "@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 +283,16 @@ 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: +ansi-regex@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== 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 +308,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 +330,21 @@ 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" +async@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== 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 +360,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 +373,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 +392,22 @@ 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" +ccount@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" + integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== -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== @@ -1318,11 +415,21 @@ chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== + 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-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + character-entities@^1.0.0: version "1.2.4" resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" @@ -1338,10 +445,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" @@ -1353,6 +460,18 @@ chokidar@3.5.2, chokidar@^3.4.0: optionalDependencies: fsevents "~2.3.2" +cli-color@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f" + integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w== + dependencies: + ansi-regex "^2.1.1" + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + memoizee "^0.4.14" + timers-ext "^0.1.5" + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -1362,32 +481,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 +488,47 @@ 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== +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +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 +540,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: +deep-is@^0.1.3, 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" @@ -1558,35 +567,71 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.62" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + 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-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== +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + +ext@^1.1.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== + dependencies: + type "^2.7.2" extend@^3.0.0: version "3.0.2" @@ -1598,7 +643,12 @@ 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-levenshtein@^2.0.6: +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, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -1624,15 +674,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 +689,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" @@ -1674,16 +708,16 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flow-parser@^0.*: + version "0.198.2" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.198.2.tgz#4c225995896b6be75943e9358e606a4fd86c87d9" + integrity sha512-tCQzqXbRAz0ZadIhAXGwdp/xsusADo8IK9idgc/2qCK5RmazbKDGedyykfRtzWgy7Klt4f4NZxq0o/wFUg6plQ== + format@^0.2.0: version "0.2.2" 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 +733,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 +750,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 +762,80 @@ 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.0.0, 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== +grasp-equery@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/grasp-equery/-/grasp-equery-0.4.0.tgz#5016329c1eecacfe3671cede7c9bc0fc99b10d7b" + integrity sha512-2KSXPYktsIbhgJJIcjmesX0IDjTDOXrqOi3LocK2HELLQYEXu0WMiPPPpxj9XivXFJ6oLHgwayOPK3nVZ7celQ== + dependencies: + flow-parser "^0.*" + grasp-syntax-javascript "^0.2.0" + prelude-ls "^1.1.2" -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= +grasp-squery@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/grasp-squery/-/grasp-squery-0.4.0.tgz#05593a7e836eba80a3465f9603f2c366aaf5397f" + integrity sha512-qmWdQ+PmgoyyE5DGGmHXJnddINcK4SvUPW5EKzPUEpq/n/A3ajRBaF+bhP+3wENzYXq4h0DSuKzG3XV3eKSQQA== dependencies: - ansi-regex "^2.0.0" + grasp-syntax-javascript "~0.2.0" + prelude-ls "~1.1.2" -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= +grasp-syntax-javascript@^0.2.0, grasp-syntax-javascript@~0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/grasp-syntax-javascript/-/grasp-syntax-javascript-0.2.2.tgz#660ffd8ffb1eb108f77447594ac37e72b2b3504c" + integrity sha512-g6Vsjp1MjqjSeC5kXyAD0GjSj/RdVP6FIoDdOQxFTP0OCZgg5dpDMJt03YkRjdwVvWm6tY+POQ1ANBEYca2atw== + dependencies: + prelude-ls "~1.1.2" + +grasp@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/grasp/-/grasp-0.6.0.tgz#7ecf1e26479cb4dec899b898a8afdf8b7d83fc53" + integrity sha512-zj7hW+yzcdNRbC4+lgaAWeQJ7yBtx5tklxBPyoSfWdkXQKYG75HuuBoY88hZkKzgMPHSPbRyCD4kTgNCKUQvTw== + dependencies: + async "^1.5.0" + cli-color "^1.1.0" + flow-parser "^0.*" + grasp-equery "^0.4.0" + grasp-squery "^0.4.0" + grasp-syntax-javascript "^0.2.0" + levn "^0.3.0" + minimatch "^3.0.3" + optionator "^0.8.0" + prelude-ls "^1.1.2" + slash "^1.0.0" 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 +843,87 @@ 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" + +hast-util-raw@^7.0.0: + version "7.2.3" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.3.tgz#dcb5b22a22073436dbdc4aa09660a644f4991d99" + integrity sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg== + dependencies: + "@types/hast" "^2.0.0" + "@types/parse5" "^6.0.0" + hast-util-from-parse5 "^7.0.0" + hast-util-to-parse5 "^7.0.0" + html-void-elements "^2.0.0" + parse5 "^6.0.0" + unist-util-position "^4.0.0" + unist-util-visit "^4.0.0" + vfile "^5.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-to-html@^8.0.0: + version "8.0.4" + resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz#0269ef33fa3f6599b260a8dc94f733b8e39e41fc" + integrity sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA== + dependencies: + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + ccount "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-raw "^7.0.0" + hast-util-whitespace "^2.0.0" + html-void-elements "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + stringify-entities "^4.0.0" + zwitch "^2.0.4" + +hast-util-to-parse5@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz#c49391bf8f151973e0c9adcd116b561e8daf29f3" + integrity sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^2.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" + integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== + +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,17 +935,10 @@ 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" +html-void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f" + integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== inflight@^1.0.4: version "1.0.6" @@ -1850,11 +948,16 @@ 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== +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" @@ -1868,14 +971,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,12 +1000,12 @@ 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== +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-tostringtag "^1.0.0" + has "^1.0.3" is-decimal@^1.0.0: version "1.0.4" @@ -1927,13 +1022,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 +1049,15 @@ 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-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-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-promise@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== is-unicode-supported@^0.1.0: version "0.1.0" @@ -1986,29 +1069,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 +1084,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 +1094,18 @@ 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" +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.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== +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" levn@^0.4.1: version "0.4.1" @@ -2085,14 +1144,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 +1151,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 +1169,22 @@ 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== +lru-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== dependencies: - pify "^4.0.1" - semver "^5.6.0" + es5-ext "~0.10.2" + +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 +1237,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== @@ -2253,6 +1296,20 @@ mdast-util-to-string@^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== +memoizee@^0.4.14: + version "0.4.15" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.53" + es6-weak-map "^2.0.3" + event-emitter "^0.3.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" + 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" @@ -2320,51 +1377,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.3, 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@^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@^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 +1466,15 @@ 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== +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== -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== +next-tick@1, next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== normalize-package-data@^2.3.2: version "2.5.0" @@ -2404,34 +1491,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" @@ -2439,6 +1498,18 @@ once@^1.3.0: dependencies: wrappy "1" +optionator@^0.8.0: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -2458,13 +1529,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 +1543,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 +1555,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 +1582,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" @@ -2552,7 +1602,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-parse@^1.0.6: +path-parse@^1.0.6, 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== @@ -2578,11 +1628,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 +1643,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,32 +1655,25 @@ 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" integrity sha1-crcmqm+sHt7uQiVsfY3CVrM1Z38= -prelude-ls@^1.2.1: +prelude-ls@^1.1.2, 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== -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= +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +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 +1687,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 +1723,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 +1730,41 @@ 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== - 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== +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== dependencies: - "@babel/runtime" "^7.8.4" + resolve "^1.1.6" -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== +rehype-parse@^8.0.0: + version "8.0.4" + resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-8.0.4.tgz#3d17c9ff16ddfef6bbcc8e6a25a99467b482d688" + integrity sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg== dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" + "@types/hast" "^2.0.0" + hast-util-from-parse5 "^7.0.0" + parse5 "^6.0.0" + unified "^10.0.0" -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== +rehype-stringify@^9.0.0: + version "9.0.3" + resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-9.0.3.tgz#70e3bd6d4d29e7acf36b802deed350305d2c3c17" + integrity sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw== 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== + "@types/hast" "^2.0.0" + hast-util-to-html "^8.0.0" + unified "^10.0.0" -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== +rehype@^12.0.1: + version "12.0.1" + resolved "https://registry.yarnpkg.com/rehype/-/rehype-12.0.1.tgz#68a317662576dcaa2565a3952e149d6900096bf6" + integrity sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw== dependencies: - jsesc "~0.5.0" + "@types/hast" "^2.0.0" + rehype-parse "^8.0.0" + rehype-stringify "^9.0.0" + unified "^10.0.0" remark-footnotes@^3.0.0: version "3.0.0" @@ -2808,7 +1812,16 @@ 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.1.6: + 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" + +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 +1836,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,17 +1853,19 @@ 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== +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== dependencies: - kind-of "^6.0.2" + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.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== +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== slice-ansi@^4.0.0: version "4.0.0" @@ -2883,23 +1876,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 +1912,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,19 +1921,13 @@ 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= +stringify-entities@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" + integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== dependencies: - ansi-regex "^2.0.0" + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" @@ -2995,6 +1960,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 +1974,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 +1981,15 @@ 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== +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" @@ -3054,44 +2019,46 @@ 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= +timers-ext@^0.1.5, timers-ext@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== + dependencies: + es5-ext "~0.10.46" + next-tick "1" to-regex-range@^5.0.1: version "5.0.1" @@ -3100,26 +2067,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 +2113,40 @@ 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== +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== dependencies: - inherits "^2.0.0" - xtend "^4.0.0" - -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== + prelude-ls "~1.1.2" -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== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== -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== +type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== -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== +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== -unified@^2.1.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/unified/-/unified-2.1.4.tgz#14bc6cd40d98ffff75b405506bad873ecbbac3ba" - integrity sha1-FLxs1A2Y//91tAVQa62HPsu6w7o= +unified@^10.0.0: + version "10.1.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" + integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== 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" @@ -3197,6 +2175,18 @@ unist-util-is@^4.0.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-position@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" + integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== + dependencies: + "@types/unist" "^2.0.0" + 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" @@ -3204,6 +2194,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" @@ -3219,6 +2216,14 @@ unist-util-visit-parents@^3.0.0: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" +unist-util-visit-parents@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" + integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== + 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" @@ -3226,6 +2231,15 @@ unist-util-visit@^1.1.0: dependencies: unist-util-visit-parents "^2.0.0" +unist-util-visit@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" + integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.1.1" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -3233,10 +2247,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 +2260,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 +2276,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 +2294,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: +word-wrap@^1.2.3, 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 +2328,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 +2340,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 +2378,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" @@ -3378,3 +2392,8 @@ 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== + +zwitch@^2.0.0, zwitch@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 9c837d5a935c7cdf7dba550eb009e3799dc5b118 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 15:23:26 +0900 Subject: [PATCH 02/23] install kernel --- .gitignore | 1 + grasp.cjs | 31 ++++++++++++++++++++----------- package.json | 1 + test/HTMLProcessor-test.js | 3 ++- 4 files changed, 24 insertions(+), 12 deletions(-) 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/grasp.cjs b/grasp.cjs index 43a8a82..f999191 100644 --- a/grasp.cjs +++ b/grasp.cjs @@ -1,10 +1,6 @@ const path = require("path"); const shell = require("shelljs"); const testRootDirectory = path.join(__dirname, "test"); -if (!shell.which("grasp")) { - shell.echo("Need http://www.graspjs.com/"); - shell.exit(1); -} // textlint.setupRules({}, {}) => const options function rewriteSetupRuleWithOption() { const ruleAndRuleOptionPattern = "textlint.setupRules({ $ruleId: $rule }, { $ruleId: $ruleOption });"; @@ -14,7 +10,7 @@ function rewriteSetupRuleWithOption() { options: {{ruleOption}} };`; shell.exec( - `grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` + `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` ); } // textlint.setupRules({}) => const options @@ -25,7 +21,7 @@ function rewriteSetupRule() { rule: {{rule}} };`; shell.exec( - `grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` + `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` ); } @@ -38,7 +34,7 @@ function rewriteSetupFilterRuleWithOption() { options: {{ruleOption}} };`; shell.exec( - `grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` + `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` ); } // textlint.setupRules({}) => const options @@ -49,15 +45,15 @@ function rewriteSetupFilterRule() { rule: {{rule}} };`; shell.exec( - `grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` + `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` ); } // textlint.lintMarkdown("text") => textlint.lintText(text, options); function rewriteLintMarkdown() { const lintMarkdownPattern = `textlint.lintMarkdown( $text )`; - const lintMarkdownPatternExpected = `textlint.lintText({{text}}, Object.assign({}, options, { ext: ".md" })`; + const lintMarkdownPatternExpected = `textlint.lintText({{text}}, { ...options, ext: ".md" })`; shell.exec( - `grasp --in-place -r -e '${lintMarkdownPattern}' --replace '${lintMarkdownPatternExpected}' ${testRootDirectory}` + `npx grasp --in-place -r -e '${lintMarkdownPattern}' --replace '${lintMarkdownPatternExpected}' ${testRootDirectory}` ); } // textlint.lintFile(filePath) => textlint.lintFile(text, options); @@ -66,5 +62,18 @@ function rewriteLintFile() { const expected = `const text = fs.readFileSync( {{filePath}}, "utf-8"); const ext = path.extname({{filePath}}); textlint.lintText(text, Object.assign({}, options, { ext })`; - shell.exec(`grasp --in-place -r -e '${pattern}' --replace '${expected}' ${testRootDirectory}`); + shell.exec(`npx grasp --in-place -r -e '${pattern}' --replace '${expected}' ${testRootDirectory}`); +} + +function rewriteCore() { + const pattern = `textlint = new TextLintCore();`; + const expected = `textlint = new TextlintKernel()`; + shell.exec(`npx grasp --in-place -r -e '${pattern}' --replace '${expected}' ${testRootDirectory}`); } +rewriteSetupRuleWithOption(); +rewriteSetupRule(); +rewriteSetupFilterRuleWithOption(); +rewriteSetupFilterRule(); +rewriteLintMarkdown(); +rewriteLintFile() +rewriteCore(); diff --git a/package.json b/package.json index fb35af0..69b56bc 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ }, "devDependencies": { "@textlint/ast-tester": "^13.0.5", + "@textlint/kernel": "^13.0.5", "@textlint/module-interop": "^13.0.5", "@types/mocha": "^10.0.1", "@types/node": "^18.11.18", diff --git a/test/HTMLProcessor-test.js b/test/HTMLProcessor-test.js index 4ad49c7..d744bcb 100644 --- a/test/HTMLProcessor-test.js +++ b/test/HTMLProcessor-test.js @@ -4,6 +4,7 @@ import assert from "assert"; import HTMLPlugin from "../src/index" import {parse} from "../src/html-to-ast"; import {tagNameToType} from "../src/mapping"; +import { TextlintKernel } from "@textlint/kernel" import {TextLintCore} from "textlint"; import path from "path"; import { moduleInterop } from "@textlint/module-interop"; @@ -125,4 +126,4 @@ describe("HTMLProcessor-test", function () { }); }); }); -}); \ No newline at end of file +}); From 06bebe22fbeee39e7b756a4e7c56053ebd3b1536 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 15:43:15 +0900 Subject: [PATCH 03/23] refactor: work hype --- grasp.cjs | 23 ++++++- src/HTMLProcessor.js | 2 +- src/html-to-ast.js | 23 ++++--- src/index.js | 7 ++- test/HTMLProcessor-test.js | 126 ++++++++++++++++++++++--------------- test/html-to-ast-test.js | 2 +- 6 files changed, 117 insertions(+), 66 deletions(-) diff --git a/grasp.cjs b/grasp.cjs index f999191..e820e3c 100644 --- a/grasp.cjs +++ b/grasp.cjs @@ -1,6 +1,7 @@ const path = require("path"); const shell = require("shelljs"); const testRootDirectory = path.join(__dirname, "test"); + // textlint.setupRules({}, {}) => const options function rewriteSetupRuleWithOption() { const ruleAndRuleOptionPattern = "textlint.setupRules({ $ruleId: $rule }, { $ruleId: $ruleOption });"; @@ -13,6 +14,7 @@ function rewriteSetupRuleWithOption() { `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` ); } + // textlint.setupRules({}) => const options function rewriteSetupRule() { const ruleAndRuleOptionPattern = "textlint.setupRules({ $ruleId: $rule });"; @@ -37,6 +39,19 @@ function rewriteSetupFilterRuleWithOption() { `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` ); } + +// setupPlugin({}) => const options +function rewriteSetupPlugins() { + const ruleAndRuleOptionPattern = "textlint.setupPlugins({ $pluginId: $plugin });"; + const ruleAndRuleOptionPatternExpected = `const plugin = { + pluginId: "{{pluginId}}", + plugin: {{plugin}}, +};`; + shell.exec( + `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` + ); +} + // textlint.setupRules({}) => const options function rewriteSetupFilterRule() { const ruleAndRuleOptionPattern = "textlint.setupFilterRules({ $ruleId: $rule });"; @@ -48,6 +63,7 @@ function rewriteSetupFilterRule() { `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` ); } + // textlint.lintMarkdown("text") => textlint.lintText(text, options); function rewriteLintMarkdown() { const lintMarkdownPattern = `textlint.lintMarkdown( $text )`; @@ -56,12 +72,11 @@ function rewriteLintMarkdown() { `npx grasp --in-place -r -e '${lintMarkdownPattern}' --replace '${lintMarkdownPatternExpected}' ${testRootDirectory}` ); } + // textlint.lintFile(filePath) => textlint.lintFile(text, options); function rewriteLintFile() { const pattern = `textlint.lintFile( $filePath )`; - const expected = `const text = fs.readFileSync( {{filePath}}, "utf-8"); - const ext = path.extname({{filePath}}); - textlint.lintText(text, Object.assign({}, options, { ext })`; + const expected = `textlint.lintText(fs.readFileSync( {{filePath}}, "utf-8"), { ...options, ext: path.extname({{filePath}}), filePath })`; shell.exec(`npx grasp --in-place -r -e '${pattern}' --replace '${expected}' ${testRootDirectory}`); } @@ -70,10 +85,12 @@ function rewriteCore() { const expected = `textlint = new TextlintKernel()`; shell.exec(`npx grasp --in-place -r -e '${pattern}' --replace '${expected}' ${testRootDirectory}`); } + rewriteSetupRuleWithOption(); rewriteSetupRule(); rewriteSetupFilterRuleWithOption(); rewriteSetupFilterRule(); +rewriteSetupPlugins(); rewriteLintMarkdown(); rewriteLintFile() rewriteCore(); diff --git a/src/HTMLProcessor.js b/src/HTMLProcessor.js index c99f290..dfb349a 100644 --- a/src/HTMLProcessor.js +++ b/src/HTMLProcessor.js @@ -1,6 +1,6 @@ // LICENSE : MIT "use strict"; -import {parse} from "./html-to-ast"; +import {parse} from "./html-to-ast.js"; export default class HTMLProcessor { constructor(config) { this.config = config; diff --git a/src/html-to-ast.js b/src/html-to-ast.js index b100c98..fb9bc83 100644 --- a/src/html-to-ast.js +++ b/src/html-to-ast.js @@ -1,9 +1,11 @@ // LICENSE : MIT "use strict"; -import rehype from "rehype"; +import { unified } from 'unified' +import rehypeParse from 'rehype-parse' import traverse from "traverse"; -import StructuredSource from "structured-source"; -import {nodeTypes, tagNameToType} from "./mapping"; +import { StructuredSource } from "structured-source"; +import { nodeTypes, tagNameToType } from "./mapping.js"; + /** * Remove undocumented properties on TxtNode from node * @param {TxtNode} node already has loc,range @@ -18,6 +20,7 @@ function removeUnusedProperties(node) { } }); } + function mapNodeType(node, parent) { if (parent) { let parentNode = parent.parent.node; @@ -39,8 +42,12 @@ function mapNodeType(node, parent) { return nodeTypes[node.type]; } } + export function parse(html) { - const ast = hast.parse(html); + const parseHtml = unified().use(rehypeParse, { + fragment: true // parse html as fragment + }) + const ast = parseHtml.parse(html); const src = new StructuredSource(html); const tr = traverse(ast); tr.forEach(function (node) { @@ -56,8 +63,8 @@ export function parse(html) { 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} + start: { line: position.start.line, column: position.start.column + 1 }, + end: { line: position.end.line, column: position.end.column + 1 } }; } // Unknown type @@ -70,8 +77,8 @@ export function parse(html) { // 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} + 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; diff --git a/src/index.js b/src/index.js index 4274286..fa726af 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,7 @@ // LICENSE : MIT "use strict"; -import HTMLProcessor from "./HTMLProcessor"; -module.exports = { +import HTMLProcessor from "./HTMLProcessor.js"; + +export default { Processor: HTMLProcessor -}; \ No newline at end of file +}; diff --git a/test/HTMLProcessor-test.js b/test/HTMLProcessor-test.js index d744bcb..8ca7115 100644 --- a/test/HTMLProcessor-test.js +++ b/test/HTMLProcessor-test.js @@ -1,13 +1,17 @@ // 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 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 {TextLintCore} from "textlint"; 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); describe("HTMLProcessor-test", function () { describe("#parse", function () { it("should return AST", function () { @@ -17,6 +21,7 @@ describe("HTMLProcessor-test", function () { it("script should CodeBlock", function () { const result = parse(``); const script = result.children[0]; + console.log(script) script.children.forEach(code => { assert.equal(code.type, "CodeBlock"); }); @@ -31,6 +36,7 @@ describe("HTMLProcessor-test", function () { it("

should Paragraph", function () { const result = parse(`

test

`); const pTag = result.children[0]; + console.log(result) assert.equal(pTag.type, "Paragraph"); }); it(" should be Comment", function () { @@ -38,12 +44,12 @@ describe("HTMLProcessor-test", function () { const commentNode = result.children[0]; assert.equal(commentNode.type, "Comment"); }); - + it("should map type to TxtNode's type", function () { function createTag(tagName) { return `<${tagName}>`; } - + function testMap(typeMap) { Object.keys(typeMap).forEach(tagName => { const result = parse(createTag(tagName)); @@ -53,47 +59,62 @@ describe("HTMLProcessor-test", function () { 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 () { + it("should report error", async function () { + const textlint = new TextlintKernel() + const plugin = { + pluginId: "html", + plugin: HTMLPlugin, + }; + const rule = { + ruleId: "no-todo", + 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.lintFile(fixturePath).then(results => { + 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 () { - beforeEach(function () { - textlint = new TextLintCore(); - textlint.setupPlugins({ - html: HTMLPlugin - }); - textlint.setupRules({ - "no-todo": moduleInterop(require("textlint-rule-no-todo")) - }); - }); - it("support {.html, .htm}", function () { + it("support {.html, .htm}", async function () { + const textlint = new TextlintKernel() + const plugin = { + pluginId: "html", + plugin: HTMLPlugin, + }; + const rule = { + ruleId: "no-todo", + 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.lintFile(filePath).then(results => { + 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); }); @@ -102,27 +123,32 @@ describe("HTMLProcessor-test", function () { }); }); 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); - }); + it("should report error", async function () { + const textlint = new TextlintKernel() + const plugin = { + pluginId: "html", + plugin: HTMLPlugin, + options: { + extensions: [".custom"] + } + }; + const rule = { + ruleId: "no-todo", + 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); }); - return Promise.all(promises); }); }); }); diff --git a/test/html-to-ast-test.js b/test/html-to-ast-test.js index a690f67..bef2daa 100644 --- a/test/html-to-ast-test.js +++ b/test/html-to-ast-test.js @@ -5,7 +5,7 @@ import fs from "fs"; import path from "path"; import { test } from "@textlint/ast-tester"; import glob from "glob"; -import { parse } from "../src/html-to-ast"; +import { parse } from "../src/html-to-ast.js"; import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); From 011f87202779fab69a8ce5d282808efd3f016535 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 16:04:41 +0900 Subject: [PATCH 04/23] fix: convert to TypeScript --- .babelrc | 5 - package.json | 9 +- src/HTMLProcessor.js | 30 ----- src/HTMLProcessor.ts | 37 ++++++ src/{html-to-ast.js => html-to-ast.ts} | 25 ++-- src/{index.js => index.ts} | 0 src/{mapping.js => mapping.ts} | 4 +- test/HTMLProcessor-test.js | 2 - tsconfig.json | 3 +- yarn.lock | 159 ++++--------------------- 10 files changed, 82 insertions(+), 192 deletions(-) delete mode 100644 .babelrc delete mode 100644 src/HTMLProcessor.js create mode 100644 src/HTMLProcessor.ts rename src/{html-to-ast.js => html-to-ast.ts} (79%) rename src/{index.js => index.ts} (100%) rename src/{mapping.js => mapping.ts} (97%) 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/package.json b/package.json index 69b56bc..15244a1 100644 --- a/package.json +++ b/package.json @@ -48,16 +48,21 @@ "watch": "tsc --build --watch" }, "dependencies": { - "rehype": "^12.0.1", + "@textlint/ast-node-types": "^13.0.5", + "rehype-parse": "^8.0.4", "structured-source": "^4.0.0", - "traverse": "^0.6.7" + "traverse": "^0.6.7", + "unified": "^10.1.2" }, "devDependencies": { "@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", "grasp": "^0.6.0", "mocha": "^10.2.0", diff --git a/src/HTMLProcessor.js b/src/HTMLProcessor.js deleted file mode 100644 index dfb349a..0000000 --- a/src/HTMLProcessor.js +++ /dev/null @@ -1,30 +0,0 @@ -// LICENSE : MIT -"use strict"; -import {parse} from "./html-to-ast.js"; -export default class HTMLProcessor { - constructor(config) { - this.config = config; - this.extensions = this.config.extensions ? this.config.extensions : []; - } - - availableExtensions() { - return [ - ".htm", - ".html" - ].concat(this.extensions); - } - - processor(ext) { - return { - preProcess(text, filePath) { - return parse(text); - }, - postProcess(messages, filePath) { - return { - messages, - filePath: filePath ? filePath : "" - }; - } - }; - } -} diff --git a/src/HTMLProcessor.ts b/src/HTMLProcessor.ts new file mode 100644 index 0000000..1c26284 --- /dev/null +++ b/src/HTMLProcessor.ts @@ -0,0 +1,37 @@ +// LICENSE : MIT +import { TextlintPluginProcessor } from "@textlint/types"; +import { parse } from "./html-to-ast.js"; + +export type HTMLProcessorOptions = { + extensions?: string[]; +} +export default class HTMLProcessor implements TextlintPluginProcessor { + config: HTMLProcessorOptions; + extensions: string[]; + + constructor(config: HTMLProcessorOptions) { + this.config = config; + this.extensions = this.config.extensions ? this.config.extensions : []; + } + + availableExtensions() { + return [ + ".htm", + ".html" + ].concat(this.extensions); + } + + processor(_ext: string) { + return { + preProcess(text: string, _filePath: string) { + return parse(text); + }, + postProcess(messages: Array, filePath?: string) { + return { + messages, + filePath: filePath ? filePath : "" + }; + } + }; + } +} diff --git a/src/html-to-ast.js b/src/html-to-ast.ts similarity index 79% rename from src/html-to-ast.js rename to src/html-to-ast.ts index fb9bc83..009e1ba 100644 --- a/src/html-to-ast.js +++ b/src/html-to-ast.ts @@ -1,35 +1,37 @@ // LICENSE : MIT -"use strict"; +import type { TxtParentNode } from "@textlint/ast-node-types"; import { unified } from 'unified' import rehypeParse from 'rehype-parse' -import traverse from "traverse"; +import traverse, { TraverseContext } from "traverse"; import { StructuredSource } from "structured-source"; import { nodeTypes, tagNameToType } from "./mapping.js"; +import { Element } from "hast"; /** * Remove undocumented properties on TxtNode from node - * @param {TxtNode} node already has loc,range */ -function removeUnusedProperties(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, parent) { +function mapNodeType(node: Element, parent: TraverseContext | undefined) { if (parent) { - let parentNode = parent.parent.node; - if (parentNode.tagName === "script" || parentNode.tagName === "style") { + const parentNode = parent.parent?.node; + if (parentNode?.tagName === "script" || parentNode?.tagName === "style") { return "CodeBlock"; } } if (node.tagName && node.type === "element") { - let mappedType = tagNameToType[node.tagName]; + // @ts-expect-error: tagName is string + const mappedType = tagNameToType[node.tagName]; if (mappedType) { // p => Paragraph... return mappedType; @@ -39,11 +41,12 @@ function mapNodeType(node, parent) { } } else { // text => Str + // @ts-expect-error: type is string return nodeTypes[node.type]; } } -export function parse(html) { +export function parse(html: string) { const parseHtml = unified().use(rehypeParse, { fragment: true // parse html as fragment }) @@ -59,7 +62,7 @@ export function parse(html) { node.type = mapNodeType(node, this.parent); } else if (node.type === "root") { // FIXME: workaround, should fix hast - node.type = nodeTypes[node.type]; + node.type = nodeTypes[node.type as "root"]; const position = src.rangeToLocation([0, html.length]); // reverse adjust node.position = { @@ -92,6 +95,6 @@ export function parse(html) { } removeUnusedProperties(node); }); - return ast; + return ast as any as TxtParentNode; } diff --git a/src/index.js b/src/index.ts similarity index 100% rename from src/index.js rename to src/index.ts diff --git a/src/mapping.js b/src/mapping.ts similarity index 97% rename from src/mapping.js rename to src/mapping.ts index 96f001c..f9452c3 100644 --- a/src/mapping.js +++ b/src/mapping.ts @@ -14,7 +14,7 @@ export const tagNameToType = { "strong": "Strong", "a": "Link", "img": "Image" -}; +} as const; export const nodeTypes = { "root": "Document", @@ -39,4 +39,4 @@ export const nodeTypes = { 'image': 'Image', 'inlineCode': 'Code', 'yaml': 'Yaml' -}; +} as const; diff --git a/test/HTMLProcessor-test.js b/test/HTMLProcessor-test.js index 8ca7115..f7894ab 100644 --- a/test/HTMLProcessor-test.js +++ b/test/HTMLProcessor-test.js @@ -21,7 +21,6 @@ describe("HTMLProcessor-test", function () { it("script should CodeBlock", function () { const result = parse(``); const script = result.children[0]; - console.log(script) script.children.forEach(code => { assert.equal(code.type, "CodeBlock"); }); @@ -36,7 +35,6 @@ describe("HTMLProcessor-test", function () { it("

should Paragraph", function () { const result = parse(`

test

`); const pTag = result.children[0]; - console.log(result) assert.equal(pTag.type, "Paragraph"); }); it(" should be Comment", function () { diff --git a/tsconfig.json b/tsconfig.json index 3d9871d..315601e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -20,7 +20,8 @@ "noUnusedParameters": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, - "allowJs": true + "allowJs": true, + "skipLibCheck": true }, "include": [ "src/**/*" diff --git a/yarn.lock b/yarn.lock index b3f5f6d..6cde596 100644 --- a/yarn.lock +++ b/yarn.lock @@ -224,6 +224,14 @@ 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" @@ -238,20 +246,25 @@ 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@^18.11.18": +"@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/parse5@^6.0.0": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" - integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== +"@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" @@ -402,11 +415,6 @@ ccount@^1.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== -ccount@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== - chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -415,21 +423,11 @@ chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -character-entities-html4@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== - 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-legacy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== - character-entities@^1.0.0: version "1.2.4" resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" @@ -863,57 +861,6 @@ hast-util-parse-selector@^3.0.0: dependencies: "@types/hast" "^2.0.0" -hast-util-raw@^7.0.0: - version "7.2.3" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.3.tgz#dcb5b22a22073436dbdc4aa09660a644f4991d99" - integrity sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg== - dependencies: - "@types/hast" "^2.0.0" - "@types/parse5" "^6.0.0" - hast-util-from-parse5 "^7.0.0" - hast-util-to-parse5 "^7.0.0" - html-void-elements "^2.0.0" - parse5 "^6.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - vfile "^5.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-to-html@^8.0.0: - version "8.0.4" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz#0269ef33fa3f6599b260a8dc94f733b8e39e41fc" - integrity sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA== - dependencies: - "@types/hast" "^2.0.0" - "@types/unist" "^2.0.0" - ccount "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-raw "^7.0.0" - hast-util-whitespace "^2.0.0" - html-void-elements "^2.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - stringify-entities "^4.0.0" - zwitch "^2.0.4" - -hast-util-to-parse5@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz#c49391bf8f151973e0c9adcd116b561e8daf29f3" - integrity sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw== - dependencies: - "@types/hast" "^2.0.0" - comma-separated-tokens "^2.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-whitespace@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" - integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== - hastscript@^7.0.0: version "7.2.0" resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b" @@ -935,11 +882,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== -html-void-elements@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f" - integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -1737,7 +1679,7 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" -rehype-parse@^8.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== @@ -1747,25 +1689,6 @@ rehype-parse@^8.0.0: parse5 "^6.0.0" unified "^10.0.0" -rehype-stringify@^9.0.0: - version "9.0.3" - resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-9.0.3.tgz#70e3bd6d4d29e7acf36b802deed350305d2c3c17" - integrity sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw== - dependencies: - "@types/hast" "^2.0.0" - hast-util-to-html "^8.0.0" - unified "^10.0.0" - -rehype@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/rehype/-/rehype-12.0.1.tgz#68a317662576dcaa2565a3952e149d6900096bf6" - integrity sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw== - dependencies: - "@types/hast" "^2.0.0" - rehype-parse "^8.0.0" - rehype-stringify "^9.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" @@ -1921,14 +1844,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" -stringify-entities@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== - dependencies: - character-entities-html4 "^2.0.0" - character-entities-legacy "^3.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" @@ -2135,7 +2050,7 @@ typescript@^4.9.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== -unified@^10.0.0: +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== @@ -2175,18 +2090,6 @@ unist-util-is@^4.0.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-position@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" - integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== - dependencies: - "@types/unist" "^2.0.0" - 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" @@ -2216,14 +2119,6 @@ unist-util-visit-parents@^3.0.0: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" -unist-util-visit-parents@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" - integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== - 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" @@ -2231,15 +2126,6 @@ unist-util-visit@^1.1.0: dependencies: unist-util-visit-parents "^2.0.0" -unist-util-visit@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" - integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^5.1.1" - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -2392,8 +2278,3 @@ 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== - -zwitch@^2.0.0, zwitch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 9fc121d4844511354c188fd4d1236e4623012f24 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 17:07:29 +0900 Subject: [PATCH 05/23] fix: mapping --- src/html-to-ast.ts | 71 ++++++++++++++++++++++++++++------------ test/html-to-ast-test.js | 53 ++++++++++++++++-------------- 2 files changed, 79 insertions(+), 45 deletions(-) diff --git a/src/html-to-ast.ts b/src/html-to-ast.ts index 009e1ba..7378a22 100644 --- a/src/html-to-ast.ts +++ b/src/html-to-ast.ts @@ -10,17 +10,17 @@ import { Element } 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 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: Element, parent: TraverseContext | undefined) { if (parent) { @@ -53,8 +53,22 @@ export function parse(html: string) { 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 (this.notLeaf) { + + if (typeof node === "object" && !Array.isArray(node)) { + // it is not leaf node + if (!("type" in node)) { + return; + } // avoid conflict // AST node has type and position if (node.type && node.position) { @@ -70,20 +84,35 @@ export function parse(html: string) { 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; + const position = node.position; // TxtNode's line start with 1 // TxtNode's column start with 0 - let positionCompensated = { + const 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); + } 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]); @@ -93,7 +122,7 @@ export function parse(html: string) { node.url = node.properties.href; } } - removeUnusedProperties(node); + // removeUnusedProperties(node); }); return ast as any as TxtParentNode; } diff --git a/test/html-to-ast-test.js b/test/html-to-ast-test.js index bef2daa..43c9506 100644 --- a/test/html-to-ast-test.js +++ b/test/html-to-ast-test.js @@ -4,11 +4,39 @@ import assert from "assert"; import fs from "fs"; import path from "path"; import { test } from "@textlint/ast-tester"; -import glob from "glob"; import { parse } from "../src/html-to-ast.js"; import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); +const fixturesDir = path.join(__dirname, "ast-test-case"); + +// 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); + const expectedFilePath = path.join(fixtureDir, "index.json"); + // Usage: update snapshots + // UPDATE_SNAPSHOT=1 npm test + if (!fs.existsSync(expectedFilePath) || process.env.UPDATE_SNAPSHOT) { + fs.writeFileSync(expectedFilePath, actual); + this.skip(); // skip when updating snapshots + return; + } + // compare input and output + const expectedContent = fs.readFileSync(expectedFilePath, "utf-8"); + assert.deepStrictEqual( + actual, + expectedContent + ); + }); + }); +}); describe("html-to-ast-test", function () { it("should return AST that passed isTxtAST", function () { @@ -16,27 +44,4 @@ describe("html-to-ast-test", function () { 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); - }); - }); - }); }); From 86de0f05840d13ead607a2fe43b81781d3d9c689 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 19:44:16 +0900 Subject: [PATCH 06/23] fix: rename Unknown to Html --- package.json | 1 + src/html-to-ast.ts | 27 +- test/ast-test-case/adoption/index.json | 295 +- .../body-body-attributes/index.json | 126 +- .../body-html-attributes/index.json | 134 +- test/ast-test-case/character-data/index.json | 1200 ++-- test/ast-test-case/comment/index.json | 107 +- test/ast-test-case/comments/index.json | 651 +- .../directive-in-fragment/index.json | 86 +- .../doctype-almost-standards/index.json | 86 +- .../doctype-legacy-double/index.json | 86 +- .../doctype-legacy-single/index.json | 86 +- .../ast-test-case/doctype-nameless/index.json | 86 +- .../doctype-quirksmode-ibm/index.json | 86 +- .../doctype-quirksmode-xml/index.json | 85 +- .../doctype-quotes-double/index.json | 86 +- .../doctype-quotes-single/index.json | 86 +- test/ast-test-case/doctype/index.json | 86 +- .../element-attributes-names/index.json | 480 +- .../element-attributes/index.json | 5670 ++++++++++------- .../element-auto-close-document/index.json | 693 +- .../element-auto-close-fragment/index.json | 693 +- .../element-broken-close/index.json | 155 +- .../ast-test-case/element-children/index.json | 516 +- .../element-closing-attributes/index.json | 464 +- test/ast-test-case/element-closing/index.json | 464 +- test/ast-test-case/element-empty/index.json | 146 +- .../element-loose-close-document/index.json | 343 +- .../element-loose-close-fragment/index.json | 343 +- test/ast-test-case/element-opening/index.json | 464 +- .../element-void-close/index.json | 342 +- test/ast-test-case/element-void/index.json | 1734 +++-- test/ast-test-case/element/index.json | 176 +- test/ast-test-case/empty-document/index.json | 80 +- test/ast-test-case/empty-fragment/index.json | 80 +- .../entities-in-literals/index.json | 462 +- test/ast-test-case/entities/index.json | 96 +- test/ast-test-case/list/index.json | 1004 ++- .../processing-instruction/index.json | 85 +- test/ast-test-case/quirksmode-off/index.json | 350 +- test/ast-test-case/quirksmode-on/index.json | 324 +- test/ast-test-case/test/index.html | 14 + test/ast-test-case/verbose/index.json | 397 +- test/html-to-ast-test.js | 39 +- 44 files changed, 12923 insertions(+), 6091 deletions(-) create mode 100644 test/ast-test-case/test/index.html diff --git a/package.json b/package.json index 15244a1..3aab7ef 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "prepublishOnly": "npm run clean && npm run build", "prepublish": "npm run --if-present build", "test": "mocha", + "updateSnapshot": "UPDATE_SNAPSHOT=1 npm test", "watch": "tsc --build --watch" }, "dependencies": { diff --git a/src/html-to-ast.ts b/src/html-to-ast.ts index 7378a22..7d070a1 100644 --- a/src/html-to-ast.ts +++ b/src/html-to-ast.ts @@ -39,17 +39,22 @@ function mapNodeType(node: Element, parent: TraverseContext | undefined) { // other element is "Html" return "Html"; } - } else { + } else if (node.type in nodeTypes) { + // mappable node type // text => Str - // @ts-expect-error: type is string return nodeTypes[node.type]; } + // It is not defined in textlint's AST + return "Html"; } -export function parse(html: string) { - const parseHtml = unified().use(rehypeParse, { - fragment: true // parse html as fragment - }) +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); @@ -63,12 +68,17 @@ export function parse(html: string) { 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 && node.position) { @@ -83,6 +93,8 @@ export function parse(html: string) { start: { line: position.start.line, column: position.start.column + 1 }, end: { line: position.end.line, column: position.end.column + 1 } }; + } else { + node.type = "Html" as const; } // map `range`, `loc` and `raw` to node if (typeof node.position === "object") { @@ -117,6 +129,7 @@ export function parse(html: string) { node.range = range; node.raw = html.slice(range[0], range[1]); } + // === properties === // map `url` to Link node if (node.type === "Link" && typeof node.properties.href !== "undefined") { node.url = node.properties.href; diff --git a/test/ast-test-case/adoption/index.json b/test/ast-test-case/adoption/index.json index bfff8bd..a4b403a 100644 --- a/test/ast-test-case/adoption/index.json +++ b/test/ast-test-case/adoption/index.json @@ -2,74 +2,283 @@ "type": "Document", "children": [ { - "type": "Link", - "tagName": "a", + "type": "Html", + "tagName": "html", "properties": {}, "children": [ { "type": "Html", - "tagName": "b", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 17 + ], + "raw": "

\n" + }, + { + "type": "Html", + "tagName": "body", "properties": {}, "children": [ { - "type": "Html", - "tagName": "b", + "type": "Link", + "tagName": "a", "properties": {}, "children": [ { - "type": "Paragraph", - "tagName": "p", + "type": "Html", + "tagName": "b", "properties": {}, - "children": [], + "children": [ + { + "type": "Html", + "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": 9 + "column": 3 }, "end": { "line": 1, - "column": 16 + "column": 9 } }, "range": [ - 9, - 16 + 3, + 9 ], - "raw": "

" + "raw": "" } ], + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 10, + "offset": 9 + } + }, "loc": { "start": { "line": 1, - "column": 6 + "column": 0 }, "end": { "line": 1, - "column": 16 + "column": 9 + } + }, + "range": [ + 0, + 9 + ], + "raw": "" + }, + { + "type": "Html", + "tagName": "b", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "b", + "properties": {}, + "children": [ + { + "type": "Paragraph", + "tagName": "p", + "properties": {}, + "children": [ + { + "type": "Html", + "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": [ - 6, - 16 + 0, + 17 ], - "raw": "

" + "raw": "

\n" } ], "loc": { "start": { "line": 1, - "column": 3 + "column": 0 }, "end": { - "line": 1, - "column": 16 + "line": 2, + "column": 0 } }, "range": [ - 3, - 16 + 0, + 17 ], - "raw": "

" + "raw": "

\n" } ], "loc": { @@ -77,37 +286,33 @@ "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, + 0, 17 ], - "raw": "\n" + "raw": "

\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 17 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/body-body-attributes/index.json b/test/ast-test-case/body-body-attributes/index.json index 3a41865..0927148 100644 --- a/test/ast-test-case/body-body-attributes/index.json +++ b/test/ast-test-case/body-body-attributes/index.json @@ -7,23 +7,25 @@ "properties": {}, "children": [ { - "type": "Str", - "value": "\n", + "type": "Html", + "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", @@ -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/index.json b/test/ast-test-case/body-html-attributes/index.json index e4341e5..f377ede 100644 --- a/test/ast-test-case/body-html-attributes/index.json +++ b/test/ast-test-case/body-html-attributes/index.json @@ -4,26 +4,33 @@ { "type": "Html", "tagName": "html", - "properties": {}, + "properties": { + "className": [ + "d" + ], + "onClick": "e" + }, "children": [ { - "type": "Str", - "value": "\n", + "type": "Html", + "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", @@ -33,77 +40,53 @@ "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 index 1ceb898..7bd1a14 100644 --- a/test/ast-test-case/character-data/index.json +++ b/test/ast-test-case/character-data/index.json @@ -4,6 +4,18 @@ { "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, @@ -21,27 +33,20 @@ "raw": "" }, { - "type": "Str", - "value": "\n\n", - "loc": { + "type": "Comment", + "value": "[CDATA[Echo", "loc": { "start": { "line": 10, @@ -49,493 +54,892 @@ }, "end": { "line": 10, - "column": 31 + "column": 16 } }, "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 + 272 ], - "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" + "raw": "" }, { "type": "Html", - "tagName": "math", + "tagName": "html", "properties": {}, "children": [ { - "type": "Str", - "value": "\n ", + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], "loc": { "start": { - "line": 15, - "column": 6 + "line": 1, + "column": 0 }, "end": { - "line": 16, - "column": 1 + "line": 22, + "column": 0 } }, "range": [ - 383, - 385 + 0, + 481 ], - "raw": "\n " + "raw": "\n\nEcho]]>\n\n\n\n

You can add a string to a number, but this stringifies the number:

\n\n x<y\n +\n 3\n =\n x>y3\n\n" }, { "type": "Html", - "tagName": "ms", + "tagName": "body", "properties": {}, "children": [ { - "type": "UNKNOWN", - "value": "x\n\n", + "position": { + "start": { + "line": 10, + "column": 17, + "offset": 272 + }, + "end": { + "line": 12, + "column": 1, + "offset": 289 + } + }, "loc": { "start": { - "line": 16, - "column": 5 + "line": 10, + "column": 16 }, "end": { - "line": 16, - "column": 20 + "line": 12, + "column": 0 } }, "range": [ - 389, - 404 + 272, + 289 ], - "raw": "" - } - ], - "loc": { - "start": { - "line": 16, - "column": 1 + "raw": "Echo]]>\n\n" }, - "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": "+", + "type": "Comment", + "value": "[CDATA[]]", + "position": { + "start": { + "line": 12, + "column": 1, + "offset": 289 + }, + "end": { + "line": 12, + "column": 13, + "offset": 301 + } + }, "loc": { "start": { - "line": 17, - "column": 5 + "line": 12, + "column": 0 }, "end": { - "line": 17, - "column": 6 + "line": 12, + "column": 12 } }, "range": [ - 415, - 416 + 289, + 301 ], - "raw": "+" - } - ], - "loc": { - "start": { - "line": 17, - "column": 1 + "raw": "" }, - "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", + "value": "\n\n", + "position": { + "start": { + "line": 12, + "column": 13, + "offset": 301 + }, + "end": { + "line": 14, + "column": 1, + "offset": 303 + } + }, "loc": { "start": { - "line": 18, - "column": 5 + "line": 12, + "column": 12 }, "end": { - "line": 18, - "column": 6 + "line": 14, + "column": 0 } }, "range": [ - 427, - 428 + 301, + 303 ], - "raw": "3" - } - ], - "loc": { - "start": { - "line": 18, - "column": 1 + "raw": "\n\n" }, - "end": { - "line": 18, - "column": 11 - } - }, - "range": [ - 423, - 433 - ], - "raw": "3" - }, - { - "type": "Str", - "value": "\n ", - "loc": { - "start": { - "line": 18, - "column": 11 + { + "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:

" }, - "end": { - "line": 19, - "column": 1 - } - }, - "range": [ - 433, - 435 - ], - "raw": "\n " - }, - { - "type": "Html", - "tagName": "mo", - "properties": {}, - "children": [ { "type": "Str", - "value": "=", + "value": "\n", + "position": { + "start": { + "line": 14, + "column": 74, + "offset": 376 + }, + "end": { + "line": 15, + "column": 1, + "offset": 377 + } + }, "loc": { "start": { - "line": 19, - "column": 5 + "line": 14, + "column": 73 }, "end": { - "line": 19, - "column": 6 + "line": 15, + "column": 0 } }, "range": [ - 439, - 440 + 376, + 377 ], - "raw": "=" - } - ], - "loc": { - "start": { - "line": 19, - "column": 1 + "raw": "\n" }, - "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", + "type": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": 20, - "column": 5 + "line": 15, + "column": 0 }, "end": { - "line": 20, - "column": 21 + "line": 21, + "column": 7 } }, "range": [ - 451, - 467 + 377, + 480 ], - "raw": "y3]]>" - } - ], - "loc": { - "start": { - "line": 20, - "column": 1 + "raw": "\n x<y\n +\n 3\n =\n x>y3\n" }, - "end": { - "line": 20, - "column": 26 + { + "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" } - }, - "range": [ - 447, - 472 ], - "raw": "y3]]>" - }, - { - "type": "Str", - "value": "\n", "loc": { "start": { - "line": 20, - "column": 26 + "line": 1, + "column": 0 }, "end": { - "line": 21, + "line": 22, "column": 0 } }, "range": [ - 472, - 473 + 0, + 481 ], - "raw": "\n" + "raw": "\n\nEcho]]>\n\n\n\n

You can add a string to a number, but this stringifies the number:

\n\n x<y\n +\n 3\n =\n x>y3\n\n" } ], "loc": { "start": { - "line": 15, + "line": 1, "column": 0 }, - "end": { - "line": 21, - "column": 7 - } - }, - "range": [ - 377, - 480 - ], - "raw": "\n x<y\n +\n 3\n =\n x>y3\n" - }, - { - "type": "Str", - "value": "\n", - "loc": { - "start": { - "line": 21, - "column": 7 - }, "end": { "line": 22, "column": 0 } }, "range": [ - 480, + 0, 481 ], - "raw": "\n" + "raw": "\n\nEcho]]>\n\n\n\n

You can add a string to a number, but this stringifies the number:

\n\n x<y\n +\n 3\n =\n x>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, diff --git a/test/ast-test-case/comment/index.json b/test/ast-test-case/comment/index.json index 694d9e5..b73b6f0 100644 --- a/test/ast-test-case/comment/index.json +++ b/test/ast-test-case/comment/index.json @@ -4,6 +4,18 @@ { "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, @@ -21,27 +33,20 @@ "raw": "" }, { - "type": "Str", - "value": "\n\n", - "loc": { + "type": "Comment", + "value": "", + "position": { "start": { - "line": 1, - "column": 24 + "line": 3, + "column": 1, + "offset": 26 }, "end": { "line": 3, - "column": 0 + "column": 8, + "offset": 33 } }, - "range": [ - 24, - 26 - ], - "raw": "\n\n" - }, - { - "type": "Comment", - "value": "", "loc": { "start": { "line": 3, @@ -59,12 +64,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 4, + "column": 0 + } + }, + "range": [ + 0, + 34 + ], + "raw": "\n\n\n" + }, + { + "type": "Html", + "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": 3, - "column": 7 + "line": 1, + "column": 0 }, "end": { "line": 4, @@ -72,12 +122,27 @@ } }, "range": [ - 33, + 0, 34 ], - "raw": "\n" + "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, diff --git a/test/ast-test-case/comments/index.json b/test/ast-test-case/comments/index.json index 6ca56bd..5abbab4 100644 --- a/test/ast-test-case/comments/index.json +++ b/test/ast-test-case/comments/index.json @@ -4,6 +4,18 @@ { "type": "Comment", "value": "Alpha", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 13, + "offset": 12 + } + }, "loc": { "start": { "line": 1, @@ -21,27 +33,20 @@ "raw": "" }, { - "type": "Str", - "value": " ", - "loc": { + "type": "Comment", + "value": "bravo", + "position": { "start": { "line": 1, - "column": 12 + "column": 14, + "offset": 13 }, "end": { "line": 1, - "column": 13 + "column": 26, + "offset": 25 } }, - "range": [ - 12, - 13 - ], - "raw": " " - }, - { - "type": "Comment", - "value": "bravo", "loc": { "start": { "line": 1, @@ -59,27 +64,20 @@ "raw": "" }, { - "type": "Str", - "value": "\n\n", - "loc": { + "type": "Comment", + "value": "charlie", + "position": { "start": { - "line": 1, - "column": 25 + "line": 3, + "column": 1, + "offset": 27 }, "end": { "line": 3, - "column": 0 + "column": 15, + "offset": 41 } }, - "range": [ - 25, - 27 - ], - "raw": "\n\n" - }, - { - "type": "Comment", - "value": "charlie", "loc": { "start": { "line": 3, @@ -99,6 +97,18 @@ { "type": "Comment", "value": "delta", + "position": { + "start": { + "line": 3, + "column": 15, + "offset": 41 + }, + "end": { + "line": 3, + "column": 27, + "offset": 53 + } + }, "loc": { "start": { "line": 3, @@ -116,27 +126,20 @@ "raw": "" }, { - "type": "Str", - "value": "\n\n", - "loc": { + "type": "Comment", + "value": "echo -- foxtrot", + "position": { "start": { - "line": 3, - "column": 26 + "line": 5, + "column": 1, + "offset": 55 }, "end": { "line": 5, - "column": 0 + "column": 23, + "offset": 77 } }, - "range": [ - 53, - 55 - ], - "raw": "\n\n" - }, - { - "type": "Comment", - "value": "echo -- foxtrot", "loc": { "start": { "line": 5, @@ -154,164 +157,399 @@ "raw": "" }, { - "type": "Str", - "value": "\n\nValid: ", - "loc": { - "start": { - "line": 5, - "column": 22 + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "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" }, - "end": { - "line": 7, - "column": 7 + { + "type": "Html", + "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" } - }, - "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 + "line": 1, + "column": 0 }, "end": { "line": 13, @@ -319,12 +557,27 @@ } }, "range": [ - 221, + 0, 223 ], - "raw": ".\n" + "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, diff --git a/test/ast-test-case/directive-in-fragment/index.json b/test/ast-test-case/directive-in-fragment/index.json index efe1c6d..a6f42e0 100644 --- a/test/ast-test-case/directive-in-fragment/index.json +++ b/test/ast-test-case/directive-in-fragment/index.json @@ -2,9 +2,19 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!doctype", + "type": "Html", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 11, + "offset": 10 + } + }, "loc": { "start": { "line": 1, @@ -22,12 +32,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 11 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 10 + "column": 0 }, "end": { "line": 2, @@ -35,12 +90,27 @@ } }, "range": [ - 10, + 0, 11 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 11 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/doctype-almost-standards/index.json b/test/ast-test-case/doctype-almost-standards/index.json index 0fb707c..13467e9 100644 --- a/test/ast-test-case/doctype-almost-standards/index.json +++ b/test/ast-test-case/doctype-almost-standards/index.json @@ -2,9 +2,19 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"", + "type": "Html", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 64, + "offset": 63 + } + }, "loc": { "start": { "line": 1, @@ -22,12 +32,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 64 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 63 + "column": 0 }, "end": { "line": 2, @@ -35,12 +90,27 @@ } }, "range": [ - 63, + 0, 64 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 64 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/doctype-legacy-double/index.json b/test/ast-test-case/doctype-legacy-double/index.json index 834a032..4c0f25a 100644 --- a/test/ast-test-case/doctype-legacy-double/index.json +++ b/test/ast-test-case/doctype-legacy-double/index.json @@ -2,9 +2,19 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!DOCTYPE html SYSTEM \"about:legacy-compat\"", + "type": "Html", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 45, + "offset": 44 + } + }, "loc": { "start": { "line": 1, @@ -22,12 +32,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 45 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 44 + "column": 0 }, "end": { "line": 2, @@ -35,12 +90,27 @@ } }, "range": [ - 44, + 0, 45 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": false + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 45 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/doctype-legacy-single/index.json b/test/ast-test-case/doctype-legacy-single/index.json index 633037e..24f686e 100644 --- a/test/ast-test-case/doctype-legacy-single/index.json +++ b/test/ast-test-case/doctype-legacy-single/index.json @@ -2,9 +2,19 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!DOCTYPE html SYSTEM 'about:legacy-compat'", + "type": "Html", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 45, + "offset": 44 + } + }, "loc": { "start": { "line": 1, @@ -22,12 +32,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 45 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 44 + "column": 0 }, "end": { "line": 2, @@ -35,12 +90,27 @@ } }, "range": [ - 44, + 0, 45 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": false + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 45 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/doctype-nameless/index.json b/test/ast-test-case/doctype-nameless/index.json index 280f03c..9002657 100644 --- a/test/ast-test-case/doctype-nameless/index.json +++ b/test/ast-test-case/doctype-nameless/index.json @@ -2,9 +2,19 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!DOCTYPE", + "type": "Html", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 11, + "offset": 10 + } + }, "loc": { "start": { "line": 1, @@ -22,12 +32,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 11 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 10 + "column": 0 }, "end": { "line": 2, @@ -35,12 +90,27 @@ } }, "range": [ - 10, + 0, 11 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 11 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/doctype-quirksmode-ibm/index.json b/test/ast-test-case/doctype-quirksmode-ibm/index.json index 89cceba..f9e458d 100644 --- a/test/ast-test-case/doctype-quirksmode-ibm/index.json +++ b/test/ast-test-case/doctype-quirksmode-ibm/index.json @@ -2,9 +2,19 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!DOCTYPE html SYSTEM \"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd\"", + "type": "Html", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 84, + "offset": 83 + } + }, "loc": { "start": { "line": 1, @@ -22,12 +32,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 84 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 83 + "column": 0 }, "end": { "line": 2, @@ -35,12 +90,27 @@ } }, "range": [ - 83, + 0, 84 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 84 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/doctype-quirksmode-xml/index.json b/test/ast-test-case/doctype-quirksmode-xml/index.json index 9385f60..65435be 100644 --- a/test/ast-test-case/doctype-quirksmode-xml/index.json +++ b/test/ast-test-case/doctype-quirksmode-xml/index.json @@ -2,9 +2,20 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "?xml", + "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, @@ -22,12 +33,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 22 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 21 + "column": 0 }, "end": { "line": 2, @@ -35,12 +91,27 @@ } }, "range": [ - 21, + 0, 22 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 22 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/doctype-quotes-double/index.json b/test/ast-test-case/doctype-quotes-double/index.json index 955dfd7..e897596 100644 --- a/test/ast-test-case/doctype-quotes-double/index.json +++ b/test/ast-test-case/doctype-quotes-double/index.json @@ -2,9 +2,19 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!DOCTYPE HTML PUBLIC '-//Alpha \"bravo\" charlie//DTD HTML Extended 1.0//EN'", + "type": "Html", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 77, + "offset": 76 + } + }, "loc": { "start": { "line": 1, @@ -22,12 +32,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 77 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 76 + "column": 0 }, "end": { "line": 2, @@ -35,12 +90,27 @@ } }, "range": [ - 76, + 0, 77 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": false + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 77 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/doctype-quotes-single/index.json b/test/ast-test-case/doctype-quotes-single/index.json index 1310039..367eae9 100644 --- a/test/ast-test-case/doctype-quotes-single/index.json +++ b/test/ast-test-case/doctype-quotes-single/index.json @@ -2,9 +2,19 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!DOCTYPE HTML PUBLIC \"-//Alpha 'bravo' charlie//DTD HTML Extended 1.0//EN\"", + "type": "Html", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 77, + "offset": 76 + } + }, "loc": { "start": { "line": 1, @@ -22,12 +32,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 77 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 76 + "column": 0 }, "end": { "line": 2, @@ -35,12 +90,27 @@ } }, "range": [ - 76, + 0, 77 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": false + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 77 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/doctype/index.json b/test/ast-test-case/doctype/index.json index 826591f..aa613c5 100644 --- a/test/ast-test-case/doctype/index.json +++ b/test/ast-test-case/doctype/index.json @@ -2,9 +2,19 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!DOCTYPE html", + "type": "Html", + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 1, + "column": 16, + "offset": 15 + } + }, "loc": { "start": { "line": 1, @@ -22,12 +32,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 16 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 15 + "column": 0 }, "end": { "line": 2, @@ -35,12 +90,27 @@ } }, "range": [ - 15, + 0, 16 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": false + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 16 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/element-attributes-names/index.json b/test/ast-test-case/element-attributes-names/index.json index 292cbcb..465dea6 100644 --- a/test/ast-test-case/element-attributes-names/index.json +++ b/test/ast-test-case/element-attributes-names/index.json @@ -2,165 +2,322 @@ "type": "Document", "children": [ { - "type": "Link", - "tagName": "a", - "properties": { - "foo": "", - "type": "UNKNOWN" - }, - "children": [], - "loc": { - "start": { - "line": 1, - "column": 0 + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 5, + "column": 0 + } + }, + "range": [ + 0, + 56 + ], + "raw": "\n\n\n\n" }, - "end": { - "line": 1, - "column": 11 + { + "type": "Html", + "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" } - }, - "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, @@ -168,12 +325,27 @@ } }, "range": [ - 55, + 0, 56 ], - "raw": "\n" + "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, diff --git a/test/ast-test-case/element-attributes/index.json b/test/ast-test-case/element-attributes/index.json index fda376c..480532e 100644 --- a/test/ast-test-case/element-attributes/index.json +++ b/test/ast-test-case/element-attributes/index.json @@ -4,2255 +4,3505 @@ { "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": { + "position": { "start": { - "line": 91, - "column": 18 + "line": 1, + "column": 1, + "offset": 0 }, "end": { - "line": 93, - "column": 0 + "line": 1, + "column": 13, + "offset": 12 } }, - "range": [ - 1323, - 1325 - ], - "raw": "\n\n" - }, - { - "type": "Comment", - "value": "numeric:", "loc": { "start": { - "line": 93, + "line": 1, "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 + "line": 1, + "column": 12 } }, "range": [ - 1340, - 1342 + 0, + 12 ], - "raw": "\n\n" + "raw": "" }, { "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" - }, - { + "tagName": "html", + "properties": {}, "children": [ { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], "loc": { + "start": { + "line": 1, + "column": 0 + }, "end": { - "column": 14, - "line": 99 + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": { - "column": 3, - "line": 99 + "line": 1, + "column": 0 + }, + "end": { + "line": 100, + "column": 0 } }, "range": [ - 1431, - 1442 + 0, + 1447 ], - "raw": "placeholder", - "type": "Str", - "value": "placeholder" + "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": { - "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 + "line": 1, + "column": 0 }, - "start": { - "column": 18, - "line": 99 + "end": { + "line": 100, + "column": 0 } }, "range": [ - 1446, + 0, 1447 ], - "raw": "\n", - "type": "Str", - "value": "\n" + "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, diff --git a/test/ast-test-case/element-auto-close-document/index.json b/test/ast-test-case/element-auto-close-document/index.json index b82a844..62984e1 100644 --- a/test/ast-test-case/element-auto-close-document/index.json +++ b/test/ast-test-case/element-auto-close-document/index.json @@ -3,307 +3,521 @@ "children": [ { "type": "Html", - "tagName": "head", + "tagName": "html", "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", + "tagName": "head", "properties": {}, "children": [ { "type": "Str", - "value": "Alpha", - "loc": { + "value": "\n ", + "position": { "start": { + "line": 1, + "column": 7, + "offset": 6 + }, + "end": { "line": 2, - "column": 9 + "column": 3, + "offset": 9 + } + }, + "loc": { + "start": { + "line": 1, + "column": 6 }, "end": { "line": 2, - "column": 14 + "column": 2 } }, "range": [ - 16, - 21 + 6, + 9 ], - "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 + "raw": "\n " }, - "end": { - "line": 4, - "column": 0 - } - }, - "range": [ - 35, - 37 - ], - "raw": ">\n" - }, - { - "type": "Paragraph", - "tagName": "p", - "properties": {}, - "children": [ { - "type": "Str", - "value": "bravo\n", + "type": "Html", + "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": 4, - "column": 3 + "line": 2, + "column": 2 }, "end": { - "line": 5, - "column": 0 + "line": 2, + "column": 22 } }, "range": [ - 40, - 46 + 9, + 29 ], - "raw": "bravo\n" - } - ], - "loc": { - "start": { - "line": 4, - "column": 0 + "raw": "Alpha" }, - "end": { - "line": 5, - "column": 3 - } - }, - "range": [ - 37, - 49 - ], - "raw": "

bravo\n

" - }, - { - "type": "Paragraph", - "tagName": "p", - "properties": {}, - "children": [ { "type": "Str", - "value": "charlie", + "value": "\n", + "position": { + "start": { + "line": 2, + "column": 23, + "offset": 29 + }, + "end": { + "line": 3, + "column": 1, + "offset": 30 + } + }, "loc": { "start": { - "line": 5, - "column": 2 + "line": 2, + "column": 22 }, "end": { - "line": 5, - "column": 9 + "line": 3, + "column": 0 } }, "range": [ - 48, - 55 + 29, + 30 ], - "raw": ">charli" + "raw": "\n" } ], - "loc": { + "position": { "start": { - "line": 5, - "column": 2 + "line": 1, + "column": 1, + "offset": 0 }, "end": { - "line": 5, - "column": 13 + "line": 3, + "column": 1, + "offset": 30 } }, - "range": [ - 48, - 59 - ], - "raw": ">charlie\n" + "raw": "\n Alpha\n" }, { - "type": "List", - "tagName": "ol", + "type": "Html", + "tagName": "body", "properties": {}, "children": [ { "type": "Str", - "value": "\n ", + "value": "\n", + "position": { + "start": { + "line": 3, + "column": 7, + "offset": 36 + }, + "end": { + "line": 4, + "column": 1, + "offset": 37 + } + }, "loc": { "start": { - "line": 6, - "column": 4 + "line": 3, + "column": 6 }, "end": { - "line": 7, - "column": 2 + "line": 4, + "column": 0 } }, "range": [ - 65, - 68 + 36, + 37 ], - "raw": "\n " + "raw": "\n" }, { - "type": "ListItem", - "tagName": "li", + "type": "Paragraph", + "tagName": "p", "properties": {}, "children": [ { "type": "Str", - "value": "delta\n ", + "value": "bravo\n", + "position": { + "start": { + "line": 4, + "column": 4, + "offset": 40 + }, + "end": { + "line": 5, + "column": 1, + "offset": 46 + } + }, "loc": { "start": { - "line": 7, - "column": 6 + "line": 4, + "column": 3 }, "end": { - "line": 8, - "column": 2 + "line": 5, + "column": 0 } }, "range": [ - 72, - 80 + 40, + 46 ], - "raw": "delta\n " + "raw": "bravo\n" } ], + "position": { + "start": { + "line": 4, + "column": 1, + "offset": 37 + }, + "end": { + "line": 5, + "column": 1, + "offset": 46 + } + }, "loc": { "start": { - "line": 7, - "column": 2 + "line": 4, + "column": 0 }, "end": { - "line": 8, - "column": 6 + "line": 5, + "column": 0 } }, "range": [ - 68, - 84 + 37, + 46 ], - "raw": "

  • delta\n
  • " + "raw": "

    bravo\n" }, { - "type": "ListItem", - "tagName": "li", + "type": "Paragraph", + "tagName": "p", "properties": {}, "children": [ { "type": "Str", - "value": "echo\n", + "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": 5 + "column": 3, + "offset": 80 + }, + "end": { + "line": 9, + "column": 1, + "offset": 89 + } + }, + "loc": { + "start": { + "line": 8, + "column": 2 }, "end": { "line": 9, @@ -311,63 +525,102 @@ } }, "range": [ - 83, + 80, 89 ], - "raw": ">echo\n" + "raw": "
  • echo\n" } ], + "position": { + "start": { + "line": 6, + "column": 1, + "offset": 61 + }, + "end": { + "line": 9, + "column": 1, + "offset": 89 + } + }, "loc": { "start": { - "line": 8, - "column": 5 + "line": 6, + "column": 0 }, "end": { "line": 9, - "column": 1 + "column": 0 } }, "range": [ - 83, - 90 + 61, + 89 ], - "raw": ">echo\n" + "raw": "
      \n
    1. delta\n
    2. echo\n" } ], + "position": { + "start": { + "line": 3, + "column": 1, + "offset": 30 + }, + "end": { + "line": 9, + "column": 1, + "offset": 89 + } + }, "loc": { "start": { - "line": 6, + "line": 3, "column": 0 }, "end": { "line": 9, - "column": 1 + "column": 0 } }, "range": [ - 61, - 90 + 30, + 89 ], - "raw": "
        \n
      1. delta\n
      2. echo\n" + "raw": "\n

        bravo\n

        charlie

        \n
          \n
        1. delta\n
        2. echo\n" } ], "loc": { "start": { - "line": 3, - "column": 5 + "line": 1, + "column": 0 }, "end": { "line": 9, - "column": 1 + "column": 0 } }, "range": [ - 35, - 90 + 0, + 89 ], - "raw": ">\n

          bravo\n

          charlie

          \n
            \n
          1. delta\n
          2. echo\n" + "raw": "\n Alpha\n\n

            bravo\n

            charlie

            \n
              \n
            1. delta\n
            2. echo\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 9, + "column": 1, + "offset": 89 + } + }, "loc": { "start": { "line": 1, @@ -383,4 +636,4 @@ 89 ], "raw": "\n Alpha\n\n

              bravo\n

              charlie

              \n
                \n
              1. delta\n
              2. 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 index b82a844..62984e1 100644 --- a/test/ast-test-case/element-auto-close-fragment/index.json +++ b/test/ast-test-case/element-auto-close-fragment/index.json @@ -3,307 +3,521 @@ "children": [ { "type": "Html", - "tagName": "head", + "tagName": "html", "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", + "tagName": "head", "properties": {}, "children": [ { "type": "Str", - "value": "Alpha", - "loc": { + "value": "\n ", + "position": { "start": { + "line": 1, + "column": 7, + "offset": 6 + }, + "end": { "line": 2, - "column": 9 + "column": 3, + "offset": 9 + } + }, + "loc": { + "start": { + "line": 1, + "column": 6 }, "end": { "line": 2, - "column": 14 + "column": 2 } }, "range": [ - 16, - 21 + 6, + 9 ], - "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 + "raw": "\n " }, - "end": { - "line": 4, - "column": 0 - } - }, - "range": [ - 35, - 37 - ], - "raw": ">\n" - }, - { - "type": "Paragraph", - "tagName": "p", - "properties": {}, - "children": [ { - "type": "Str", - "value": "bravo\n", + "type": "Html", + "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": 4, - "column": 3 + "line": 2, + "column": 2 }, "end": { - "line": 5, - "column": 0 + "line": 2, + "column": 22 } }, "range": [ - 40, - 46 + 9, + 29 ], - "raw": "bravo\n" - } - ], - "loc": { - "start": { - "line": 4, - "column": 0 + "raw": "Alpha" }, - "end": { - "line": 5, - "column": 3 - } - }, - "range": [ - 37, - 49 - ], - "raw": "

                bravo\n

                " - }, - { - "type": "Paragraph", - "tagName": "p", - "properties": {}, - "children": [ { "type": "Str", - "value": "charlie", + "value": "\n", + "position": { + "start": { + "line": 2, + "column": 23, + "offset": 29 + }, + "end": { + "line": 3, + "column": 1, + "offset": 30 + } + }, "loc": { "start": { - "line": 5, - "column": 2 + "line": 2, + "column": 22 }, "end": { - "line": 5, - "column": 9 + "line": 3, + "column": 0 } }, "range": [ - 48, - 55 + 29, + 30 ], - "raw": ">charli" + "raw": "\n" } ], - "loc": { + "position": { "start": { - "line": 5, - "column": 2 + "line": 1, + "column": 1, + "offset": 0 }, "end": { - "line": 5, - "column": 13 + "line": 3, + "column": 1, + "offset": 30 } }, - "range": [ - 48, - 59 - ], - "raw": ">charlie\n" + "raw": "\n Alpha\n" }, { - "type": "List", - "tagName": "ol", + "type": "Html", + "tagName": "body", "properties": {}, "children": [ { "type": "Str", - "value": "\n ", + "value": "\n", + "position": { + "start": { + "line": 3, + "column": 7, + "offset": 36 + }, + "end": { + "line": 4, + "column": 1, + "offset": 37 + } + }, "loc": { "start": { - "line": 6, - "column": 4 + "line": 3, + "column": 6 }, "end": { - "line": 7, - "column": 2 + "line": 4, + "column": 0 } }, "range": [ - 65, - 68 + 36, + 37 ], - "raw": "\n " + "raw": "\n" }, { - "type": "ListItem", - "tagName": "li", + "type": "Paragraph", + "tagName": "p", "properties": {}, "children": [ { "type": "Str", - "value": "delta\n ", + "value": "bravo\n", + "position": { + "start": { + "line": 4, + "column": 4, + "offset": 40 + }, + "end": { + "line": 5, + "column": 1, + "offset": 46 + } + }, "loc": { "start": { - "line": 7, - "column": 6 + "line": 4, + "column": 3 }, "end": { - "line": 8, - "column": 2 + "line": 5, + "column": 0 } }, "range": [ - 72, - 80 + 40, + 46 ], - "raw": "delta\n " + "raw": "bravo\n" } ], + "position": { + "start": { + "line": 4, + "column": 1, + "offset": 37 + }, + "end": { + "line": 5, + "column": 1, + "offset": 46 + } + }, "loc": { "start": { - "line": 7, - "column": 2 + "line": 4, + "column": 0 }, "end": { - "line": 8, - "column": 6 + "line": 5, + "column": 0 } }, "range": [ - 68, - 84 + 37, + 46 ], - "raw": "

              3. delta\n
              4. " + "raw": "

                bravo\n" }, { - "type": "ListItem", - "tagName": "li", + "type": "Paragraph", + "tagName": "p", "properties": {}, "children": [ { "type": "Str", - "value": "echo\n", + "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": "
              5. 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": 5 + "column": 3, + "offset": 80 + }, + "end": { + "line": 9, + "column": 1, + "offset": 89 + } + }, + "loc": { + "start": { + "line": 8, + "column": 2 }, "end": { "line": 9, @@ -311,63 +525,102 @@ } }, "range": [ - 83, + 80, 89 ], - "raw": ">echo\n" + "raw": "
              6. echo\n" } ], + "position": { + "start": { + "line": 6, + "column": 1, + "offset": 61 + }, + "end": { + "line": 9, + "column": 1, + "offset": 89 + } + }, "loc": { "start": { - "line": 8, - "column": 5 + "line": 6, + "column": 0 }, "end": { "line": 9, - "column": 1 + "column": 0 } }, "range": [ - 83, - 90 + 61, + 89 ], - "raw": ">echo\n" + "raw": "
                  \n
                1. delta\n
                2. echo\n" } ], + "position": { + "start": { + "line": 3, + "column": 1, + "offset": 30 + }, + "end": { + "line": 9, + "column": 1, + "offset": 89 + } + }, "loc": { "start": { - "line": 6, + "line": 3, "column": 0 }, "end": { "line": 9, - "column": 1 + "column": 0 } }, "range": [ - 61, - 90 + 30, + 89 ], - "raw": "
                    \n
                  1. delta\n
                  2. echo\n" + "raw": "\n

                    bravo\n

                    charlie

                    \n
                      \n
                    1. delta\n
                    2. echo\n" } ], "loc": { "start": { - "line": 3, - "column": 5 + "line": 1, + "column": 0 }, "end": { "line": 9, - "column": 1 + "column": 0 } }, "range": [ - 35, - 90 + 0, + 89 ], - "raw": ">\n

                      bravo\n

                      charlie

                      \n
                        \n
                      1. delta\n
                      2. echo\n" + "raw": "\n Alpha\n\n

                        bravo\n

                        charlie

                        \n
                          \n
                        1. delta\n
                        2. echo\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 9, + "column": 1, + "offset": 89 + } + }, "loc": { "start": { "line": 1, @@ -383,4 +636,4 @@ 89 ], "raw": "\n Alpha\n\n

                          bravo\n

                          charlie

                          \n
                            \n
                          1. delta\n
                          2. 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 index 159a859..e75368f 100644 --- a/test/ast-test-case/element-broken-close/index.json +++ b/test/ast-test-case/element-broken-close/index.json @@ -1,36 +1,131 @@ { - "type": "root", - "children": [ - { - "type": "text", - "value": "foo", - "position": { + "type": "Document", + "children": [ + { + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 8 + ], + "raw": "fooStrong" - }, - { - "type": "Str", - "value": ", ", + "children": [], "loc": { "start": { "line": 1, - "column": 28 + "column": 0 }, "end": { - "line": 1, - "column": 30 + "line": 2, + "column": 0 } }, "range": [ - 28, - 30 + 0, + 78 ], - "raw": ", " + "raw": "
                            Strong, emphasis, and code.
                            \n" }, { - "type": "Emphasis", - "tagName": "em", + "type": "Html", + "tagName": "body", "properties": {}, "children": [ { - "type": "Str", - "value": "emphasis", + "type": "Html", + "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": 34 + "column": 0 }, "end": { "line": 1, - "column": 42 + "column": 77 } }, "range": [ - 34, - 42 + 0, + 77 ], - "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 + "raw": "
                            Strong, emphasis, and code.
                            " }, - "end": { - "line": 1, - "column": 53 - } - }, - "range": [ - 47, - 53 - ], - "raw": ", and " - }, - { - "type": "CodeBlock", - "tagName": "code", - "properties": {}, - "children": [ { "type": "Str", - "value": "code", - "loc": { + "value": "\n", + "position": { "start": { "line": 1, - "column": 59 + "column": 78, + "offset": 77 }, "end": { + "line": 2, + "column": 1, + "offset": 78 + } + }, + "loc": { + "start": { "line": 1, - "column": 63 + "column": 77 + }, + "end": { + "line": 2, + "column": 0 } }, "range": [ - 59, - 63 + 77, + 78 ], - "raw": "code" - } - ], - "loc": { - "start": { - "line": 1, - "column": 53 - }, - "end": { - "line": 1, - "column": 70 + "raw": "\n" } - }, - "range": [ - 53, - 70 ], - "raw": "code" - }, - { - "type": "Str", - "value": ".", "loc": { "start": { "line": 1, - "column": 70 + "column": 0 }, "end": { - "line": 1, - "column": 71 + "line": 2, + "column": 0 } }, "range": [ - 70, - 71 + 0, + 78 ], - "raw": "." + "raw": "
                            Strong, emphasis, and code.
                            \n" } ], "loc": { @@ -192,37 +408,33 @@ "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, + 0, 78 ], - "raw": "\n" + "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, diff --git a/test/ast-test-case/element-closing-attributes/index.json b/test/ast-test-case/element-closing-attributes/index.json index 44e69b8..5602c9b 100644 --- a/test/ast-test-case/element-closing-attributes/index.json +++ b/test/ast-test-case/element-closing-attributes/index.json @@ -3,185 +3,373 @@ "children": [ { "type": "Html", - "tagName": "foo", + "tagName": "html", "properties": {}, "children": [ { - "type": "Str", - "value": "bar", + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], "loc": { "start": { "line": 1, - "column": 5 + "column": 0 }, "end": { - "line": 1, - "column": 8 + "line": 4, + "column": 0 } }, "range": [ - 5, - 8 + 0, + 59 ], - "raw": "bar" - } - ], - "loc": { - "start": { - "line": 1, - "column": 0 + "raw": "bar\nbar\nbar\n" }, - "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 + "type": "Html", + "tagName": "body", + "properties": {}, + "children": [ + { + "type": "Html", + "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" }, - "end": { - "line": 2, - "column": 8 + { + "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": "Html", + "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": "Html", + "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" } - }, - "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 + "line": 1, + "column": 0 }, "end": { - "line": 3, - "column": 8 + "line": 4, + "column": 0 } }, "range": [ - 39, - 42 + 0, + 59 ], - "raw": "bar" + "raw": "bar\nbar\nbar\n" } ], "loc": { "start": { - "line": 3, + "line": 1, "column": 0 }, - "end": { - "line": 3, - "column": 14 - } - }, - "range": [ - 34, - 48 - ], - "raw": "bar\n" + "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, diff --git a/test/ast-test-case/element-closing/index.json b/test/ast-test-case/element-closing/index.json index 7ad535e..a46d135 100644 --- a/test/ast-test-case/element-closing/index.json +++ b/test/ast-test-case/element-closing/index.json @@ -3,185 +3,373 @@ "children": [ { "type": "Html", - "tagName": "foo", + "tagName": "html", "properties": {}, "children": [ { - "type": "Str", - "value": "bar", + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], "loc": { "start": { "line": 1, - "column": 5 + "column": 0 }, "end": { - "line": 1, - "column": 8 + "line": 4, + "column": 0 } }, "range": [ - 5, - 8 + 0, + 45 ], - "raw": "bar" - } - ], - "loc": { - "start": { - "line": 1, - "column": 0 + "raw": "bar\nbar\nbar\n" }, - "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 + "type": "Html", + "tagName": "body", + "properties": {}, + "children": [ + { + "type": "Html", + "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" }, - "end": { - "line": 2, - "column": 8 + { + "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": "Html", + "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": "Html", + "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" } - }, - "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 + "line": 1, + "column": 0 }, "end": { - "line": 3, - "column": 8 + "line": 4, + "column": 0 } }, "range": [ - 35, - 38 + 0, + 45 ], - "raw": "bar" + "raw": "bar\nbar\nbar\n" } ], "loc": { "start": { - "line": 3, + "line": 1, "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, + 0, 45 ], - "raw": "\n" + "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, diff --git a/test/ast-test-case/element-empty/index.json b/test/ast-test-case/element-empty/index.json index 1660f71..8f14a7d 100644 --- a/test/ast-test-case/element-empty/index.json +++ b/test/ast-test-case/element-empty/index.json @@ -3,32 +3,121 @@ "children": [ { "type": "Html", - "tagName": "span", + "tagName": "html", "properties": {}, - "children": [], - "loc": { - "start": { - "line": 1, - "column": 0 + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 14 + ], + "raw": "\n" }, - "end": { - "line": 1, - "column": 13 + { + "type": "Html", + "tagName": "body", + "properties": {}, + "children": [ + { + "type": "Html", + "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" } - }, - "range": [ - 0, - 13 ], - "raw": "" - }, - { - "type": "Str", - "value": "\n", "loc": { "start": { "line": 1, - "column": 13 + "column": 0 }, "end": { "line": 2, @@ -36,12 +125,27 @@ } }, "range": [ - 13, + 0, 14 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 14 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/element-loose-close-document/index.json b/test/ast-test-case/element-loose-close-document/index.json index e941814..57a2813 100644 --- a/test/ast-test-case/element-loose-close-document/index.json +++ b/test/ast-test-case/element-loose-close-document/index.json @@ -3,134 +3,238 @@ "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", + "tagName": "html", "properties": {}, "children": [ { - "type": "Paragraph", - "tagName": "p", + "type": "Html", + "tagName": "head", "properties": {}, "children": [], "loc": { "start": { - "line": 6, - "column": 8 + "line": 1, + "column": 0 }, "end": { - "line": 6, - "column": 9 + "line": 7, + "column": 0 } }, "range": [ - 43, - 44 + 0, + 51 ], - "raw": ">" - } - ], - "loc": { - "start": { - "line": 6, - "column": 0 + "raw": "\n\n\n

                            \n\n

                            \n" }, - "end": { - "line": 6, - "column": 14 + { + "type": "Html", + "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": "Html", + "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": "Html", + "tagName": "div", + "properties": {}, + "children": [ + { + "type": "Html", + "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" } - }, - "range": [ - 35, - 49 ], - "raw": "

                            \n" + "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, diff --git a/test/ast-test-case/element-loose-close-fragment/index.json b/test/ast-test-case/element-loose-close-fragment/index.json index e941814..57a2813 100644 --- a/test/ast-test-case/element-loose-close-fragment/index.json +++ b/test/ast-test-case/element-loose-close-fragment/index.json @@ -3,134 +3,238 @@ "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", + "tagName": "html", "properties": {}, "children": [ { - "type": "Paragraph", - "tagName": "p", + "type": "Html", + "tagName": "head", "properties": {}, "children": [], "loc": { "start": { - "line": 6, - "column": 8 + "line": 1, + "column": 0 }, "end": { - "line": 6, - "column": 9 + "line": 7, + "column": 0 } }, "range": [ - 43, - 44 + 0, + 51 ], - "raw": ">" - } - ], - "loc": { - "start": { - "line": 6, - "column": 0 + "raw": "\n\n\n

                            \n\n

                            \n" }, - "end": { - "line": 6, - "column": 14 + { + "type": "Html", + "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": "Html", + "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": "Html", + "tagName": "div", + "properties": {}, + "children": [ + { + "type": "Html", + "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" } - }, - "range": [ - 35, - 49 ], - "raw": "

                            \n" + "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, diff --git a/test/ast-test-case/element-opening/index.json b/test/ast-test-case/element-opening/index.json index aba9410..e19a6c7 100644 --- a/test/ast-test-case/element-opening/index.json +++ b/test/ast-test-case/element-opening/index.json @@ -3,185 +3,373 @@ "children": [ { "type": "Html", - "tagName": "foo", + "tagName": "html", "properties": {}, "children": [ { - "type": "Str", - "value": "bar", + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], "loc": { "start": { "line": 1, - "column": 5 + "column": 0 }, "end": { - "line": 1, - "column": 8 + "line": 4, + "column": 0 } }, "range": [ - 5, - 8 + 0, + 45 ], - "raw": "bar" - } - ], - "loc": { - "start": { - "line": 1, - "column": 0 + "raw": "bar\nbar\nbar\n" }, - "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 + "type": "Html", + "tagName": "body", + "properties": {}, + "children": [ + { + "type": "Html", + "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" }, - "end": { - "line": 2, - "column": 8 + { + "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": "Html", + "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": "Html", + "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" } - }, - "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 + "line": 1, + "column": 0 }, "end": { - "line": 3, - "column": 8 + "line": 4, + "column": 0 } }, "range": [ - 35, - 38 + 0, + 45 ], - "raw": "bar" + "raw": "bar\nbar\nbar\n" } ], "loc": { "start": { - "line": 3, + "line": 1, "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, + 0, 45 ], - "raw": "\n" + "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, diff --git a/test/ast-test-case/element-void-close/index.json b/test/ast-test-case/element-void-close/index.json index 5fd2041..35c16a3 100644 --- a/test/ast-test-case/element-void-close/index.json +++ b/test/ast-test-case/element-void-close/index.json @@ -2,126 +2,266 @@ "type": "Document", "children": [ { - "type": "break", - "tagName": "br", + "type": "Html", + "tagName": "html", "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 + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 3, + "column": 0 + } + }, + "range": [ + 0, + 30 + ], + "raw": "
                            text
                            \ntext\n" }, - "end": { - "line": 1, - "column": 8 + { + "type": "Html", + "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": "Html", + "tagName": "br", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 3, + "column": 0 + } + }, + "range": [ + 0, + 30 + ], + "raw": "
                            text
                            \ntext\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
                            \ntext\n" } - }, - "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, + 0, 30 ], - "raw": "text\n" + "raw": "
                            text
                            \ntext\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 3, + "column": 1, + "offset": 30 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/element-void/index.json b/test/ast-test-case/element-void/index.json index 565b160..c447af9 100644 --- a/test/ast-test-case/element-void/index.json +++ b/test/ast-test-case/element-void/index.json @@ -1,584 +1,1009 @@ { "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": "\"foo\"" - }, - { - "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", + "tagName": "html", "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", + "tagName": "head", "properties": {}, "children": [], "loc": { "start": { - "line": 9, - "column": 11 + "line": 1, + "column": 0 }, "end": { - "line": 9, - "column": 19 + "line": 16, + "column": 0 } }, "range": [ - 130, - 138 + 0, + 283 ], - "raw": "" + "raw": "\"foo\"\n\n
                            \n\n

                            this
                            and that

                            \n\n

                            this
                            and that

                            \n\n\n\n\n\n\n\n\n" }, { "type": "Html", - "tagName": "g", + "tagName": "body", "properties": {}, "children": [ { - "type": "Html", - "tagName": "rect", - "properties": {}, + "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": 9, - "column": 22 + "line": 1, + "column": 0 }, "end": { - "line": 9, - "column": 28 + "line": 1, + "column": 60 } }, "range": [ - 141, - 147 + 0, + 60 ], - "raw": "" - } - ], - "loc": { - "start": { - "line": 9, - "column": 19 + "raw": "\"foo\"" }, - "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 + { + "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" }, - "end": { - "line": 11, - "column": 12 - } - }, - "range": [ - 160, - 167 - ], - "raw": "" - }, - { - "type": "Html", - "tagName": "circle", - "properties": {}, - "children": [], - "loc": { - "start": { - "line": 11, - "column": 12 + { + "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": "Html", + "tagName": "svg", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "path", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "circle", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "g", + "properties": {}, + "children": [ + { + "type": "Html", + "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": "Html", + "tagName": "svg", + "properties": {}, + "children": [ + { + "type": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "" }, - "end": { - "line": 11, - "column": 21 - } - }, - "range": [ - 167, - 176 - ], - "raw": "" - }, - { - "type": "Html", - "tagName": "g", - "properties": {}, - "children": [ { - "type": "Html", - "tagName": "rect", - "properties": {}, - "children": [], - "loc": { + "type": "Str", + "value": "\n\n", + "position": { "start": { "line": 11, - "column": 25 + "column": 39, + "offset": 193 }, "end": { + "line": 13, + "column": 1, + "offset": 195 + } + }, + "loc": { + "start": { "line": 11, - "column": 32 + "column": 38 + }, + "end": { + "line": 13, + "column": 0 } }, "range": [ - 180, - 187 + 193, + 195 ], - "raw": "" - } - ], - "loc": { - "start": { - "line": 11, - "column": 21 + "raw": "\n\n" }, - "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", + "tagName": "math", "properties": {}, "children": [ { "type": "Html", - "tagName": "malignmark", + "tagName": "mglyph", "properties": {}, - "children": [], + "children": [ + { + "type": "Html", + "tagName": "mspace", + "properties": {}, + "children": [ + { + "type": "Html", + "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": 22 + "column": 6 }, "end": { "line": 13, - "column": 41 + "column": 34 } }, "range": [ - 217, - 236 + 201, + 229 ], - "raw": "" + "raw": "" } ], + "position": { + "start": { + "line": 13, + "column": 1, + "offset": 195 + }, + "end": { + "line": 13, + "column": 42, + "offset": 236 + } + }, "loc": { "start": { "line": 13, - "column": 14 + "column": 0 }, "end": { "line": 13, @@ -586,84 +1011,130 @@ } }, "range": [ - 209, + 195, 236 ], - "raw": "" - } - ], - "loc": { - "start": { - "line": 13, - "column": 6 + "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" }, - "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", + "tagName": "math", "properties": {}, "children": [ + { + "type": "Html", + "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": "Html", + "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": "Html", "tagName": "malignmark", "properties": {}, "children": [], + "position": { + "start": { + "line": 15, + "column": 25, + "offset": 262 + }, + "end": { + "line": 15, + "column": 38, + "offset": 275 + } + }, "loc": { "start": { "line": 15, @@ -671,20 +1142,32 @@ }, "end": { "line": 15, - "column": 44 + "column": 37 } }, "range": [ 262, - 282 + 275 ], - "raw": "" + "raw": "" } ], + "position": { + "start": { + "line": 15, + "column": 1, + "offset": 238 + }, + "end": { + "line": 15, + "column": 45, + "offset": 282 + } + }, "loc": { "start": { "line": 15, - "column": 15 + "column": 0 }, "end": { "line": 15, @@ -692,65 +1175,92 @@ } }, "range": [ - 253, + 238, 282 ], - "raw": "" + "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": 15, - "column": 6 + "line": 1, + "column": 0 }, "end": { - "line": 15, - "column": 44 + "line": 16, + "column": 0 } }, "range": [ - 244, - 282 + 0, + 283 ], - "raw": "" + "raw": "\"foo\"\n\n
                            \n\n

                            this
                            and that

                            \n\n

                            this
                            and that

                            \n\n\n\n\n\n\n\n\n" } ], "loc": { "start": { - "line": 15, + "line": 1, "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, + 0, 283 ], - "raw": "\n" + "raw": "\"foo\"\n\n
                            \n\n

                            this
                            and that

                            \n\n

                            this
                            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, diff --git a/test/ast-test-case/element/index.json b/test/ast-test-case/element/index.json index 5ffc0b0..abc65b2 100644 --- a/test/ast-test-case/element/index.json +++ b/test/ast-test-case/element/index.json @@ -2,28 +2,148 @@ "type": "Document", "children": [ { - "type": "Strong", - "tagName": "strong", + "type": "Html", + "tagName": "html", "properties": {}, "children": [ { - "type": "Str", - "value": "Hello World.", + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], "loc": { "start": { "line": 1, - "column": 8 + "column": 0 }, "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 30 + ], + "raw": "Hello World.\n" + }, + { + "type": "Html", + "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": 20 + "column": 0 + }, + "end": { + "line": 2, + "column": 0 } }, "range": [ - 8, - 20 + 0, + 30 ], - "raw": "Hello World." + "raw": "Hello World.\n" } ], "loc": { @@ -31,37 +151,33 @@ "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, + 0, 30 ], - "raw": "\n" + "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, diff --git a/test/ast-test-case/empty-document/index.json b/test/ast-test-case/empty-document/index.json index 0aa8e04..d8ea16e 100644 --- a/test/ast-test-case/empty-document/index.json +++ b/test/ast-test-case/empty-document/index.json @@ -1,6 +1,84 @@ { "type": "Document", - "children": [], + "children": [ + { + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 0 + } + }, + "range": [ + 0, + 0 + ], + "raw": "" + }, + { + "type": "Html", + "tagName": "body", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 0 + } + }, + "range": [ + 0, + 0 + ], + "raw": "" + } + ], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 0 + } + }, + "range": [ + 0, + 0 + ], + "raw": "" + } + ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1 + }, + "end": { + "line": 1, + "column": 1 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/empty-fragment/index.json b/test/ast-test-case/empty-fragment/index.json index 0aa8e04..d8ea16e 100644 --- a/test/ast-test-case/empty-fragment/index.json +++ b/test/ast-test-case/empty-fragment/index.json @@ -1,6 +1,84 @@ { "type": "Document", - "children": [], + "children": [ + { + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 0 + } + }, + "range": [ + 0, + 0 + ], + "raw": "" + }, + { + "type": "Html", + "tagName": "body", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 0 + } + }, + "range": [ + 0, + 0 + ], + "raw": "" + } + ], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 0 + } + }, + "range": [ + 0, + 0 + ], + "raw": "" + } + ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1 + }, + "end": { + "line": 1, + "column": 1 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/entities-in-literals/index.json b/test/ast-test-case/entities-in-literals/index.json index 60705d9..98eb2c6 100644 --- a/test/ast-test-case/entities-in-literals/index.json +++ b/test/ast-test-case/entities-in-literals/index.json @@ -3,185 +3,373 @@ "children": [ { "type": "Html", - "tagName": "script", + "tagName": "html", "properties": {}, "children": [ { - "type": "CodeBlock", - "value": "\nif (12 > 13) {\n console.log('foo');\n}\n", - "loc": { - "start": { - "line": 1, - "column": 8 + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [ + { + "type": "Html", + "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": "" }, - "end": { - "line": 5, - "column": 0 + { + "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": "Html", + "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": "Html", + "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" } - }, - "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 + "line": 1, + "column": 0 }, "end": { - "line": 11, + "line": 18, "column": 0 } }, "range": [ - 69, - 160 + 0, + 218 ], - "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 + "raw": "\n\n\n\n\n" }, - "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", + "type": "Html", + "tagName": "body", + "properties": {}, + "children": [], "loc": { "start": { - "line": 13, - "column": 7 + "line": 1, + "column": 0 }, "end": { - "line": 17, + "line": 18, "column": 0 } }, "range": [ - 178, - 209 + 0, + 218 ], - "raw": "\nhtml > body {\n color: red;\n}\n" + "raw": "\n\n\n\n\n" } ], "loc": { "start": { - "line": 13, + "line": 1, "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, + 0, 218 ], - "raw": "\n" + "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, diff --git a/test/ast-test-case/entities/index.json b/test/ast-test-case/entities/index.json index c3f33cd..efbdea1 100644 --- a/test/ast-test-case/entities/index.json +++ b/test/ast-test-case/entities/index.json @@ -2,8 +2,85 @@ "type": "Document", "children": [ { - "type": "Str", - "value": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "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": "Html", + "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, @@ -21,6 +98,21 @@ "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, diff --git a/test/ast-test-case/list/index.json b/test/ast-test-case/list/index.json index 0554505..f343de3 100644 --- a/test/ast-test-case/list/index.json +++ b/test/ast-test-case/list/index.json @@ -2,374 +2,670 @@ "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": [ + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ { - "loc": { - "end": { - "column": 16, - "line": 2 + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 9, + "column": 0 + } }, - "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": "
                          3. first item
                          4. ", - "tagName": "li", - "type": "ListItem" - }, - { - "loc": { - "end": { - "column": 2, - "line": 3 + "range": [ + 0, + 116 + ], + "raw": "
                              \n
                            • first item
                            • \n
                            • second item
                            • \n
                            \n
                              \n
                            1. # first item
                            2. \n
                            3. # second item
                            4. \n
                            \n" }, - "start": { - "column": 21, - "line": 2 - } - }, - "range": [ - 26, - 29 - ], - "raw": "\n ", - "type": "Str", - "value": "\n " - }, - { - "children": [ { - "loc": { - "end": { - "column": 17, - "line": 3 + "type": "Html", + "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": "
                          5. first item
                          6. " + }, + { + "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": "
                          7. second item
                          8. " + }, + { + "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
                            " + }, + { + "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": "
                          9. # first item
                          10. " + }, + { + "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": "
                          11. # second item
                          12. " + }, + { + "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
                            1. # first item
                            2. \n
                            3. # second item
                            4. \n
                            " + }, + { + "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 + } }, - "start": { - "column": 6, - "line": 3 - } - }, - "range": [ - 33, - 44 - ], - "raw": "second item", - "type": "Str", - "value": "second item" + "range": [ + 0, + 116 + ], + "raw": "
                              \n
                            • first item
                            • \n
                            • second item
                            • \n
                            \n
                              \n
                            1. # first item
                            2. \n
                            3. # second item
                            4. \n
                            \n" } - ], - "loc": { - "end": { - "column": 22, - "line": 3 - }, + ], + "loc": { "start": { - "column": 2, - "line": 3 - } - }, - "properties": {}, - "range": [ - 29, - 49 - ], - "raw": "
                          13. second item
                          14. ", - "tagName": "li", - "type": "ListItem" - }, - { - "loc": { - "end": { - "column": 0, - "line": 4 + "line": 1, + "column": 0 }, - "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 + "line": 9, + "column": 0 } - }, - "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": "
                          15. # first item
                          16. ", - "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": "
                          17. # second item
                          18. ", - "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
                            1. # first item
                            2. \n
                            3. # second item
                            4. \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" + "range": [ + 0, + 116 + ], + "raw": "
                              \n
                            • first item
                            • \n
                            • second item
                            • \n
                            \n
                              \n
                            1. # first item
                            2. \n
                            3. # second item
                            4. \n
                            \n" } ], - "loc": { - "end": { - "column": 0, - "line": 9 + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 }, + "end": { + "line": 9, + "column": 1, + "offset": 116 + } + }, + "loc": { "start": { - "column": 0, - "line": 1 + "line": 1, + "column": 0 + }, + "end": { + "line": 9, + "column": 0 } }, "range": [ @@ -377,4 +673,4 @@ 116 ], "raw": "
                              \n
                            • first item
                            • \n
                            • second item
                            • \n
                            \n
                              \n
                            1. # first item
                            2. \n
                            3. # second item
                            4. \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 index 3b8f460..78f8157 100644 --- a/test/ast-test-case/processing-instruction/index.json +++ b/test/ast-test-case/processing-instruction/index.json @@ -2,9 +2,20 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "?xml", + "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, @@ -22,12 +33,57 @@ "raw": "" }, { - "type": "Str", - "value": "\n", + "type": "Html", + "tagName": "html", + "properties": {}, + "children": [ + { + "type": "Html", + "tagName": "head", + "properties": {}, + "children": [], + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 0 + } + }, + "range": [ + 0, + 39 + ], + "raw": "\n" + }, + { + "type": "Html", + "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": 38 + "column": 0 }, "end": { "line": 2, @@ -35,12 +91,27 @@ } }, "range": [ - 38, + 0, 39 ], - "raw": "\n" + "raw": "\n" } ], + "data": { + "quirksMode": true + }, + "position": { + "start": { + "line": 1, + "column": 1, + "offset": 0 + }, + "end": { + "line": 2, + "column": 1, + "offset": 39 + } + }, "loc": { "start": { "line": 1, diff --git a/test/ast-test-case/quirksmode-off/index.json b/test/ast-test-case/quirksmode-off/index.json index 054a230..3f6c846 100644 --- a/test/ast-test-case/quirksmode-off/index.json +++ b/test/ast-test-case/quirksmode-off/index.json @@ -2,140 +2,216 @@ "type": "Document", "children": [ { - "type": "UNKNOWN", - "name": "!doctype", - "value": "!doctype html", - "loc": { + "type": "Html", + "position": { "start": { "line": 1, - "column": 0 + "column": 1, + "offset": 0 }, "end": { "line": 1, - "column": 15 + "column": 16, + "offset": 15 } }, - "range": [ - 0, - 15 - ], - "raw": "" - }, - { - "type": "Str", - "value": "\n", "loc": { "start": { "line": 1, - "column": 15 + "column": 0 }, "end": { - "line": 2, - "column": 0 + "line": 1, + "column": 15 } }, "range": [ - 15, - 16 + 0, + 15 ], - "raw": "\n" + "raw": "" }, { "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", + "tagName": "head", "properties": {}, "children": [ { - "type": "Str", - "value": "Not-Quirksmode", + "type": "Html", + "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": 7 + "column": 0 }, "end": { "line": 3, - "column": 21 + "column": 29 } }, "range": [ - 30, - 44 + 23, + 52 ], - "raw": "Not-Quirksmode" - } - ], - "loc": { - "start": { - "line": 3, - "column": 0 + "raw": "Not-Quirksmode" }, - "end": { - "line": 3, - "column": 29 + { + "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" } - }, - "range": [ - 23, - 52 ], - "raw": "Not-Quirksmode" - }, - { - "type": "Str", - "value": "\n", "loc": { "start": { - "line": 3, - "column": 29 + "line": 2, + "column": 0 }, "end": { - "line": 4, + "line": 6, "column": 0 } }, "range": [ - 52, - 53 + 16, + 143 ], - "raw": "\n" + "raw": "\nNot-Quirksmode\n

                            Outside of quirksmode, the following table is outside this paragraph:\n!
                            \n" }, { - "type": "Paragraph", - "tagName": "p", + "type": "Html", + "tagName": "body", "properties": {}, "children": [ { - "type": "Str", - "value": "Outside of quirksmode, the following table is outside this paragraph:\n", + "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": 3 + "column": 0 }, "end": { "line": 5, @@ -143,36 +219,59 @@ } }, "range": [ - 56, + 53, 126 ], - "raw": "Outside of quirksmode, the following table is outside this paragraph:\n" + "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": "Html", "tagName": "table", "properties": {}, - "children": [ - { - "type": "Str", - "value": "!", - "loc": { - "start": { - "line": 5, - "column": 7 - }, - "end": { - "line": 5, - "column": 8 - } - }, - "range": [ - 133, - 134 - ], - "raw": "!" + "children": [], + "position": { + "start": { + "line": 5, + "column": 1, + "offset": 126 + }, + "end": { + "line": 5, + "column": 17, + "offset": 142 } - ], + }, "loc": { "start": { "line": 5, @@ -192,6 +291,18 @@ { "type": "Str", "value": "\n", + "position": { + "start": { + "line": 5, + "column": 17, + "offset": 142 + }, + "end": { + "line": 6, + "column": 1, + "offset": 143 + } + }, "loc": { "start": { "line": 5, @@ -211,21 +322,33 @@ ], "loc": { "start": { - "line": 4, + "line": 2, "column": 0 }, "end": { "line": 6, - "column": 1 + "column": 0 } }, "range": [ - 53, - 144 + 16, + 143 ], - "raw": "

                            Outside of quirksmode, the following table is outside this paragraph:\n!
                            \n" + "raw": "\nNot-Quirksmode\n

                            Outside 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, @@ -233,16 +356,31 @@ }, "end": { "line": 6, - "column": 1 + "column": 0 } }, "range": [ 16, - 144 + 143 ], "raw": "\nNot-Quirksmode\n

                            Outside 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, diff --git a/test/ast-test-case/quirksmode-on/index.json b/test/ast-test-case/quirksmode-on/index.json index 51b77d8..9eb1214 100644 --- a/test/ast-test-case/quirksmode-on/index.json +++ b/test/ast-test-case/quirksmode-on/index.json @@ -6,121 +6,153 @@ "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", + "tagName": "head", "properties": {}, "children": [ { - "type": "Str", - "value": "Quirksmode", + "type": "Html", + "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": 7 + "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": 17 + "column": 25 + }, + "end": { + "line": 3, + "column": 0 } }, "range": [ - 14, - 24 + 32, + 33 ], - "raw": "Quirksmode" + "raw": "\n" } ], "loc": { "start": { - "line": 2, + "line": 1, "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, + "line": 5, "column": 0 } }, "range": [ - 32, - 33 + 0, + 110 ], - "raw": "\n" + "raw": "\nQuirksmode\n

                            In quirksmode, the following table is in this paragraph:\n!
                            \n" }, { - "type": "Paragraph", - "tagName": "p", + "type": "Html", + "tagName": "body", "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", + "type": "Paragraph", + "tagName": "p", "properties": {}, "children": [ { "type": "Str", - "value": "!", - "loc": { + "value": "In quirksmode, the following table is in this paragraph:\n!", + "position": { "start": { + "line": 3, + "column": 4, + "offset": 36 + }, + "end": { "line": 4, - "column": 7 + "column": 9, + "offset": 101 + } + }, + "loc": { + "start": { + "line": 3, + "column": 3 }, "end": { "line": 4, @@ -128,35 +160,92 @@ } }, "range": [ - 100, + 36, 101 ], - "raw": "!" + "raw": "In quirksmode, the following table is in this paragraph:\n!" + }, + { + "type": "Html", + "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" } ], - "loc": { + "position": { "start": { - "line": 4, - "column": 0 + "line": 3, + "column": 1, + "offset": 33 }, "end": { - "line": 4, - "column": 16 + "line": 5, + "column": 1, + "offset": 110 } }, - "range": [ - 93, - 109 - ], - "raw": "!
                            " - }, - { - "type": "Str", - "value": "\n", "loc": { "start": { - "line": 4, - "column": 16 + "line": 3, + "column": 0 }, "end": { "line": 5, @@ -164,29 +253,41 @@ } }, "range": [ - 109, + 33, 110 ], - "raw": "\n" + "raw": "

                            In quirksmode, the following table is in this paragraph:\n!
                            \n" } ], "loc": { "start": { - "line": 3, + "line": 1, "column": 0 }, "end": { "line": 5, - "column": 1 + "column": 0 } }, "range": [ - 33, - 111 + 0, + 110 ], - "raw": "

                            In quirksmode, the following table is in this paragraph:\n!
                            \n" + "raw": "\nQuirksmode\n

                            In 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, @@ -194,16 +295,31 @@ }, "end": { "line": 5, - "column": 1 + "column": 0 } }, "range": [ 0, - 111 + 110 ], "raw": "\nQuirksmode\n

                            In 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, 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/verbose/index.json b/test/ast-test-case/verbose/index.json index ba756ba..e52cda6 100644 --- a/test/ast-test-case/verbose/index.json +++ b/test/ast-test-case/verbose/index.json @@ -2,140 +2,288 @@ "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", + "type": "Html", + "tagName": "html", "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", + "tagName": "head", "properties": {}, "children": [], "loc": { "start": { - "line": 3, + "line": 1, "column": 0 }, "end": { - "line": 3, - "column": 11 - } - }, - "range": [ - 22, - 33 - ], - "raw": "
                            " - }, - { - "type": "Str", - "value": "\n", - "loc": { - "start": { - "line": 3, - "column": 11 - }, - "end": { - "line": 4, + "line": 5, "column": 0 } }, "range": [ - 33, - 34 + 0, + 40 ], - "raw": "\n" + "raw": "\n

                            \n

                            \n
                            \n" }, { - "type": "break", - "tagName": "br", + "type": "Html", + "tagName": "body", "properties": {}, - "children": [], - "loc": { - "start": { - "line": 4, - "column": 4 + "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": "" }, - "end": { - "line": 4, - "column": 5 + { + "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": "Html", + "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": "Html", + "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" } - }, - "range": [ - 38, - 39 ], - "raw": ">" - }, - { - "type": "Str", - "value": "\n", "loc": { "start": { - "line": 4, - "column": 4 + "line": 1, + "column": 0 }, "end": { "line": 5, @@ -143,29 +291,44 @@ } }, "range": [ - 38, + 0, 40 ], - "raw": ">\n" + "raw": "\n

                            \n

                            \n
                            \n" } ], "loc": { "start": { - "line": 2, + "line": 1, "column": 0 }, "end": { "line": 5, - "column": 1 + "column": 0 } }, "range": [ - 18, - 41 + 0, + 40 ], - "raw": "

                            \n

                            \n
                            \n" + "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, diff --git a/test/html-to-ast-test.js b/test/html-to-ast-test.js index 43c9506..cc523d9 100644 --- a/test/html-to-ast-test.js +++ b/test/html-to-ast-test.js @@ -6,10 +6,36 @@ import path from "path"; import { test } from "@textlint/ast-tester"; import { parse } from "../src/html-to-ast.js"; import { fileURLToPath } from "url"; + const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const fixturesDir = path.join(__dirname, "ast-test-case"); +const dumpTreeView = (node, depth = 0) => { + let output = ""; + const indent = " ".repeat(depth * 2); + if (!node.type) { + console.error(node); + } + output += `${indent}${node.type}(${node._debug_type})\n`; + if (node.children) { + node.children.forEach(child => { + output += dumpTreeView(child, depth + 1); + }); + } + return output; +} +const assertUndefinedType = (node) => { + if (!"type" in node) { + console.error(node); + throw new Error(`Unknown type: ${node._debug_type}`); + } + if (node.children) { + node.children.forEach(child => { + assertUndefinedType(child); + }); + } +} // test-case is come from https://github.com/wooorm/rehype describe("Snapshot testing", () => { fs.readdirSync(fixturesDir) @@ -19,17 +45,24 @@ describe("Snapshot testing", () => { const fixtureDir = path.join(fixturesDir, caseName); const actualFilePath = path.join(fixtureDir, "index.html"); const actualContent = fs.readFileSync(actualFilePath, "utf-8"); - const actual = parse(actualContent); + const actual = parse(actualContent, { + debug: true + }); const expectedFilePath = path.join(fixtureDir, "index.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, actual); + 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 = fs.readFileSync(expectedFilePath, "utf-8"); + const expectedContent = JSON.parse(fs.readFileSync(expectedFilePath, "utf-8")); assert.deepStrictEqual( actual, expectedContent From c3eab328d94151bca1eaa69f1dd7498a94d17102 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 19:45:03 +0900 Subject: [PATCH 07/23] test: test dump --- test/ast-test-case/adoption/output-tree.txt | 12 + .../body-body-attributes/output-tree.txt | 5 + .../body-html-attributes/output-tree.txt | 5 + .../character-data/output-tree.txt | 31 + test/ast-test-case/comment/output-tree.txt | 6 + test/ast-test-case/comments/output-tree.txt | 20 + .../directive-in-fragment/output-tree.txt | 5 + .../doctype-almost-standards/output-tree.txt | 5 + .../doctype-legacy-double/output-tree.txt | 5 + .../doctype-legacy-single/output-tree.txt | 5 + .../doctype-nameless/output-tree.txt | 5 + .../doctype-quirksmode-ibm/output-tree.txt | 5 + .../doctype-quirksmode-xml/output-tree.txt | 5 + .../doctype-quotes-double/output-tree.txt | 5 + .../doctype-quotes-single/output-tree.txt | 5 + test/ast-test-case/doctype/output-tree.txt | 5 + .../element-attributes-names/output-tree.txt | 12 + .../element-attributes/output-tree.txt | 109 ++++ .../output-tree.txt | 20 + .../output-tree.txt | 20 + .../element-broken-close/output-tree.txt | 5 + .../element-children/output-tree.txt | 15 + .../output-tree.txt | 13 + .../element-closing/output-tree.txt | 13 + .../element-empty/output-tree.txt | 6 + .../output-tree.txt | 10 + .../output-tree.txt | 10 + .../element-opening/output-tree.txt | 13 + .../element-void-close/output-tree.txt | 10 + .../element-void/output-tree.txt | 40 ++ test/ast-test-case/element/output-tree.txt | 7 + .../empty-document/output-tree.txt | 4 + .../empty-fragment/output-tree.txt | 4 + .../entities-in-literals/output-tree.txt | 13 + test/ast-test-case/entities/output-tree.txt | 5 + test/ast-test-case/list/output-tree.txt | 22 + .../processing-instruction/output-tree.txt | 5 + .../quirksmode-off/output-tree.txt | 13 + .../quirksmode-on/output-tree.txt | 11 + test/ast-test-case/test/index.json | 616 ++++++++++++++++++ test/ast-test-case/test/output-tree.txt | 19 + test/ast-test-case/verbose/output-tree.txt | 12 + 42 files changed, 1156 insertions(+) create mode 100644 test/ast-test-case/adoption/output-tree.txt create mode 100644 test/ast-test-case/body-body-attributes/output-tree.txt create mode 100644 test/ast-test-case/body-html-attributes/output-tree.txt create mode 100644 test/ast-test-case/character-data/output-tree.txt create mode 100644 test/ast-test-case/comment/output-tree.txt create mode 100644 test/ast-test-case/comments/output-tree.txt create mode 100644 test/ast-test-case/directive-in-fragment/output-tree.txt create mode 100644 test/ast-test-case/doctype-almost-standards/output-tree.txt create mode 100644 test/ast-test-case/doctype-legacy-double/output-tree.txt create mode 100644 test/ast-test-case/doctype-legacy-single/output-tree.txt create mode 100644 test/ast-test-case/doctype-nameless/output-tree.txt create mode 100644 test/ast-test-case/doctype-quirksmode-ibm/output-tree.txt create mode 100644 test/ast-test-case/doctype-quirksmode-xml/output-tree.txt create mode 100644 test/ast-test-case/doctype-quotes-double/output-tree.txt create mode 100644 test/ast-test-case/doctype-quotes-single/output-tree.txt create mode 100644 test/ast-test-case/doctype/output-tree.txt create mode 100644 test/ast-test-case/element-attributes-names/output-tree.txt create mode 100644 test/ast-test-case/element-attributes/output-tree.txt create mode 100644 test/ast-test-case/element-auto-close-document/output-tree.txt create mode 100644 test/ast-test-case/element-auto-close-fragment/output-tree.txt create mode 100644 test/ast-test-case/element-broken-close/output-tree.txt create mode 100644 test/ast-test-case/element-children/output-tree.txt create mode 100644 test/ast-test-case/element-closing-attributes/output-tree.txt create mode 100644 test/ast-test-case/element-closing/output-tree.txt create mode 100644 test/ast-test-case/element-empty/output-tree.txt create mode 100644 test/ast-test-case/element-loose-close-document/output-tree.txt create mode 100644 test/ast-test-case/element-loose-close-fragment/output-tree.txt create mode 100644 test/ast-test-case/element-opening/output-tree.txt create mode 100644 test/ast-test-case/element-void-close/output-tree.txt create mode 100644 test/ast-test-case/element-void/output-tree.txt create mode 100644 test/ast-test-case/element/output-tree.txt create mode 100644 test/ast-test-case/empty-document/output-tree.txt create mode 100644 test/ast-test-case/empty-fragment/output-tree.txt create mode 100644 test/ast-test-case/entities-in-literals/output-tree.txt create mode 100644 test/ast-test-case/entities/output-tree.txt create mode 100644 test/ast-test-case/list/output-tree.txt create mode 100644 test/ast-test-case/processing-instruction/output-tree.txt create mode 100644 test/ast-test-case/quirksmode-off/output-tree.txt create mode 100644 test/ast-test-case/quirksmode-on/output-tree.txt create mode 100644 test/ast-test-case/test/index.json create mode 100644 test/ast-test-case/test/output-tree.txt create mode 100644 test/ast-test-case/verbose/output-tree.txt 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..67e4b36 --- /dev/null +++ b/test/ast-test-case/adoption/output-tree.txt @@ -0,0 +1,12 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Link(element) + Html(element) + Html(element) + Html(element) + Html(element) + Paragraph(element) + Html(element) + Str(text) 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..6b015c0 --- /dev/null +++ b/test/ast-test-case/body-body-attributes/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Str(text) 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..6b015c0 --- /dev/null +++ b/test/ast-test-case/body-html-attributes/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Str(text) 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..32215ee --- /dev/null +++ b/test/ast-test-case/character-data/output-tree.txt @@ -0,0 +1,31 @@ +Document(root) + Comment(comment) + Comment(comment) + Html(element) + Html(element) + Html(element) + Str(text) + Comment(comment) + Str(text) + Paragraph(element) + Str(text) + Str(text) + Html(element) + Str(text) + Html(element) + Comment(comment) + Str(text) + Html(element) + Str(text) + Str(text) + Html(element) + Str(text) + Str(text) + Html(element) + Str(text) + Str(text) + Html(element) + Comment(comment) + Str(text) + Str(text) + Str(text) 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..72e4504 --- /dev/null +++ b/test/ast-test-case/comment/output-tree.txt @@ -0,0 +1,6 @@ +Document(root) + Comment(comment) + Comment(comment) + Html(element) + Html(element) + Html(element) 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..369a1c4 --- /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) + Html(element) + Html(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/directive-in-fragment/output-tree.txt b/test/ast-test-case/directive-in-fragment/output-tree.txt new file mode 100644 index 0000000..1aab8bf --- /dev/null +++ b/test/ast-test-case/directive-in-fragment/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) 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..1aab8bf --- /dev/null +++ b/test/ast-test-case/doctype-almost-standards/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) 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..1aab8bf --- /dev/null +++ b/test/ast-test-case/doctype-legacy-double/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) 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..1aab8bf --- /dev/null +++ b/test/ast-test-case/doctype-legacy-single/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) 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..1aab8bf --- /dev/null +++ b/test/ast-test-case/doctype-nameless/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) 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..1aab8bf --- /dev/null +++ b/test/ast-test-case/doctype-quirksmode-ibm/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) 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..a86012e --- /dev/null +++ b/test/ast-test-case/doctype-quirksmode-xml/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Comment(comment) + Html(element) + Html(element) + Html(element) 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..1aab8bf --- /dev/null +++ b/test/ast-test-case/doctype-quotes-double/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) 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..1aab8bf --- /dev/null +++ b/test/ast-test-case/doctype-quotes-single/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) 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..1aab8bf --- /dev/null +++ b/test/ast-test-case/doctype/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) 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..492690d --- /dev/null +++ b/test/ast-test-case/element-attributes-names/output-tree.txt @@ -0,0 +1,12 @@ +Document(root) + Html(element) + Html(element) + Html(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/output-tree.txt b/test/ast-test-case/element-attributes/output-tree.txt new file mode 100644 index 0000000..6c41098 --- /dev/null +++ b/test/ast-test-case/element-attributes/output-tree.txt @@ -0,0 +1,109 @@ +Document(root) + Comment(comment) + Html(element) + Html(element) + Html(element) + Link(element) + Str(text) + Comment(comment) + Str(text) + Html(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) + Html(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) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Comment(comment) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Html(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) + Html(element) + Str(text) + Comment(comment) + Str(text) + Link(element) + Str(text) + Str(text) 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..f0725bc --- /dev/null +++ b/test/ast-test-case/element-auto-close-document/output-tree.txt @@ -0,0 +1,20 @@ +Document(root) + Html(element) + Html(element) + Str(text) + Html(element) + Str(text) + Str(text) + Html(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-tree.txt b/test/ast-test-case/element-auto-close-fragment/output-tree.txt new file mode 100644 index 0000000..f0725bc --- /dev/null +++ b/test/ast-test-case/element-auto-close-fragment/output-tree.txt @@ -0,0 +1,20 @@ +Document(root) + Html(element) + Html(element) + Str(text) + Html(element) + Str(text) + Str(text) + Html(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-broken-close/output-tree.txt b/test/ast-test-case/element-broken-close/output-tree.txt new file mode 100644 index 0000000..6b015c0 --- /dev/null +++ b/test/ast-test-case/element-broken-close/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Str(text) 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..05e4c68 --- /dev/null +++ b/test/ast-test-case/element-children/output-tree.txt @@ -0,0 +1,15 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Html(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-closing-attributes/output-tree.txt b/test/ast-test-case/element-closing-attributes/output-tree.txt new file mode 100644 index 0000000..1ff67f0 --- /dev/null +++ b/test/ast-test-case/element-closing-attributes/output-tree.txt @@ -0,0 +1,13 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Html(element) + Str(text) + Str(text) + Html(element) + Str(text) + Str(text) + Html(element) + Str(text) + Str(text) 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..1ff67f0 --- /dev/null +++ b/test/ast-test-case/element-closing/output-tree.txt @@ -0,0 +1,13 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Html(element) + Str(text) + Str(text) + Html(element) + Str(text) + Str(text) + Html(element) + Str(text) + Str(text) 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..6792f44 --- /dev/null +++ b/test/ast-test-case/element-empty/output-tree.txt @@ -0,0 +1,6 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Html(element) + Str(text) 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..a84ab06 --- /dev/null +++ b/test/ast-test-case/element-loose-close-document/output-tree.txt @@ -0,0 +1,10 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Html(element) + Str(text) 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..a84ab06 --- /dev/null +++ b/test/ast-test-case/element-loose-close-fragment/output-tree.txt @@ -0,0 +1,10 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Html(element) + Str(text) 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..1ff67f0 --- /dev/null +++ b/test/ast-test-case/element-opening/output-tree.txt @@ -0,0 +1,13 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Html(element) + Str(text) + Str(text) + Html(element) + Str(text) + Str(text) + Html(element) + Str(text) + Str(text) 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..e6c61b5 --- /dev/null +++ b/test/ast-test-case/element-void-close/output-tree.txt @@ -0,0 +1,10 @@ +Document(root) + Html(element) + Html(element) + Html(element) + break(element) + Str(text) + Html(element) + Str(text) + Image(element) + Str(text) 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..9e8b9c0 --- /dev/null +++ b/test/ast-test-case/element-void/output-tree.txt @@ -0,0 +1,40 @@ +Document(root) + Html(element) + Html(element) + Html(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) + Html(element) + Html(element) + Html(element) + Html(element) + Html(element) + Str(text) + Html(element) + Html(element) + Html(element) + Html(element) + Html(element) + Str(text) + Html(element) + Html(element) + Html(element) + Html(element) + Str(text) + Html(element) + Html(element) + Html(element) + Html(element) + Str(text) 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..8760861 --- /dev/null +++ b/test/ast-test-case/element/output-tree.txt @@ -0,0 +1,7 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Strong(element) + Str(text) + Str(text) 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..a423bef --- /dev/null +++ b/test/ast-test-case/empty-document/output-tree.txt @@ -0,0 +1,4 @@ +Document(root) + Html(element) + Html(element) + Html(element) 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..a423bef --- /dev/null +++ b/test/ast-test-case/empty-fragment/output-tree.txt @@ -0,0 +1,4 @@ +Document(root) + Html(element) + Html(element) + Html(element) 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..614f636 --- /dev/null +++ b/test/ast-test-case/entities-in-literals/output-tree.txt @@ -0,0 +1,13 @@ +Document(root) + Html(element) + Html(element) + Html(element) + CodeBlock(text) + Str(text) + Html(element) + CodeBlock(text) + Str(text) + Html(element) + CodeBlock(text) + Str(text) + Html(element) 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..6b015c0 --- /dev/null +++ b/test/ast-test-case/entities/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Str(text) 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..cdeec47 --- /dev/null +++ b/test/ast-test-case/list/output-tree.txt @@ -0,0 +1,22 @@ +Document(root) + Html(element) + Html(element) + Html(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/processing-instruction/output-tree.txt b/test/ast-test-case/processing-instruction/output-tree.txt new file mode 100644 index 0000000..a86012e --- /dev/null +++ b/test/ast-test-case/processing-instruction/output-tree.txt @@ -0,0 +1,5 @@ +Document(root) + Comment(comment) + Html(element) + Html(element) + Html(element) 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..66c63a1 --- /dev/null +++ b/test/ast-test-case/quirksmode-off/output-tree.txt @@ -0,0 +1,13 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Html(element) + Str(text) + Str(text) + Html(element) + Paragraph(element) + Str(text) + Str(text) + Html(element) + Str(text) 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..9c15c47 --- /dev/null +++ b/test/ast-test-case/quirksmode-on/output-tree.txt @@ -0,0 +1,11 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Str(text) + Str(text) + Html(element) + Paragraph(element) + Str(text) + Html(element) + Str(text) diff --git a/test/ast-test-case/test/index.json b/test/ast-test-case/test/index.json new file mode 100644 index 0000000..8dff0b2 --- /dev/null +++ b/test/ast-test-case/test/index.json @@ -0,0 +1,616 @@ +{ + "type": "Document", + "children": [ + { + "type": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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": "Html", + "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/test/output-tree.txt b/test/ast-test-case/test/output-tree.txt new file mode 100644 index 0000000..e5b98cb --- /dev/null +++ b/test/ast-test-case/test/output-tree.txt @@ -0,0 +1,19 @@ +Document(root) + Html(doctype) + Html(element) + Html(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Str(text) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) + Paragraph(element) + Str(text) + Str(text) + Str(text) 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..70f30fb --- /dev/null +++ b/test/ast-test-case/verbose/output-tree.txt @@ -0,0 +1,12 @@ +Document(root) + Html(element) + Html(element) + Html(element) + Image(element) + Str(text) + Paragraph(element) + Str(text) + Html(element) + Str(text) + Html(element) + Str(text) From 106d50d09fb77dc75122e8d8a6d8816481e35a2d Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 19:59:31 +0900 Subject: [PATCH 08/23] fix: do not use Html --- src/html-to-ast.ts | 31 +++---- src/mapping.ts | 19 ----- test/ast-test-case/adoption/index.json | 16 ++-- test/ast-test-case/adoption/output-tree.txt | 16 ++-- .../body-body-attributes/index.json | 6 +- .../body-body-attributes/output-tree.txt | 6 +- .../body-html-attributes/index.json | 6 +- .../body-html-attributes/output-tree.txt | 6 +- test/ast-test-case/character-data/index.json | 18 ++-- .../character-data/output-tree.txt | 18 ++-- test/ast-test-case/comment/index.json | 6 +- test/ast-test-case/comment/output-tree.txt | 6 +- test/ast-test-case/comments/index.json | 6 +- test/ast-test-case/comments/output-tree.txt | 6 +- .../directive-in-fragment/index.json | 8 +- .../directive-in-fragment/output-tree.txt | 8 +- .../doctype-almost-standards/index.json | 8 +- .../doctype-almost-standards/output-tree.txt | 8 +- .../doctype-legacy-double/index.json | 8 +- .../doctype-legacy-double/output-tree.txt | 8 +- .../doctype-legacy-single/index.json | 8 +- .../doctype-legacy-single/output-tree.txt | 8 +- .../ast-test-case/doctype-nameless/index.json | 8 +- .../doctype-nameless/output-tree.txt | 8 +- .../doctype-quirksmode-ibm/index.json | 8 +- .../doctype-quirksmode-ibm/output-tree.txt | 8 +- .../doctype-quirksmode-xml/index.json | 6 +- .../doctype-quirksmode-xml/output-tree.txt | 6 +- .../doctype-quotes-double/index.json | 8 +- .../doctype-quotes-double/output-tree.txt | 8 +- .../doctype-quotes-single/index.json | 8 +- .../doctype-quotes-single/output-tree.txt | 8 +- test/ast-test-case/doctype/index.json | 8 +- test/ast-test-case/doctype/output-tree.txt | 8 +- .../element-attributes-names/index.json | 6 +- .../element-attributes-names/output-tree.txt | 6 +- .../element-attributes/index.json | 38 ++++----- .../element-attributes/output-tree.txt | 38 ++++----- .../element-auto-close-document/index.json | 8 +- .../output-tree.txt | 8 +- .../element-auto-close-fragment/index.json | 8 +- .../output-tree.txt | 8 +- .../element-broken-close/index.json | 6 +- .../element-broken-close/output-tree.txt | 6 +- .../ast-test-case/element-children/index.json | 8 +- .../element-children/output-tree.txt | 8 +- .../element-closing-attributes/index.json | 12 +-- .../output-tree.txt | 12 +-- test/ast-test-case/element-closing/index.json | 12 +-- .../element-closing/output-tree.txt | 12 +-- test/ast-test-case/element-empty/index.json | 8 +- .../element-empty/output-tree.txt | 8 +- .../element-loose-close-document/index.json | 12 +-- .../output-tree.txt | 12 +-- .../element-loose-close-fragment/index.json | 12 +-- .../output-tree.txt | 12 +-- test/ast-test-case/element-opening/index.json | 12 +-- .../element-opening/output-tree.txt | 12 +-- .../element-void-close/index.json | 8 +- .../element-void-close/output-tree.txt | 8 +- test/ast-test-case/element-void/index.json | 42 +++++----- .../element-void/output-tree.txt | 48 +++++------ test/ast-test-case/element/index.json | 6 +- test/ast-test-case/element/output-tree.txt | 6 +- test/ast-test-case/empty-document/index.json | 84 ++----------------- .../empty-document/output-tree.txt | 6 +- test/ast-test-case/empty-fragment/index.json | 84 ++----------------- .../empty-fragment/output-tree.txt | 6 +- .../entities-in-literals/index.json | 12 +-- .../entities-in-literals/output-tree.txt | 12 +-- test/ast-test-case/entities/index.json | 6 +- test/ast-test-case/entities/output-tree.txt | 6 +- test/ast-test-case/list/index.json | 6 +- test/ast-test-case/list/output-tree.txt | 6 +- .../processing-instruction/index.json | 6 +- .../processing-instruction/output-tree.txt | 6 +- test/ast-test-case/quirksmode-off/index.json | 12 +-- .../quirksmode-off/output-tree.txt | 12 +-- test/ast-test-case/quirksmode-on/index.json | 10 +-- .../quirksmode-on/output-tree.txt | 10 +-- test/ast-test-case/test/index.json | 14 ++-- test/ast-test-case/test/output-tree.txt | 14 ++-- test/ast-test-case/verbose/index.json | 10 +-- test/ast-test-case/verbose/output-tree.txt | 10 +-- 84 files changed, 446 insertions(+), 610 deletions(-) diff --git a/src/html-to-ast.ts b/src/html-to-ast.ts index 7d070a1..d716340 100644 --- a/src/html-to-ast.ts +++ b/src/html-to-ast.ts @@ -5,7 +5,7 @@ import rehypeParse from 'rehype-parse' import traverse, { TraverseContext } from "traverse"; import { StructuredSource } from "structured-source"; import { nodeTypes, tagNameToType } from "./mapping.js"; -import { Element } from "hast"; +import { Element, RootContent } from "hast"; /** * Remove undocumented properties on TxtNode from node @@ -22,30 +22,34 @@ import { Element } from "hast"; // }); // } -function mapNodeType(node: Element, parent: TraverseContext | undefined) { +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.tagName && node.type === "element") { + if (node.type === "element") { // @ts-expect-error: tagName is string const mappedType = tagNameToType[node.tagName]; if (mappedType) { // p => Paragraph... return mappedType; } else { - // other element is "Html" - return "Html"; + // 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]; } - // It is not defined in textlint's AST - return "Html"; + // 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 = { @@ -81,20 +85,11 @@ export function parse(html: string, options?: ParseOptions) { } // avoid conflict // AST node has type and position - if (node.type && node.position) { + if (node.type) { // 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 as "root"]; - 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 } - }; } else { - node.type = "Html" as const; + // node.type = "Html" as const; } // map `range`, `loc` and `raw` to node if (typeof node.position === "object") { diff --git a/src/mapping.ts b/src/mapping.ts index f9452c3..d3fd16c 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -18,25 +18,6 @@ export const tagNameToType = { 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' } as const; diff --git a/test/ast-test-case/adoption/index.json b/test/ast-test-case/adoption/index.json index a4b403a..264885c 100644 --- a/test/ast-test-case/adoption/index.json +++ b/test/ast-test-case/adoption/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "

                            \n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -38,12 +38,12 @@ "properties": {}, "children": [ { - "type": "Html", + "type": "b", "tagName": "b", "properties": {}, "children": [ { - "type": "Html", + "type": "b", "tagName": "b", "properties": {}, "children": [], @@ -134,12 +134,12 @@ "raw": "" }, { - "type": "Html", + "type": "b", "tagName": "b", "properties": {}, "children": [ { - "type": "Html", + "type": "b", "tagName": "b", "properties": {}, "children": [ @@ -149,7 +149,7 @@ "properties": {}, "children": [ { - "type": "Html", + "type": "Link", "tagName": "a", "properties": {}, "children": [], diff --git a/test/ast-test-case/adoption/output-tree.txt b/test/ast-test-case/adoption/output-tree.txt index 67e4b36..46b13ea 100644 --- a/test/ast-test-case/adoption/output-tree.txt +++ b/test/ast-test-case/adoption/output-tree.txt @@ -1,12 +1,12 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Link(element) - Html(element) - Html(element) - Html(element) - Html(element) + b(element) + b(element) + b(element) + b(element) Paragraph(element) - Html(element) + Link(element) Str(text) diff --git a/test/ast-test-case/body-body-attributes/index.json b/test/ast-test-case/body-body-attributes/index.json index 0927148..c969bc0 100644 --- a/test/ast-test-case/body-body-attributes/index.json +++ b/test/ast-test-case/body-body-attributes/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "\n\n\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": { "id": "a", diff --git a/test/ast-test-case/body-body-attributes/output-tree.txt b/test/ast-test-case/body-body-attributes/output-tree.txt index 6b015c0..2abcaa9 100644 --- a/test/ast-test-case/body-body-attributes/output-tree.txt +++ b/test/ast-test-case/body-body-attributes/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(element) - Html(element) - Html(element) + 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/index.json index f377ede..07076f9 100644 --- a/test/ast-test-case/body-html-attributes/index.json +++ b/test/ast-test-case/body-html-attributes/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": { "className": [ @@ -12,7 +12,7 @@ }, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -33,7 +33,7 @@ "raw": "\n\n\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": { "id": "a", diff --git a/test/ast-test-case/body-html-attributes/output-tree.txt b/test/ast-test-case/body-html-attributes/output-tree.txt index 6b015c0..2abcaa9 100644 --- a/test/ast-test-case/body-html-attributes/output-tree.txt +++ b/test/ast-test-case/body-html-attributes/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Str(text) diff --git a/test/ast-test-case/character-data/index.json b/test/ast-test-case/character-data/index.json index 7bd1a14..6999e8b 100644 --- a/test/ast-test-case/character-data/index.json +++ b/test/ast-test-case/character-data/index.json @@ -64,12 +64,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -90,7 +90,7 @@ "raw": "\n\nEcho]]>\n\n\n\n

                            You can add a string to a number, but this stringifies the number:

                            \n\n x<y\n +\n 3\n =\n x>y3\n\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -284,7 +284,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "math", "tagName": "math", "properties": {}, "children": [ @@ -320,7 +320,7 @@ "raw": "\n " }, { - "type": "Html", + "type": "ms", "tagName": "ms", "properties": {}, "children": [ @@ -416,7 +416,7 @@ "raw": "\n " }, { - "type": "Html", + "type": "mo", "tagName": "mo", "properties": {}, "children": [ @@ -512,7 +512,7 @@ "raw": "\n " }, { - "type": "Html", + "type": "mn", "tagName": "mn", "properties": {}, "children": [ @@ -608,7 +608,7 @@ "raw": "\n " }, { - "type": "Html", + "type": "mo", "tagName": "mo", "properties": {}, "children": [ @@ -704,7 +704,7 @@ "raw": "\n " }, { - "type": "Html", + "type": "ms", "tagName": "ms", "properties": {}, "children": [ diff --git a/test/ast-test-case/character-data/output-tree.txt b/test/ast-test-case/character-data/output-tree.txt index 32215ee..68ec5cc 100644 --- a/test/ast-test-case/character-data/output-tree.txt +++ b/test/ast-test-case/character-data/output-tree.txt @@ -1,30 +1,30 @@ Document(root) Comment(comment) Comment(comment) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Str(text) Comment(comment) Str(text) Paragraph(element) Str(text) Str(text) - Html(element) + math(element) Str(text) - Html(element) + ms(element) Comment(comment) Str(text) - Html(element) + mo(element) Str(text) Str(text) - Html(element) + mn(element) Str(text) Str(text) - Html(element) + mo(element) Str(text) Str(text) - Html(element) + ms(element) Comment(comment) Str(text) Str(text) diff --git a/test/ast-test-case/comment/index.json b/test/ast-test-case/comment/index.json index b73b6f0..7388928 100644 --- a/test/ast-test-case/comment/index.json +++ b/test/ast-test-case/comment/index.json @@ -64,12 +64,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -90,7 +90,7 @@ "raw": "\n\n\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/comment/output-tree.txt b/test/ast-test-case/comment/output-tree.txt index 72e4504..561fdb8 100644 --- a/test/ast-test-case/comment/output-tree.txt +++ b/test/ast-test-case/comment/output-tree.txt @@ -1,6 +1,6 @@ Document(root) Comment(comment) Comment(comment) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/comments/index.json b/test/ast-test-case/comments/index.json index 5abbab4..24e338e 100644 --- a/test/ast-test-case/comments/index.json +++ b/test/ast-test-case/comments/index.json @@ -157,12 +157,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -183,7 +183,7 @@ "raw": " \n\n\n\n\n\nValid: \n\nInvalid: .\nInvalid: .\nInvalid: .\nInvalid: .\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ diff --git a/test/ast-test-case/comments/output-tree.txt b/test/ast-test-case/comments/output-tree.txt index 369a1c4..0886db4 100644 --- a/test/ast-test-case/comments/output-tree.txt +++ b/test/ast-test-case/comments/output-tree.txt @@ -4,9 +4,9 @@ Document(root) Comment(comment) Comment(comment) Comment(comment) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Str(text) Comment(comment) Str(text) diff --git a/test/ast-test-case/directive-in-fragment/index.json b/test/ast-test-case/directive-in-fragment/index.json index a6f42e0..6acba85 100644 --- a/test/ast-test-case/directive-in-fragment/index.json +++ b/test/ast-test-case/directive-in-fragment/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,12 +32,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -58,7 +58,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/directive-in-fragment/output-tree.txt b/test/ast-test-case/directive-in-fragment/output-tree.txt index 1aab8bf..1c22154 100644 --- a/test/ast-test-case/directive-in-fragment/output-tree.txt +++ b/test/ast-test-case/directive-in-fragment/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/doctype-almost-standards/index.json b/test/ast-test-case/doctype-almost-standards/index.json index 13467e9..66245cb 100644 --- a/test/ast-test-case/doctype-almost-standards/index.json +++ b/test/ast-test-case/doctype-almost-standards/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,12 +32,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -58,7 +58,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/doctype-almost-standards/output-tree.txt b/test/ast-test-case/doctype-almost-standards/output-tree.txt index 1aab8bf..1c22154 100644 --- a/test/ast-test-case/doctype-almost-standards/output-tree.txt +++ b/test/ast-test-case/doctype-almost-standards/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/doctype-legacy-double/index.json b/test/ast-test-case/doctype-legacy-double/index.json index 4c0f25a..3efe6d7 100644 --- a/test/ast-test-case/doctype-legacy-double/index.json +++ b/test/ast-test-case/doctype-legacy-double/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,12 +32,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -58,7 +58,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/doctype-legacy-double/output-tree.txt b/test/ast-test-case/doctype-legacy-double/output-tree.txt index 1aab8bf..1c22154 100644 --- a/test/ast-test-case/doctype-legacy-double/output-tree.txt +++ b/test/ast-test-case/doctype-legacy-double/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/doctype-legacy-single/index.json b/test/ast-test-case/doctype-legacy-single/index.json index 24f686e..f41c4e1 100644 --- a/test/ast-test-case/doctype-legacy-single/index.json +++ b/test/ast-test-case/doctype-legacy-single/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,12 +32,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -58,7 +58,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/doctype-legacy-single/output-tree.txt b/test/ast-test-case/doctype-legacy-single/output-tree.txt index 1aab8bf..1c22154 100644 --- a/test/ast-test-case/doctype-legacy-single/output-tree.txt +++ b/test/ast-test-case/doctype-legacy-single/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/doctype-nameless/index.json b/test/ast-test-case/doctype-nameless/index.json index 9002657..a108044 100644 --- a/test/ast-test-case/doctype-nameless/index.json +++ b/test/ast-test-case/doctype-nameless/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,12 +32,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -58,7 +58,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/doctype-nameless/output-tree.txt b/test/ast-test-case/doctype-nameless/output-tree.txt index 1aab8bf..1c22154 100644 --- a/test/ast-test-case/doctype-nameless/output-tree.txt +++ b/test/ast-test-case/doctype-nameless/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/doctype-quirksmode-ibm/index.json b/test/ast-test-case/doctype-quirksmode-ibm/index.json index f9e458d..1394754 100644 --- a/test/ast-test-case/doctype-quirksmode-ibm/index.json +++ b/test/ast-test-case/doctype-quirksmode-ibm/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,12 +32,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -58,7 +58,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/doctype-quirksmode-ibm/output-tree.txt b/test/ast-test-case/doctype-quirksmode-ibm/output-tree.txt index 1aab8bf..1c22154 100644 --- a/test/ast-test-case/doctype-quirksmode-ibm/output-tree.txt +++ b/test/ast-test-case/doctype-quirksmode-ibm/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/doctype-quirksmode-xml/index.json b/test/ast-test-case/doctype-quirksmode-xml/index.json index 65435be..ddc3bd1 100644 --- a/test/ast-test-case/doctype-quirksmode-xml/index.json +++ b/test/ast-test-case/doctype-quirksmode-xml/index.json @@ -33,12 +33,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -59,7 +59,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/doctype-quirksmode-xml/output-tree.txt b/test/ast-test-case/doctype-quirksmode-xml/output-tree.txt index a86012e..8aa63f1 100644 --- a/test/ast-test-case/doctype-quirksmode-xml/output-tree.txt +++ b/test/ast-test-case/doctype-quirksmode-xml/output-tree.txt @@ -1,5 +1,5 @@ Document(root) Comment(comment) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/doctype-quotes-double/index.json b/test/ast-test-case/doctype-quotes-double/index.json index e897596..f7f1780 100644 --- a/test/ast-test-case/doctype-quotes-double/index.json +++ b/test/ast-test-case/doctype-quotes-double/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,12 +32,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -58,7 +58,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/doctype-quotes-double/output-tree.txt b/test/ast-test-case/doctype-quotes-double/output-tree.txt index 1aab8bf..1c22154 100644 --- a/test/ast-test-case/doctype-quotes-double/output-tree.txt +++ b/test/ast-test-case/doctype-quotes-double/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/doctype-quotes-single/index.json b/test/ast-test-case/doctype-quotes-single/index.json index 367eae9..fe1c2ac 100644 --- a/test/ast-test-case/doctype-quotes-single/index.json +++ b/test/ast-test-case/doctype-quotes-single/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,12 +32,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -58,7 +58,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/doctype-quotes-single/output-tree.txt b/test/ast-test-case/doctype-quotes-single/output-tree.txt index 1aab8bf..1c22154 100644 --- a/test/ast-test-case/doctype-quotes-single/output-tree.txt +++ b/test/ast-test-case/doctype-quotes-single/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/doctype/index.json b/test/ast-test-case/doctype/index.json index aa613c5..d156cc2 100644 --- a/test/ast-test-case/doctype/index.json +++ b/test/ast-test-case/doctype/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,12 +32,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -58,7 +58,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/doctype/output-tree.txt b/test/ast-test-case/doctype/output-tree.txt index 1aab8bf..1c22154 100644 --- a/test/ast-test-case/doctype/output-tree.txt +++ b/test/ast-test-case/doctype/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/element-attributes-names/index.json b/test/ast-test-case/element-attributes-names/index.json index 465dea6..1f504db 100644 --- a/test/ast-test-case/element-attributes-names/index.json +++ b/test/ast-test-case/element-attributes-names/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "\n\n\n\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ diff --git a/test/ast-test-case/element-attributes-names/output-tree.txt b/test/ast-test-case/element-attributes-names/output-tree.txt index 492690d..d77c693 100644 --- a/test/ast-test-case/element-attributes-names/output-tree.txt +++ b/test/ast-test-case/element-attributes-names/output-tree.txt @@ -1,7 +1,7 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Link(element) Str(text) Link(element) diff --git a/test/ast-test-case/element-attributes/index.json b/test/ast-test-case/element-attributes/index.json index 480532e..1e221d2 100644 --- a/test/ast-test-case/element-attributes/index.json +++ b/test/ast-test-case/element-attributes/index.json @@ -33,12 +33,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -59,7 +59,7 @@ "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": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -197,7 +197,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "className": [] @@ -617,7 +617,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "abbr", "tagName": "abbr", "properties": { "title": "" @@ -1730,7 +1730,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": {}, "children": [], @@ -1794,7 +1794,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "style": "" @@ -1860,7 +1860,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "style": "color" @@ -1926,7 +1926,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "style": "color:" @@ -1992,7 +1992,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "style": "color:red" @@ -2058,7 +2058,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "style": "color:;" @@ -2124,7 +2124,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "style": "color:red;" @@ -2190,7 +2190,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "style": "color:red;background-color" @@ -2256,7 +2256,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "style": "color:red;background-color: blue" @@ -2322,7 +2322,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": { "style": "color:red;background-color: blue;" @@ -2450,7 +2450,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "script", "tagName": "script", "properties": { "async": true @@ -2516,7 +2516,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "script", "tagName": "script", "properties": { "async": true @@ -2582,7 +2582,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "script", "tagName": "script", "properties": { "async": true @@ -3226,7 +3226,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "meter", "tagName": "meter", "properties": { "min": "0", diff --git a/test/ast-test-case/element-attributes/output-tree.txt b/test/ast-test-case/element-attributes/output-tree.txt index 6c41098..388e067 100644 --- a/test/ast-test-case/element-attributes/output-tree.txt +++ b/test/ast-test-case/element-attributes/output-tree.txt @@ -1,13 +1,13 @@ Document(root) Comment(comment) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Link(element) Str(text) Comment(comment) Str(text) - Html(element) + div(element) Str(text) Comment(comment) Str(text) @@ -20,7 +20,7 @@ Document(root) Str(text) Comment(comment) Str(text) - Html(element) + abbr(element) Str(text) Comment(comment) Str(text) @@ -54,33 +54,33 @@ Document(root) Str(text) Comment(comment) Str(text) - Html(element) + div(element) Str(text) - Html(element) + div(element) Str(text) - Html(element) + div(element) Str(text) - Html(element) + div(element) Str(text) - Html(element) + div(element) Str(text) - Html(element) + div(element) Str(text) - Html(element) + div(element) Str(text) - Html(element) + div(element) Str(text) - Html(element) + div(element) Str(text) - Html(element) + div(element) Str(text) Comment(comment) Str(text) - Html(element) + script(element) Str(text) - Html(element) + script(element) Str(text) - Html(element) + script(element) Str(text) Comment(comment) Str(text) @@ -100,7 +100,7 @@ Document(root) Str(text) Comment(comment) Str(text) - Html(element) + meter(element) Str(text) Comment(comment) Str(text) diff --git a/test/ast-test-case/element-auto-close-document/index.json b/test/ast-test-case/element-auto-close-document/index.json index 62984e1..b7a4fdb 100644 --- a/test/ast-test-case/element-auto-close-document/index.json +++ b/test/ast-test-case/element-auto-close-document/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [ @@ -43,7 +43,7 @@ "raw": "\n " }, { - "type": "Html", + "type": "title", "tagName": "title", "properties": {}, "children": [ @@ -168,7 +168,7 @@ "raw": "\n Alpha\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ 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 index f0725bc..2452be0 100644 --- a/test/ast-test-case/element-auto-close-document/output-tree.txt +++ b/test/ast-test-case/element-auto-close-document/output-tree.txt @@ -1,11 +1,11 @@ Document(root) - Html(element) - Html(element) + html(element) + head(element) Str(text) - Html(element) + title(element) Str(text) Str(text) - Html(element) + body(element) Str(text) Paragraph(element) Str(text) diff --git a/test/ast-test-case/element-auto-close-fragment/index.json b/test/ast-test-case/element-auto-close-fragment/index.json index 62984e1..b7a4fdb 100644 --- a/test/ast-test-case/element-auto-close-fragment/index.json +++ b/test/ast-test-case/element-auto-close-fragment/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [ @@ -43,7 +43,7 @@ "raw": "\n " }, { - "type": "Html", + "type": "title", "tagName": "title", "properties": {}, "children": [ @@ -168,7 +168,7 @@ "raw": "\n Alpha\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ 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 index f0725bc..2452be0 100644 --- a/test/ast-test-case/element-auto-close-fragment/output-tree.txt +++ b/test/ast-test-case/element-auto-close-fragment/output-tree.txt @@ -1,11 +1,11 @@ Document(root) - Html(element) - Html(element) + html(element) + head(element) Str(text) - Html(element) + title(element) Str(text) Str(text) - Html(element) + body(element) Str(text) Paragraph(element) Str(text) diff --git a/test/ast-test-case/element-broken-close/index.json b/test/ast-test-case/element-broken-close/index.json index e75368f..7ae2c96 100644 --- a/test/ast-test-case/element-broken-close/index.json +++ b/test/ast-test-case/element-broken-close/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "fooStrong, emphasis, and code.\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ { - "type": "Html", + "type": "div", "tagName": "div", "properties": {}, "children": [ diff --git a/test/ast-test-case/element-children/output-tree.txt b/test/ast-test-case/element-children/output-tree.txt index 05e4c68..079faef 100644 --- a/test/ast-test-case/element-children/output-tree.txt +++ b/test/ast-test-case/element-children/output-tree.txt @@ -1,8 +1,8 @@ Document(root) - Html(element) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) + div(element) Strong(element) Str(text) Str(text) diff --git a/test/ast-test-case/element-closing-attributes/index.json b/test/ast-test-case/element-closing-attributes/index.json index 5602c9b..45e317b 100644 --- a/test/ast-test-case/element-closing-attributes/index.json +++ b/test/ast-test-case/element-closing-attributes/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,12 +28,12 @@ "raw": "bar\nbar\nbar\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ { - "type": "Html", + "type": "foo", "tagName": "foo", "properties": {}, "children": [ @@ -129,7 +129,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "foo", "tagName": "foo", "properties": {}, "children": [ @@ -225,7 +225,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "foo", "tagName": "foo", "properties": {}, "children": [ diff --git a/test/ast-test-case/element-closing-attributes/output-tree.txt b/test/ast-test-case/element-closing-attributes/output-tree.txt index 1ff67f0..3db6858 100644 --- a/test/ast-test-case/element-closing-attributes/output-tree.txt +++ b/test/ast-test-case/element-closing-attributes/output-tree.txt @@ -1,13 +1,13 @@ Document(root) - Html(element) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) + foo(element) Str(text) Str(text) - Html(element) + foo(element) Str(text) Str(text) - Html(element) + foo(element) Str(text) Str(text) diff --git a/test/ast-test-case/element-closing/index.json b/test/ast-test-case/element-closing/index.json index a46d135..61b6c4c 100644 --- a/test/ast-test-case/element-closing/index.json +++ b/test/ast-test-case/element-closing/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,12 +28,12 @@ "raw": "bar\nbar\nbar\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ { - "type": "Html", + "type": "foo", "tagName": "foo", "properties": {}, "children": [ @@ -129,7 +129,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "foo", "tagName": "foo", "properties": {}, "children": [ @@ -225,7 +225,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "foo", "tagName": "foo", "properties": {}, "children": [ diff --git a/test/ast-test-case/element-closing/output-tree.txt b/test/ast-test-case/element-closing/output-tree.txt index 1ff67f0..3db6858 100644 --- a/test/ast-test-case/element-closing/output-tree.txt +++ b/test/ast-test-case/element-closing/output-tree.txt @@ -1,13 +1,13 @@ Document(root) - Html(element) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) + foo(element) Str(text) Str(text) - Html(element) + foo(element) Str(text) Str(text) - Html(element) + foo(element) Str(text) Str(text) diff --git a/test/ast-test-case/element-empty/index.json b/test/ast-test-case/element-empty/index.json index 8f14a7d..5a873bf 100644 --- a/test/ast-test-case/element-empty/index.json +++ b/test/ast-test-case/element-empty/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,12 +28,12 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ { - "type": "Html", + "type": "span", "tagName": "span", "properties": {}, "children": [], diff --git a/test/ast-test-case/element-empty/output-tree.txt b/test/ast-test-case/element-empty/output-tree.txt index 6792f44..a657ebb 100644 --- a/test/ast-test-case/element-empty/output-tree.txt +++ b/test/ast-test-case/element-empty/output-tree.txt @@ -1,6 +1,6 @@ Document(root) - Html(element) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) + span(element) Str(text) diff --git a/test/ast-test-case/element-loose-close-document/index.json b/test/ast-test-case/element-loose-close-document/index.json index 57a2813..9df85ef 100644 --- a/test/ast-test-case/element-loose-close-document/index.json +++ b/test/ast-test-case/element-loose-close-document/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "\n\n\n

                            \n\n

                            \n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -64,7 +64,7 @@ "raw": "\n\n\n" }, { - "type": "Html", + "type": "Paragraph", "tagName": "p", "properties": {}, "children": [], @@ -116,12 +116,12 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": {}, "children": [ { - "type": "Html", + "type": "Paragraph", "tagName": "p", "properties": {}, "children": [], 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 index a84ab06..9d50861 100644 --- a/test/ast-test-case/element-loose-close-document/output-tree.txt +++ b/test/ast-test-case/element-loose-close-document/output-tree.txt @@ -1,10 +1,10 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Str(text) - Html(element) + Paragraph(element) Str(text) - Html(element) - Html(element) + div(element) + Paragraph(element) Str(text) diff --git a/test/ast-test-case/element-loose-close-fragment/index.json b/test/ast-test-case/element-loose-close-fragment/index.json index 57a2813..9df85ef 100644 --- a/test/ast-test-case/element-loose-close-fragment/index.json +++ b/test/ast-test-case/element-loose-close-fragment/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "\n\n\n

                            \n\n

                            \n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -64,7 +64,7 @@ "raw": "\n\n\n" }, { - "type": "Html", + "type": "Paragraph", "tagName": "p", "properties": {}, "children": [], @@ -116,12 +116,12 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": {}, "children": [ { - "type": "Html", + "type": "Paragraph", "tagName": "p", "properties": {}, "children": [], 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 index a84ab06..9d50861 100644 --- a/test/ast-test-case/element-loose-close-fragment/output-tree.txt +++ b/test/ast-test-case/element-loose-close-fragment/output-tree.txt @@ -1,10 +1,10 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Str(text) - Html(element) + Paragraph(element) Str(text) - Html(element) - Html(element) + div(element) + Paragraph(element) Str(text) diff --git a/test/ast-test-case/element-opening/index.json b/test/ast-test-case/element-opening/index.json index e19a6c7..92ef55e 100644 --- a/test/ast-test-case/element-opening/index.json +++ b/test/ast-test-case/element-opening/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,12 +28,12 @@ "raw": "bar\nbar\nbar\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ { - "type": "Html", + "type": "foo", "tagName": "foo", "properties": {}, "children": [ @@ -129,7 +129,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "foo", "tagName": "foo", "properties": {}, "children": [ @@ -225,7 +225,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "foo", "tagName": "foo", "properties": {}, "children": [ diff --git a/test/ast-test-case/element-opening/output-tree.txt b/test/ast-test-case/element-opening/output-tree.txt index 1ff67f0..3db6858 100644 --- a/test/ast-test-case/element-opening/output-tree.txt +++ b/test/ast-test-case/element-opening/output-tree.txt @@ -1,13 +1,13 @@ Document(root) - Html(element) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) + foo(element) Str(text) Str(text) - Html(element) + foo(element) Str(text) Str(text) - Html(element) + foo(element) Str(text) Str(text) diff --git a/test/ast-test-case/element-void-close/index.json b/test/ast-test-case/element-void-close/index.json index 35c16a3..de80bf6 100644 --- a/test/ast-test-case/element-void-close/index.json +++ b/test/ast-test-case/element-void-close/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "
                            text
                            \ntext\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -97,7 +97,7 @@ "raw": "text" }, { - "type": "Html", + "type": "break", "tagName": "br", "properties": {}, "children": [], diff --git a/test/ast-test-case/element-void-close/output-tree.txt b/test/ast-test-case/element-void-close/output-tree.txt index e6c61b5..9ed20c9 100644 --- a/test/ast-test-case/element-void-close/output-tree.txt +++ b/test/ast-test-case/element-void-close/output-tree.txt @@ -1,10 +1,10 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) break(element) Str(text) - Html(element) + break(element) Str(text) Image(element) Str(text) diff --git a/test/ast-test-case/element-void/index.json b/test/ast-test-case/element-void/index.json index c447af9..5f8e026 100644 --- a/test/ast-test-case/element-void/index.json +++ b/test/ast-test-case/element-void/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "\"foo\"\n\n
                            \n\n

                            this
                            and that

                            \n\n

                            this
                            and that

                            \n\n\n\n\n\n\n\n\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -485,27 +485,27 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "svg", "tagName": "svg", "properties": {}, "children": [ { - "type": "Html", + "type": "path", "tagName": "path", "properties": {}, "children": [ { - "type": "Html", + "type": "circle", "tagName": "circle", "properties": {}, "children": [ { - "type": "Html", + "type": "g", "tagName": "g", "properties": {}, "children": [ { - "type": "Html", + "type": "rect", "tagName": "rect", "properties": {}, "children": [], @@ -685,12 +685,12 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "svg", "tagName": "svg", "properties": {}, "children": [ { - "type": "Html", + "type": "path", "tagName": "path", "properties": {}, "children": [], @@ -723,7 +723,7 @@ "raw": "" }, { - "type": "Html", + "type": "circle", "tagName": "circle", "properties": {}, "children": [], @@ -756,7 +756,7 @@ "raw": "" }, { - "type": "Html", + "type": "g", "tagName": "g", "properties": {}, "children": [], @@ -789,7 +789,7 @@ "raw": "" }, { - "type": "Html", + "type": "rect", "tagName": "rect", "properties": {}, "children": [], @@ -882,22 +882,22 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "math", "tagName": "math", "properties": {}, "children": [ { - "type": "Html", + "type": "mglyph", "tagName": "mglyph", "properties": {}, "children": [ { - "type": "Html", + "type": "mspace", "tagName": "mspace", "properties": {}, "children": [ { - "type": "Html", + "type": "malignmark", "tagName": "malignmark", "properties": {}, "children": [], @@ -1048,12 +1048,12 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "math", "tagName": "math", "properties": {}, "children": [ { - "type": "Html", + "type": "mglyph", "tagName": "mglyph", "properties": {}, "children": [], @@ -1086,7 +1086,7 @@ "raw": "" }, { - "type": "Html", + "type": "mspace", "tagName": "mspace", "properties": {}, "children": [], @@ -1119,7 +1119,7 @@ "raw": "" }, { - "type": "Html", + "type": "malignmark", "tagName": "malignmark", "properties": {}, "children": [], diff --git a/test/ast-test-case/element-void/output-tree.txt b/test/ast-test-case/element-void/output-tree.txt index 9e8b9c0..cd2d660 100644 --- a/test/ast-test-case/element-void/output-tree.txt +++ b/test/ast-test-case/element-void/output-tree.txt @@ -1,7 +1,7 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Image(element) Str(text) horizontalRule(element) @@ -16,25 +16,25 @@ Document(root) break(element) Str(text) Str(text) - Html(element) - Html(element) - Html(element) - Html(element) - Html(element) - Str(text) - Html(element) - Html(element) - Html(element) - Html(element) - Html(element) - Str(text) - Html(element) - Html(element) - Html(element) - Html(element) - Str(text) - Html(element) - Html(element) - Html(element) - Html(element) + 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/index.json b/test/ast-test-case/element/index.json index abc65b2..9aacc2e 100644 --- a/test/ast-test-case/element/index.json +++ b/test/ast-test-case/element/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "Hello World.\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ diff --git a/test/ast-test-case/element/output-tree.txt b/test/ast-test-case/element/output-tree.txt index 8760861..5d58744 100644 --- a/test/ast-test-case/element/output-tree.txt +++ b/test/ast-test-case/element/output-tree.txt @@ -1,7 +1,7 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Strong(element) Str(text) Str(text) diff --git a/test/ast-test-case/empty-document/index.json b/test/ast-test-case/empty-document/index.json index d8ea16e..d3c94a9 100644 --- a/test/ast-test-case/empty-document/index.json +++ b/test/ast-test-case/empty-document/index.json @@ -2,96 +2,26 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, - "children": [], - "loc": { - "start": { - "line": 1, - "column": 0 - }, - "end": { - "line": 1, - "column": 0 - } - }, - "range": [ - 0, - 0 - ], - "raw": "" + "children": [] }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, - "children": [], - "loc": { - "start": { - "line": 1, - "column": 0 - }, - "end": { - "line": 1, - "column": 0 - } - }, - "range": [ - 0, - 0 - ], - "raw": "" + "children": [] } - ], - "loc": { - "start": { - "line": 1, - "column": 0 - }, - "end": { - "line": 1, - "column": 0 - } - }, - "range": [ - 0, - 0 - ], - "raw": "" + ] } ], "data": { "quirksMode": true - }, - "position": { - "start": { - "line": 1, - "column": 1 - }, - "end": { - "line": 1, - "column": 1 - } - }, - "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 index a423bef..f3c83b9 100644 --- a/test/ast-test-case/empty-document/output-tree.txt +++ b/test/ast-test-case/empty-document/output-tree.txt @@ -1,4 +1,4 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/empty-fragment/index.json b/test/ast-test-case/empty-fragment/index.json index d8ea16e..d3c94a9 100644 --- a/test/ast-test-case/empty-fragment/index.json +++ b/test/ast-test-case/empty-fragment/index.json @@ -2,96 +2,26 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, - "children": [], - "loc": { - "start": { - "line": 1, - "column": 0 - }, - "end": { - "line": 1, - "column": 0 - } - }, - "range": [ - 0, - 0 - ], - "raw": "" + "children": [] }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, - "children": [], - "loc": { - "start": { - "line": 1, - "column": 0 - }, - "end": { - "line": 1, - "column": 0 - } - }, - "range": [ - 0, - 0 - ], - "raw": "" + "children": [] } - ], - "loc": { - "start": { - "line": 1, - "column": 0 - }, - "end": { - "line": 1, - "column": 0 - } - }, - "range": [ - 0, - 0 - ], - "raw": "" + ] } ], "data": { "quirksMode": true - }, - "position": { - "start": { - "line": 1, - "column": 1 - }, - "end": { - "line": 1, - "column": 1 - } - }, - "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 index a423bef..f3c83b9 100644 --- a/test/ast-test-case/empty-fragment/output-tree.txt +++ b/test/ast-test-case/empty-fragment/output-tree.txt @@ -1,4 +1,4 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/entities-in-literals/index.json b/test/ast-test-case/entities-in-literals/index.json index 98eb2c6..c15f100 100644 --- a/test/ast-test-case/entities-in-literals/index.json +++ b/test/ast-test-case/entities-in-literals/index.json @@ -2,17 +2,17 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [ { - "type": "Html", + "type": "script", "tagName": "script", "properties": {}, "children": [ @@ -108,7 +108,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "script", "tagName": "script", "properties": {}, "children": [ @@ -204,7 +204,7 @@ "raw": "\n\n" }, { - "type": "Html", + "type": "style", "tagName": "style", "properties": {}, "children": [ @@ -317,7 +317,7 @@ "raw": "\n\n\n\n\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/entities-in-literals/output-tree.txt b/test/ast-test-case/entities-in-literals/output-tree.txt index 614f636..6638d48 100644 --- a/test/ast-test-case/entities-in-literals/output-tree.txt +++ b/test/ast-test-case/entities-in-literals/output-tree.txt @@ -1,13 +1,13 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + script(element) CodeBlock(text) Str(text) - Html(element) + script(element) CodeBlock(text) Str(text) - Html(element) + style(element) CodeBlock(text) Str(text) - Html(element) + body(element) diff --git a/test/ast-test-case/entities/index.json b/test/ast-test-case/entities/index.json index efbdea1..f2f7fa0 100644 --- a/test/ast-test-case/entities/index.json +++ b/test/ast-test-case/entities/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ diff --git a/test/ast-test-case/entities/output-tree.txt b/test/ast-test-case/entities/output-tree.txt index 6b015c0..2abcaa9 100644 --- a/test/ast-test-case/entities/output-tree.txt +++ b/test/ast-test-case/entities/output-tree.txt @@ -1,5 +1,5 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Str(text) diff --git a/test/ast-test-case/list/index.json b/test/ast-test-case/list/index.json index f343de3..bdcd986 100644 --- a/test/ast-test-case/list/index.json +++ b/test/ast-test-case/list/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "
                              \n
                            • first item
                            • \n
                            • second item
                            • \n
                            \n
                              \n
                            1. # first item
                            2. \n
                            3. # second item
                            4. \n
                            \n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ diff --git a/test/ast-test-case/list/output-tree.txt b/test/ast-test-case/list/output-tree.txt index cdeec47..3bf6e57 100644 --- a/test/ast-test-case/list/output-tree.txt +++ b/test/ast-test-case/list/output-tree.txt @@ -1,7 +1,7 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) List(element) Str(text) ListItem(element) diff --git a/test/ast-test-case/processing-instruction/index.json b/test/ast-test-case/processing-instruction/index.json index 78f8157..a4600c7 100644 --- a/test/ast-test-case/processing-instruction/index.json +++ b/test/ast-test-case/processing-instruction/index.json @@ -33,12 +33,12 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -59,7 +59,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [], diff --git a/test/ast-test-case/processing-instruction/output-tree.txt b/test/ast-test-case/processing-instruction/output-tree.txt index a86012e..8aa63f1 100644 --- a/test/ast-test-case/processing-instruction/output-tree.txt +++ b/test/ast-test-case/processing-instruction/output-tree.txt @@ -1,5 +1,5 @@ Document(root) Comment(comment) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) diff --git a/test/ast-test-case/quirksmode-off/index.json b/test/ast-test-case/quirksmode-off/index.json index 3f6c846..e430272 100644 --- a/test/ast-test-case/quirksmode-off/index.json +++ b/test/ast-test-case/quirksmode-off/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,17 +32,17 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [ { - "type": "Html", + "type": "title", "tagName": "title", "properties": {}, "children": [ @@ -155,7 +155,7 @@ "raw": "\nNot-Quirksmode\n

                            Outside of quirksmode, the following table is outside this paragraph:\n!
                            \n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -256,7 +256,7 @@ "raw": "!" }, { - "type": "Html", + "type": "table", "tagName": "table", "properties": {}, "children": [], diff --git a/test/ast-test-case/quirksmode-off/output-tree.txt b/test/ast-test-case/quirksmode-off/output-tree.txt index 66c63a1..da088a4 100644 --- a/test/ast-test-case/quirksmode-off/output-tree.txt +++ b/test/ast-test-case/quirksmode-off/output-tree.txt @@ -1,13 +1,13 @@ Document(root) - Html(doctype) - Html(element) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) + title(element) Str(text) Str(text) - Html(element) + body(element) Paragraph(element) Str(text) Str(text) - Html(element) + table(element) Str(text) diff --git a/test/ast-test-case/quirksmode-on/index.json b/test/ast-test-case/quirksmode-on/index.json index 9eb1214..8633e27 100644 --- a/test/ast-test-case/quirksmode-on/index.json +++ b/test/ast-test-case/quirksmode-on/index.json @@ -2,17 +2,17 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [ { - "type": "Html", + "type": "title", "tagName": "title", "properties": {}, "children": [ @@ -125,7 +125,7 @@ "raw": "\nQuirksmode\n

                            In quirksmode, the following table is in this paragraph:\n!
                            \n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -166,7 +166,7 @@ "raw": "In quirksmode, the following table is in this paragraph:\n!" }, { - "type": "Html", + "type": "table", "tagName": "table", "properties": {}, "children": [], diff --git a/test/ast-test-case/quirksmode-on/output-tree.txt b/test/ast-test-case/quirksmode-on/output-tree.txt index 9c15c47..b199be6 100644 --- a/test/ast-test-case/quirksmode-on/output-tree.txt +++ b/test/ast-test-case/quirksmode-on/output-tree.txt @@ -1,11 +1,11 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + title(element) Str(text) Str(text) - Html(element) + body(element) Paragraph(element) Str(text) - Html(element) + table(element) Str(text) diff --git a/test/ast-test-case/test/index.json b/test/ast-test-case/test/index.json index 8dff0b2..db95e7f 100644 --- a/test/ast-test-case/test/index.json +++ b/test/ast-test-case/test/index.json @@ -2,7 +2,7 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "doctype", "position": { "start": { "line": 1, @@ -32,14 +32,14 @@ "raw": "" }, { - "type": "Html", + "type": "html", "tagName": "html", "properties": { "lang": "en" }, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [ @@ -75,7 +75,7 @@ "raw": "\n " }, { - "type": "Html", + "type": "meta", "tagName": "meta", "properties": { "charSet": "UTF-8" @@ -141,7 +141,7 @@ "raw": "\n " }, { - "type": "Html", + "type": "title", "tagName": "title", "properties": {}, "children": [ @@ -297,7 +297,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -333,7 +333,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": {}, "children": [ diff --git a/test/ast-test-case/test/output-tree.txt b/test/ast-test-case/test/output-tree.txt index e5b98cb..c9cb3cb 100644 --- a/test/ast-test-case/test/output-tree.txt +++ b/test/ast-test-case/test/output-tree.txt @@ -1,17 +1,17 @@ Document(root) - Html(doctype) - Html(element) - Html(element) + doctype(doctype) + html(element) + head(element) Str(text) - Html(element) + meta(element) Str(text) - Html(element) + title(element) Str(text) Str(text) Str(text) - Html(element) + body(element) Str(text) - Html(element) + div(element) Str(text) Paragraph(element) Str(text) diff --git a/test/ast-test-case/verbose/index.json b/test/ast-test-case/verbose/index.json index e52cda6..c4d2a74 100644 --- a/test/ast-test-case/verbose/index.json +++ b/test/ast-test-case/verbose/index.json @@ -2,12 +2,12 @@ "type": "Document", "children": [ { - "type": "Html", + "type": "html", "tagName": "html", "properties": {}, "children": [ { - "type": "Html", + "type": "head", "tagName": "head", "properties": {}, "children": [], @@ -28,7 +28,7 @@ "raw": "\n

                            \n

                            \n
                            \n" }, { - "type": "Html", + "type": "body", "tagName": "body", "properties": {}, "children": [ @@ -164,7 +164,7 @@ "raw": "

                            \n" }, { - "type": "Html", + "type": "div", "tagName": "div", "properties": {}, "children": [], @@ -228,7 +228,7 @@ "raw": "\n" }, { - "type": "Html", + "type": "break", "tagName": "br", "properties": {}, "children": [], diff --git a/test/ast-test-case/verbose/output-tree.txt b/test/ast-test-case/verbose/output-tree.txt index 70f30fb..c7e0599 100644 --- a/test/ast-test-case/verbose/output-tree.txt +++ b/test/ast-test-case/verbose/output-tree.txt @@ -1,12 +1,12 @@ Document(root) - Html(element) - Html(element) - Html(element) + html(element) + head(element) + body(element) Image(element) Str(text) Paragraph(element) Str(text) - Html(element) + div(element) Str(text) - Html(element) + break(element) Str(text) From 9b0bb62c06929ceea2b8dbf5f09f596376cc7499 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 20:00:38 +0900 Subject: [PATCH 09/23] fix --- src/html-to-ast.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/html-to-ast.ts b/src/html-to-ast.ts index d716340..0f6cc61 100644 --- a/src/html-to-ast.ts +++ b/src/html-to-ast.ts @@ -89,7 +89,10 @@ export function parse(html: string, options?: ParseOptions) { // case: element => Html or ... node.type = mapNodeType(node, this.parent); } else { - // node.type = "Html" as const; + // 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") { From 32a588a9a0e10e5579a386b0250de20ccc527dd2 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 20:13:37 +0900 Subject: [PATCH 10/23] test: add fragment test --- test/HTMLProcessor-test.js | 61 +++--- .../ast-test-case/fragment-comment/index.html | 2 + .../ast-test-case/fragment-comment/index.json | 162 +++++++++++++++ .../fragment-comment/output-tree.txt | 6 + test/ast-test-case/fragment-p/index.html | 1 + test/ast-test-case/fragment-p/index.json | 196 ++++++++++++++++++ test/ast-test-case/fragment-p/output-tree.txt | 7 + test/ast-test-case/fragment-script/index.html | 7 + test/ast-test-case/fragment-script/index.json | 196 ++++++++++++++++++ .../fragment-script/output-tree.txt | 7 + test/ast-test-case/fragment-style/index.html | 1 + test/ast-test-case/fragment-style/index.json | 196 ++++++++++++++++++ .../fragment-style/output-tree.txt | 7 + 13 files changed, 821 insertions(+), 28 deletions(-) create mode 100644 test/ast-test-case/fragment-comment/index.html create mode 100644 test/ast-test-case/fragment-comment/index.json create mode 100644 test/ast-test-case/fragment-comment/output-tree.txt create mode 100644 test/ast-test-case/fragment-p/index.html create mode 100644 test/ast-test-case/fragment-p/index.json create mode 100644 test/ast-test-case/fragment-p/output-tree.txt create mode 100644 test/ast-test-case/fragment-script/index.html create mode 100644 test/ast-test-case/fragment-script/index.json create mode 100644 test/ast-test-case/fragment-script/output-tree.txt create mode 100644 test/ast-test-case/fragment-style/index.html create mode 100644 test/ast-test-case/fragment-style/index.json create mode 100644 test/ast-test-case/fragment-style/output-tree.txt diff --git a/test/HTMLProcessor-test.js b/test/HTMLProcessor-test.js index f7894ab..b2c2429 100644 --- a/test/HTMLProcessor-test.js +++ b/test/HTMLProcessor-test.js @@ -12,37 +12,42 @@ import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); +const getHeadNode = (ast) => { + const html = ast.children.find(node => { + return node.type === "html"; + }); + if (!html) { + throw new Error("Not found html node"); + } + const head = html.children.find(node => { + return node.type === "head"; + }); + if (!head) { + throw new Error("Not found head node"); + } + return head +} +const getBodyNode = (ast) => { + const html = ast.children.find(node => { + return node.type === "html"; + }); + if (!html) { + throw new Error("Not found html node"); + } + 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(`

                            aaaa

                            `); 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}>`; @@ -50,11 +55,11 @@ describe("HTMLProcessor-test", function () { function testMap(typeMap) { Object.keys(typeMap).forEach(tagName => { - const result = parse(createTag(tagName)); + const result = parse(`test${createTag(tagName)}`); assert(result.type === "Document"); - const firstChild = result.children[0]; + const firstChild = getBodyNode(result).children[0]; const expectedType = typeMap[tagName]; - assert.equal(firstChild.type, expectedType); + assert.strictEqual(firstChild.type, expectedType); }); } 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/index.json b/test/ast-test-case/fragment-comment/index.json new file mode 100644 index 0000000..3762b44 --- /dev/null +++ b/test/ast-test-case/fragment-comment/index.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-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-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/index.json b/test/ast-test-case/fragment-p/index.json new file mode 100644 index 0000000..022f65e --- /dev/null +++ b/test/ast-test-case/fragment-p/index.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-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-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/index.json b/test/ast-test-case/fragment-script/index.json new file mode 100644 index 0000000..6871ddc --- /dev/null +++ b/test/ast-test-case/fragment-script/index.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-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-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/index.json b/test/ast-test-case/fragment-style/index.json new file mode 100644 index 0000000..39fecc8 --- /dev/null +++ b/test/ast-test-case/fragment-style/index.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/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) From b213bd6849bfb6d8ab59c200713455b36c948b38 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 20:20:54 +0900 Subject: [PATCH 11/23] test: output json --- .../adoption/{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../comment/{index.json => output.json} | 0 .../comments/{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../doctype/{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../element-empty/{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../element-void/{index.json => output.json} | 0 .../element/{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../entities/{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../fragment-p/{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 test/ast-test-case/issue-15/index.html | 7 + test/ast-test-case/issue-15/output-tree.txt | 19 + test/ast-test-case/issue-15/output.json | 623 ++++++++++++++++++ .../list/{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../{index.json => output.json} | 0 .../quirksmode-on/{index.json => output.json} | 0 .../test/{index.json => output.json} | 0 .../verbose/{index.json => output.json} | 0 test/html-to-ast-test.js | 2 +- 49 files changed, 650 insertions(+), 1 deletion(-) rename test/ast-test-case/adoption/{index.json => output.json} (100%) rename test/ast-test-case/body-body-attributes/{index.json => output.json} (100%) rename test/ast-test-case/body-html-attributes/{index.json => output.json} (100%) rename test/ast-test-case/character-data/{index.json => output.json} (100%) rename test/ast-test-case/comment/{index.json => output.json} (100%) rename test/ast-test-case/comments/{index.json => output.json} (100%) rename test/ast-test-case/directive-in-fragment/{index.json => output.json} (100%) rename test/ast-test-case/doctype-almost-standards/{index.json => output.json} (100%) rename test/ast-test-case/doctype-legacy-double/{index.json => output.json} (100%) rename test/ast-test-case/doctype-legacy-single/{index.json => output.json} (100%) rename test/ast-test-case/doctype-nameless/{index.json => output.json} (100%) rename test/ast-test-case/doctype-quirksmode-ibm/{index.json => output.json} (100%) rename test/ast-test-case/doctype-quirksmode-xml/{index.json => output.json} (100%) rename test/ast-test-case/doctype-quotes-double/{index.json => output.json} (100%) rename test/ast-test-case/doctype-quotes-single/{index.json => output.json} (100%) rename test/ast-test-case/doctype/{index.json => output.json} (100%) rename test/ast-test-case/element-attributes-names/{index.json => output.json} (100%) rename test/ast-test-case/element-attributes/{index.json => output.json} (100%) rename test/ast-test-case/element-auto-close-document/{index.json => output.json} (100%) rename test/ast-test-case/element-auto-close-fragment/{index.json => output.json} (100%) rename test/ast-test-case/element-broken-close/{index.json => output.json} (100%) rename test/ast-test-case/element-children/{index.json => output.json} (100%) rename test/ast-test-case/element-closing-attributes/{index.json => output.json} (100%) rename test/ast-test-case/element-closing/{index.json => output.json} (100%) rename test/ast-test-case/element-empty/{index.json => output.json} (100%) rename test/ast-test-case/element-loose-close-document/{index.json => output.json} (100%) rename test/ast-test-case/element-loose-close-fragment/{index.json => output.json} (100%) rename test/ast-test-case/element-opening/{index.json => output.json} (100%) rename test/ast-test-case/element-void-close/{index.json => output.json} (100%) rename test/ast-test-case/element-void/{index.json => output.json} (100%) rename test/ast-test-case/element/{index.json => output.json} (100%) rename test/ast-test-case/empty-document/{index.json => output.json} (100%) rename test/ast-test-case/empty-fragment/{index.json => output.json} (100%) rename test/ast-test-case/entities-in-literals/{index.json => output.json} (100%) rename test/ast-test-case/entities/{index.json => output.json} (100%) rename test/ast-test-case/fragment-comment/{index.json => output.json} (100%) rename test/ast-test-case/fragment-p/{index.json => output.json} (100%) rename test/ast-test-case/fragment-script/{index.json => output.json} (100%) rename test/ast-test-case/fragment-style/{index.json => output.json} (100%) create mode 100644 test/ast-test-case/issue-15/index.html create mode 100644 test/ast-test-case/issue-15/output-tree.txt create mode 100644 test/ast-test-case/issue-15/output.json rename test/ast-test-case/list/{index.json => output.json} (100%) rename test/ast-test-case/processing-instruction/{index.json => output.json} (100%) rename test/ast-test-case/quirksmode-off/{index.json => output.json} (100%) rename test/ast-test-case/quirksmode-on/{index.json => output.json} (100%) rename test/ast-test-case/test/{index.json => output.json} (100%) rename test/ast-test-case/verbose/{index.json => output.json} (100%) diff --git a/test/ast-test-case/adoption/index.json b/test/ast-test-case/adoption/output.json similarity index 100% rename from test/ast-test-case/adoption/index.json rename to test/ast-test-case/adoption/output.json diff --git a/test/ast-test-case/body-body-attributes/index.json b/test/ast-test-case/body-body-attributes/output.json similarity index 100% rename from test/ast-test-case/body-body-attributes/index.json rename to test/ast-test-case/body-body-attributes/output.json diff --git a/test/ast-test-case/body-html-attributes/index.json b/test/ast-test-case/body-html-attributes/output.json similarity index 100% rename from test/ast-test-case/body-html-attributes/index.json rename to test/ast-test-case/body-html-attributes/output.json diff --git a/test/ast-test-case/character-data/index.json b/test/ast-test-case/character-data/output.json similarity index 100% rename from test/ast-test-case/character-data/index.json rename to test/ast-test-case/character-data/output.json diff --git a/test/ast-test-case/comment/index.json b/test/ast-test-case/comment/output.json similarity index 100% rename from test/ast-test-case/comment/index.json rename to test/ast-test-case/comment/output.json diff --git a/test/ast-test-case/comments/index.json b/test/ast-test-case/comments/output.json similarity index 100% rename from test/ast-test-case/comments/index.json rename to test/ast-test-case/comments/output.json diff --git a/test/ast-test-case/directive-in-fragment/index.json b/test/ast-test-case/directive-in-fragment/output.json similarity index 100% rename from test/ast-test-case/directive-in-fragment/index.json rename to test/ast-test-case/directive-in-fragment/output.json diff --git a/test/ast-test-case/doctype-almost-standards/index.json b/test/ast-test-case/doctype-almost-standards/output.json similarity index 100% rename from test/ast-test-case/doctype-almost-standards/index.json rename to test/ast-test-case/doctype-almost-standards/output.json diff --git a/test/ast-test-case/doctype-legacy-double/index.json b/test/ast-test-case/doctype-legacy-double/output.json similarity index 100% rename from test/ast-test-case/doctype-legacy-double/index.json rename to test/ast-test-case/doctype-legacy-double/output.json diff --git a/test/ast-test-case/doctype-legacy-single/index.json b/test/ast-test-case/doctype-legacy-single/output.json similarity index 100% rename from test/ast-test-case/doctype-legacy-single/index.json rename to test/ast-test-case/doctype-legacy-single/output.json diff --git a/test/ast-test-case/doctype-nameless/index.json b/test/ast-test-case/doctype-nameless/output.json similarity index 100% rename from test/ast-test-case/doctype-nameless/index.json rename to test/ast-test-case/doctype-nameless/output.json diff --git a/test/ast-test-case/doctype-quirksmode-ibm/index.json b/test/ast-test-case/doctype-quirksmode-ibm/output.json similarity index 100% rename from test/ast-test-case/doctype-quirksmode-ibm/index.json rename to test/ast-test-case/doctype-quirksmode-ibm/output.json diff --git a/test/ast-test-case/doctype-quirksmode-xml/index.json b/test/ast-test-case/doctype-quirksmode-xml/output.json similarity index 100% rename from test/ast-test-case/doctype-quirksmode-xml/index.json rename to test/ast-test-case/doctype-quirksmode-xml/output.json diff --git a/test/ast-test-case/doctype-quotes-double/index.json b/test/ast-test-case/doctype-quotes-double/output.json similarity index 100% rename from test/ast-test-case/doctype-quotes-double/index.json rename to test/ast-test-case/doctype-quotes-double/output.json diff --git a/test/ast-test-case/doctype-quotes-single/index.json b/test/ast-test-case/doctype-quotes-single/output.json similarity index 100% rename from test/ast-test-case/doctype-quotes-single/index.json rename to test/ast-test-case/doctype-quotes-single/output.json diff --git a/test/ast-test-case/doctype/index.json b/test/ast-test-case/doctype/output.json similarity index 100% rename from test/ast-test-case/doctype/index.json rename to test/ast-test-case/doctype/output.json diff --git a/test/ast-test-case/element-attributes-names/index.json b/test/ast-test-case/element-attributes-names/output.json similarity index 100% rename from test/ast-test-case/element-attributes-names/index.json rename to test/ast-test-case/element-attributes-names/output.json diff --git a/test/ast-test-case/element-attributes/index.json b/test/ast-test-case/element-attributes/output.json similarity index 100% rename from test/ast-test-case/element-attributes/index.json rename to test/ast-test-case/element-attributes/output.json diff --git a/test/ast-test-case/element-auto-close-document/index.json b/test/ast-test-case/element-auto-close-document/output.json similarity index 100% rename from test/ast-test-case/element-auto-close-document/index.json rename to test/ast-test-case/element-auto-close-document/output.json diff --git a/test/ast-test-case/element-auto-close-fragment/index.json b/test/ast-test-case/element-auto-close-fragment/output.json similarity index 100% rename from test/ast-test-case/element-auto-close-fragment/index.json rename to test/ast-test-case/element-auto-close-fragment/output.json diff --git a/test/ast-test-case/element-broken-close/index.json b/test/ast-test-case/element-broken-close/output.json similarity index 100% rename from test/ast-test-case/element-broken-close/index.json rename to test/ast-test-case/element-broken-close/output.json diff --git a/test/ast-test-case/element-children/index.json b/test/ast-test-case/element-children/output.json similarity index 100% rename from test/ast-test-case/element-children/index.json rename to test/ast-test-case/element-children/output.json diff --git a/test/ast-test-case/element-closing-attributes/index.json b/test/ast-test-case/element-closing-attributes/output.json similarity index 100% rename from test/ast-test-case/element-closing-attributes/index.json rename to test/ast-test-case/element-closing-attributes/output.json diff --git a/test/ast-test-case/element-closing/index.json b/test/ast-test-case/element-closing/output.json similarity index 100% rename from test/ast-test-case/element-closing/index.json rename to test/ast-test-case/element-closing/output.json diff --git a/test/ast-test-case/element-empty/index.json b/test/ast-test-case/element-empty/output.json similarity index 100% rename from test/ast-test-case/element-empty/index.json rename to test/ast-test-case/element-empty/output.json diff --git a/test/ast-test-case/element-loose-close-document/index.json b/test/ast-test-case/element-loose-close-document/output.json similarity index 100% rename from test/ast-test-case/element-loose-close-document/index.json rename to test/ast-test-case/element-loose-close-document/output.json diff --git a/test/ast-test-case/element-loose-close-fragment/index.json b/test/ast-test-case/element-loose-close-fragment/output.json similarity index 100% rename from test/ast-test-case/element-loose-close-fragment/index.json rename to test/ast-test-case/element-loose-close-fragment/output.json diff --git a/test/ast-test-case/element-opening/index.json b/test/ast-test-case/element-opening/output.json similarity index 100% rename from test/ast-test-case/element-opening/index.json rename to test/ast-test-case/element-opening/output.json diff --git a/test/ast-test-case/element-void-close/index.json b/test/ast-test-case/element-void-close/output.json similarity index 100% rename from test/ast-test-case/element-void-close/index.json rename to test/ast-test-case/element-void-close/output.json diff --git a/test/ast-test-case/element-void/index.json b/test/ast-test-case/element-void/output.json similarity index 100% rename from test/ast-test-case/element-void/index.json rename to test/ast-test-case/element-void/output.json diff --git a/test/ast-test-case/element/index.json b/test/ast-test-case/element/output.json similarity index 100% rename from test/ast-test-case/element/index.json rename to test/ast-test-case/element/output.json diff --git a/test/ast-test-case/empty-document/index.json b/test/ast-test-case/empty-document/output.json similarity index 100% rename from test/ast-test-case/empty-document/index.json rename to test/ast-test-case/empty-document/output.json diff --git a/test/ast-test-case/empty-fragment/index.json b/test/ast-test-case/empty-fragment/output.json similarity index 100% rename from test/ast-test-case/empty-fragment/index.json rename to test/ast-test-case/empty-fragment/output.json diff --git a/test/ast-test-case/entities-in-literals/index.json b/test/ast-test-case/entities-in-literals/output.json similarity index 100% rename from test/ast-test-case/entities-in-literals/index.json rename to test/ast-test-case/entities-in-literals/output.json diff --git a/test/ast-test-case/entities/index.json b/test/ast-test-case/entities/output.json similarity index 100% rename from test/ast-test-case/entities/index.json rename to test/ast-test-case/entities/output.json diff --git a/test/ast-test-case/fragment-comment/index.json b/test/ast-test-case/fragment-comment/output.json similarity index 100% rename from test/ast-test-case/fragment-comment/index.json rename to test/ast-test-case/fragment-comment/output.json diff --git a/test/ast-test-case/fragment-p/index.json b/test/ast-test-case/fragment-p/output.json similarity index 100% rename from test/ast-test-case/fragment-p/index.json rename to test/ast-test-case/fragment-p/output.json diff --git a/test/ast-test-case/fragment-script/index.json b/test/ast-test-case/fragment-script/output.json similarity index 100% rename from test/ast-test-case/fragment-script/index.json rename to test/ast-test-case/fragment-script/output.json diff --git a/test/ast-test-case/fragment-style/index.json b/test/ast-test-case/fragment-style/output.json similarity index 100% rename from test/ast-test-case/fragment-style/index.json rename to test/ast-test-case/fragment-style/output.json 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/output.json similarity index 100% rename from test/ast-test-case/list/index.json rename to test/ast-test-case/list/output.json diff --git a/test/ast-test-case/processing-instruction/index.json b/test/ast-test-case/processing-instruction/output.json similarity index 100% rename from test/ast-test-case/processing-instruction/index.json rename to test/ast-test-case/processing-instruction/output.json diff --git a/test/ast-test-case/quirksmode-off/index.json b/test/ast-test-case/quirksmode-off/output.json similarity index 100% rename from test/ast-test-case/quirksmode-off/index.json rename to test/ast-test-case/quirksmode-off/output.json diff --git a/test/ast-test-case/quirksmode-on/index.json b/test/ast-test-case/quirksmode-on/output.json similarity index 100% rename from test/ast-test-case/quirksmode-on/index.json rename to test/ast-test-case/quirksmode-on/output.json diff --git a/test/ast-test-case/test/index.json b/test/ast-test-case/test/output.json similarity index 100% rename from test/ast-test-case/test/index.json rename to test/ast-test-case/test/output.json diff --git a/test/ast-test-case/verbose/index.json b/test/ast-test-case/verbose/output.json similarity index 100% rename from test/ast-test-case/verbose/index.json rename to test/ast-test-case/verbose/output.json diff --git a/test/html-to-ast-test.js b/test/html-to-ast-test.js index cc523d9..e98e1c2 100644 --- a/test/html-to-ast-test.js +++ b/test/html-to-ast-test.js @@ -48,7 +48,7 @@ describe("Snapshot testing", () => { const actual = parse(actualContent, { debug: true }); - const expectedFilePath = path.join(fixtureDir, "index.json"); + const expectedFilePath = path.join(fixtureDir, "output.json"); const expectedOutputTreeFilePath = path.join(fixtureDir, "output-tree.txt"); // Usage: update snapshots // UPDATE_SNAPSHOT=1 npm test From 8c4a089ed8bb36eb7ae8024ae7015b06275b36c5 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 20:24:35 +0900 Subject: [PATCH 12/23] test: up time --- .mocharc.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.mocharc.json b/.mocharc.json index b19a345..09a2a1d 100644 --- a/.mocharc.json +++ b/.mocharc.json @@ -3,5 +3,6 @@ "loader": "ts-node/esm", "spec": [ "test/**/*.{js,ts}" - ] + ], + "timeout": 10000, } From b0731bbe20ce2064d8a32ff66303c3e4e93672a9 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 20:24:47 +0900 Subject: [PATCH 13/23] remove comman --- .mocharc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mocharc.json b/.mocharc.json index 09a2a1d..5f86336 100644 --- a/.mocharc.json +++ b/.mocharc.json @@ -4,5 +4,5 @@ "spec": [ "test/**/*.{js,ts}" ], - "timeout": 10000, + "timeout": 10000 } From fb200220feb3d086a557ca207e2c295d903c7df6 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 20:50:46 +0900 Subject: [PATCH 14/23] test: add example --- README.md | 7 +- example/.textlintrc.json | 11 + example/package.json | 20 + example/test/jserinfo.html | 677 +++++ example/test/jsprimer.html | 2089 ++++++++++++++++ example/test/textlint.github.io.html | 302 +++ example/yarn.lock | 3465 ++++++++++++++++++++++++++ package.json | 3 +- 8 files changed, 6570 insertions(+), 4 deletions(-) create mode 100644 example/.textlintrc.json create mode 100644 example/package.json create mode 100644 example/test/jserinfo.html create mode 100644 example/test/jsprimer.html create mode 100644 example/test/textlint.github.io.html create mode 100644 example/yarn.lock diff --git a/README.md b/README.md index 9315d22..5a7d650 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` 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            + + Fork me on GitHub + + + +
                            +
                            +
                            +
                            +
                            +
                            +
                            +

                            2023-01-24のJS: Bun v0.5、Remix v1.11.0、メモリリークの調査

                            + +
                            + + + + Edit on GitHub + + 編集履歴を見る +
                            + +
                            + +
                            +
                            +

                            JSer.info #628 - Bun v0.5がリリースされました。

                            + + + +

                            package.jsonworkspacesを使ったインストールをサポートしています。
                            +Node.jsとの互換性としてnode:dnsnode:tlsnode:netnode: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:dnsnode:tlsnode:netnode:readlineのサポート。
                            +モジュール解決時の識別子の優先度を変更など

                            + +
                            + +

                            Release v2.0.0-alpha.1 · reduxjs/redux-toolkit

                            + +

                            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=modulepackage.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のトレースデータを見て分析する方法について

                            + + + +
                            + +

                            Why Not document.write()? – CSS Wizardry – Web Performance Optimisation

                            + +

                            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と実行環境の固有機能も含んだ範囲というのがイメージしやすいでしょう。

                            +

                            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という変数を大文字と小文字で書いた場合に、 +それぞれは別々のnameNAMEという名前の変数として認識されます。

                            +
                            // `name`という名前の変数を宣言
                            +const name = "azu";
                            +// `NAME`という名前の変数を宣言
                            +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で実行される
                            +
                            +

                            strict modeでは、evalwithといったレガシーな機能や構文を禁止します。 +また、明らかな問題を含んだコードに対しては早期的に例外を投げることで、開発者が間違いに気づきやすくしてくれます。

                            +

                            たとえば、次のようなconstなどのキーワードを含まずに変数を宣言しようとした場合に、strict modeでは例外が発生します。 +strict modeでない場合は、例外が発生せずにグローバル変数が作られます。

                            +
                            "use strict";
                            +mistypedVariable = 42; // => ReferenceError
                            +
                            +

                            このように、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
                            + + + + + + + + + + + +
                            APIDescriptionBehaviorTarget Platformv13+
                            cliCommand LIne InterfaceAsyncNode.js✅ (Use createLinter and loadTextlintrc internally)
                            textlintTextLintCore aliasAsyncNode.js/CommonJS❌ Deprecated
                            TextLintCoreOld API. It is Procedural API. Lint Only Single File. Recommended to use @texltint/kernel module instead of It.AsyncNode.js/CommonJS❌ Deprecated
                            TextLintEngineLint Engine API. It load .textlintrc automaticaly◉ Loading is Sync
                            ◉ Linting is Async
                            Node.js/CommonJS❌ Deprecated
                            TextFixEngineFix Engine API. It load .textlintrc automaticaly◉ Loading is Sync
                            ◉ Fixing is Async
                            Node.js/CommonJS❌ Deprecated
                            createLinter/loadTextlintrcSupport 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";
                            +// descriptor is a structure object for linter
                            +// It includes rules, plugins, and options
                            +const descriptor = await loadTextlintrc();
                            +const linter = createLinter({
                            +    descriptor
                            +});
                            +const results = await linter.lintFiles(["*.md"]);
                            +// textlint has two types formatter sets for linter and fixer
                            +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 nameNode typeDescription
                            ASTNodeTypes.DocumentTxtDocumentNode(TxtParentNode)Root Node
                            ASTNodeTypes.DocumentExitTxtDocumentNode(TxtParentNode)
                            ASTNodeTypes.ParagraphTxtParagraphNode(TxtParentNode)Paragraph Node
                            ASTNodeTypes.ParagraphExitTxtParagraphNode(TxtParentNode)
                            ASTNodeTypes.BlockQuoteTxtBlockQuoteNode(TxtParentNode)> Block Quote Node
                            ASTNodeTypes.BlockQuoteExitTxtBlockQuoteNode(TxtParentNode)
                            ASTNodeTypes.ListTxtListNode(TxtParentNode)List Node
                            ASTNodeTypes.ListExitTxtListNode(TxtParentNode)
                            ASTNodeTypes.ListItemTxtListItemNode(TxtParentNode)List (each) item Node
                            ASTNodeTypes.ListItemExitTxtListItemNode(TxtParentNode)
                            ASTNodeTypes.HeaderTxtHeaderNode(TxtParentNode)# Header Node
                            ASTNodeTypes.HeaderExitTxtHeaderNode(TxtParentNode)
                            ASTNodeTypes.CodeBlockTxtCodeBlockNode(TxtParentNode)Code Block Node
                            ASTNodeTypes.CodeBlockExitTxtCodeBlockNode(TxtParentNode)
                            ASTNodeTypes.HtmlBlockTxtHtmlBlockNode(TxtParentNode)HTML Block Node
                            ASTNodeTypes.HtmlBlockExitTxtHtmlBlockNode(TxtParentNode)
                            ASTNodeTypes.LinkTxtLinkNode(TxtParentNode)Link Node
                            ASTNodeTypes.LinkExitTxtLinkNode(TxtParentNode)
                            ASTNodeTypes.DeleteTxtDeleteNode(TxtParentNode)Delete Node(~Str~)
                            ASTNodeTypes.DeleteExitTxtDeleteNode(TxtParentNode)
                            ASTNodeTypes.EmphasisTxtEmphasisNode(TxtParentNode)Emphasis(*Str*)
                            ASTNodeTypes.EmphasisExitTxtEmphasisNode(TxtParentNode)
                            ASTNodeTypes.StrongTxtStrongNode(TxtParentNode)Strong Node(**Str**)
                            ASTNodeTypes.StrongExitTxtStrongNode(TxtParentNode)
                            ASTNodeTypes.BreakTxtBreakNodeHard Break Node(Str<space><space>)
                            ASTNodeTypes.BreakExitTxtBreakNode
                            ASTNodeTypes.ImageTxtImageNodeImage Node
                            ASTNodeTypes.ImageExitTxtImageNode
                            ASTNodeTypes.HorizontalRuleTxtHorizontalRuleNodeHorizontal Node(---)
                            ASTNodeTypes.HorizontalRuleExitTxtHorizontalRuleNode
                            ASTNodeTypes.CommentTxtCommentNodeComment Node
                            ASTNodeTypes.CommentExitTxtCommentNode
                            ASTNodeTypes.StrTxtStrNodeStr Node
                            ASTNodeTypes.StrExitTxtStrNode
                            ASTNodeTypes.CodeTxtCodeNodeInline Code Node
                            ASTNodeTypes.CodeExitTxtCodeNode
                            ASTNodeTypes.HtmlTxtHtmlNodeInline HTML Node
                            ASTNodeTypes.HtmlExitTxtHtmlNode
                            ASTNodeTypes.TableTxtTableNodeTable node. textlint 13+
                            ASTNodeTypes.TableExitTxtTableNode
                            ASTNodeTypes.TableRowTxtTableRowNodeTable row node. textlint 13+
                            ASTNodeTypes.TableRowExitTxtTableRowNode
                            ASTNodeTypes.TableCellTxtTableCellNodeTable cell node. textlint 13+
                            ASTNodeTypes.TableCellExitTxtTableCellNode
                            +

                            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..ce33342 --- /dev/null +++ b/example/yarn.lock @@ -0,0 +1,3465 @@ +# 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@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +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@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== + +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" + +cli-color@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f" + integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w== + dependencies: + ansi-regex "^2.1.1" + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + memoizee "^0.4.14" + timers-ext "^0.1.5" + +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== + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +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, 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" + +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.62" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + +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== + +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + +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" + +ext@^1.1.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== + dependencies: + type "^2.7.2" + +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, 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== + +flow-parser@^0.*: + version "0.198.2" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.198.2.tgz#4c225995896b6be75943e9358e606a4fd86c87d9" + integrity sha512-tCQzqXbRAz0ZadIhAXGwdp/xsusADo8IK9idgc/2qCK5RmazbKDGedyykfRtzWgy7Klt4f4NZxq0o/wFUg6plQ== + +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.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== + +grasp-equery@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/grasp-equery/-/grasp-equery-0.4.0.tgz#5016329c1eecacfe3671cede7c9bc0fc99b10d7b" + integrity sha512-2KSXPYktsIbhgJJIcjmesX0IDjTDOXrqOi3LocK2HELLQYEXu0WMiPPPpxj9XivXFJ6oLHgwayOPK3nVZ7celQ== + dependencies: + flow-parser "^0.*" + grasp-syntax-javascript "^0.2.0" + prelude-ls "^1.1.2" + +grasp-squery@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/grasp-squery/-/grasp-squery-0.4.0.tgz#05593a7e836eba80a3465f9603f2c366aaf5397f" + integrity sha512-qmWdQ+PmgoyyE5DGGmHXJnddINcK4SvUPW5EKzPUEpq/n/A3ajRBaF+bhP+3wENzYXq4h0DSuKzG3XV3eKSQQA== + dependencies: + grasp-syntax-javascript "~0.2.0" + prelude-ls "~1.1.2" + +grasp-syntax-javascript@^0.2.0, grasp-syntax-javascript@~0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/grasp-syntax-javascript/-/grasp-syntax-javascript-0.2.2.tgz#660ffd8ffb1eb108f77447594ac37e72b2b3504c" + integrity sha512-g6Vsjp1MjqjSeC5kXyAD0GjSj/RdVP6FIoDdOQxFTP0OCZgg5dpDMJt03YkRjdwVvWm6tY+POQ1ANBEYca2atw== + dependencies: + prelude-ls "~1.1.2" + +grasp@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/grasp/-/grasp-0.6.0.tgz#7ecf1e26479cb4dec899b898a8afdf8b7d83fc53" + integrity sha512-zj7hW+yzcdNRbC4+lgaAWeQJ7yBtx5tklxBPyoSfWdkXQKYG75HuuBoY88hZkKzgMPHSPbRyCD4kTgNCKUQvTw== + dependencies: + async "^1.5.0" + cli-color "^1.1.0" + flow-parser "^0.*" + grasp-equery "^0.4.0" + grasp-squery "^0.4.0" + grasp-syntax-javascript "^0.2.0" + levn "^0.3.0" + minimatch "^3.0.3" + optionator "^0.8.0" + prelude-ls "^1.1.2" + slash "^1.0.0" + +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" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +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-promise@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +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.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +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-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== + dependencies: + es5-ext "~0.10.2" + +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== + +memoizee@^0.4.14: + version "0.4.15" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.53" + es6-weak-map "^2.0.3" + event-emitter "^0.3.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" + +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.3, 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== + +next-tick@1, next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +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.8.0: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +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.1.2, 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== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +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" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +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.1.6, 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" + +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +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" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== + +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" + +timers-ext@^0.1.5, timers-ext@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== + dependencies: + es5-ext "~0.10.46" + next-tick "1" + +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" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== + +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, 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 3aab7ef..66ae674 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "textlint-plugin-html", "version": "0.3.0", - "description": "textlint HTML processsor plugin.", + "description": "textlint HTML plugin.", "keywords": [ "textlint", "plugin", @@ -35,7 +35,6 @@ "test": "test" }, "files": [ - "bin/", "module/", "src/" ], From 42214287614b23bd598f1da12ba5c805394926f6 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 20:52:08 +0900 Subject: [PATCH 15/23] CI: add example test --- .github/workflows/test.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 840f628..4c4fd87 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,22 @@ jobs: 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 + run: yarn install + working-directory: ./example + - name: Test + run: yarn test + working-directory: ./example From 7ae3ea0ae8a841aa88d32c67ab6f8bbc4fffafab Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 20:52:33 +0900 Subject: [PATCH 16/23] Update node --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4c4fd87..d809f1e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,12 +6,12 @@ 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 From 03b7defb9305ccfe52f7d3ea4678fce1c7c5c4fe Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 20:53:15 +0900 Subject: [PATCH 17/23] chore: remove unused code --- grasp.cjs | 96 ------------------ package.json | 2 - yarn.lock | 281 +++------------------------------------------------ 3 files changed, 13 insertions(+), 366 deletions(-) delete mode 100644 grasp.cjs diff --git a/grasp.cjs b/grasp.cjs deleted file mode 100644 index e820e3c..0000000 --- a/grasp.cjs +++ /dev/null @@ -1,96 +0,0 @@ -const path = require("path"); -const shell = require("shelljs"); -const testRootDirectory = path.join(__dirname, "test"); - -// textlint.setupRules({}, {}) => const options -function rewriteSetupRuleWithOption() { - const ruleAndRuleOptionPattern = "textlint.setupRules({ $ruleId: $rule }, { $ruleId: $ruleOption });"; - const ruleAndRuleOptionPatternExpected = `const rule = { - ruleId: {{ruleId}}, - rule: {{rule}}, - options: {{ruleOption}} -};`; - shell.exec( - `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` - ); -} - -// textlint.setupRules({}) => const options -function rewriteSetupRule() { - const ruleAndRuleOptionPattern = "textlint.setupRules({ $ruleId: $rule });"; - const ruleAndRuleOptionPatternExpected = `const rule = { - ruleId: {{ruleId}}, - rule: {{rule}} -};`; - shell.exec( - `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` - ); -} - -// textlint.setupFilterRules({}, {}) => const options -function rewriteSetupFilterRuleWithOption() { - const ruleAndRuleOptionPattern = "textlint.setupFilterRules({ $ruleId: $rule }, { $ruleId: $ruleOption });"; - const ruleAndRuleOptionPatternExpected = `const filterRule = { - ruleId: {{ruleId}}, - rule: {{rule}}, - options: {{ruleOption}} -};`; - shell.exec( - `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` - ); -} - -// setupPlugin({}) => const options -function rewriteSetupPlugins() { - const ruleAndRuleOptionPattern = "textlint.setupPlugins({ $pluginId: $plugin });"; - const ruleAndRuleOptionPatternExpected = `const plugin = { - pluginId: "{{pluginId}}", - plugin: {{plugin}}, -};`; - shell.exec( - `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` - ); -} - -// textlint.setupRules({}) => const options -function rewriteSetupFilterRule() { - const ruleAndRuleOptionPattern = "textlint.setupFilterRules({ $ruleId: $rule });"; - const ruleAndRuleOptionPatternExpected = `const filterRule = { - ruleId: {{ruleId}}, - rule: {{rule}} -};`; - shell.exec( - `npx grasp --in-place -r -e '${ruleAndRuleOptionPattern}' --replace '${ruleAndRuleOptionPatternExpected}' ${testRootDirectory}` - ); -} - -// textlint.lintMarkdown("text") => textlint.lintText(text, options); -function rewriteLintMarkdown() { - const lintMarkdownPattern = `textlint.lintMarkdown( $text )`; - const lintMarkdownPatternExpected = `textlint.lintText({{text}}, { ...options, ext: ".md" })`; - shell.exec( - `npx grasp --in-place -r -e '${lintMarkdownPattern}' --replace '${lintMarkdownPatternExpected}' ${testRootDirectory}` - ); -} - -// textlint.lintFile(filePath) => textlint.lintFile(text, options); -function rewriteLintFile() { - const pattern = `textlint.lintFile( $filePath )`; - const expected = `textlint.lintText(fs.readFileSync( {{filePath}}, "utf-8"), { ...options, ext: path.extname({{filePath}}), filePath })`; - shell.exec(`npx grasp --in-place -r -e '${pattern}' --replace '${expected}' ${testRootDirectory}`); -} - -function rewriteCore() { - const pattern = `textlint = new TextLintCore();`; - const expected = `textlint = new TextlintKernel()`; - shell.exec(`npx grasp --in-place -r -e '${pattern}' --replace '${expected}' ${testRootDirectory}`); -} - -rewriteSetupRuleWithOption(); -rewriteSetupRule(); -rewriteSetupFilterRuleWithOption(); -rewriteSetupFilterRule(); -rewriteSetupPlugins(); -rewriteLintMarkdown(); -rewriteLintFile() -rewriteCore(); diff --git a/package.json b/package.json index 66ae674..1eabeda 100644 --- a/package.json +++ b/package.json @@ -64,9 +64,7 @@ "@types/node": "^18.11.18", "@types/traverse": "^0.6.32", "glob": "^8.1.0", - "grasp": "^0.6.0", "mocha": "^10.2.0", - "shelljs": "^0.8.5", "textlint": "^13.0.5", "textlint-rule-no-todo": "^2.0.0", "ts-node": "^10.9.1", diff --git a/yarn.lock b/yarn.lock index 6cde596..6bb836e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -296,11 +296,6 @@ 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.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -343,11 +338,6 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== - bail@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" @@ -458,18 +448,6 @@ chokidar@3.5.3: optionalDependencies: fsevents "~2.3.2" -cli-color@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f" - integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w== - dependencies: - ansi-regex "^2.1.1" - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - memoizee "^0.4.14" - timers-ext "^0.1.5" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -511,14 +489,6 @@ crypt@0.0.2: resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - debug@4.3.4, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -538,7 +508,7 @@ decamelize@^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, deep-is@~0.1.3: +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== @@ -565,42 +535,6 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -es6-weak-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -616,21 +550,6 @@ esprima@^4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - -ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -646,7 +565,7 @@ fast-equals@^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, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -706,11 +625,6 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -flow-parser@^0.*: - version "0.198.2" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.198.2.tgz#4c225995896b6be75943e9358e606a4fd86c87d9" - integrity sha512-tCQzqXbRAz0ZadIhAXGwdp/xsusADo8IK9idgc/2qCK5RmazbKDGedyykfRtzWgy7Klt4f4NZxq0o/wFUg6plQ== - format@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" @@ -760,7 +674,7 @@ glob@7.2.0, glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.2.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== @@ -788,47 +702,6 @@ graceful-fs@^4.1.2: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== -grasp-equery@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/grasp-equery/-/grasp-equery-0.4.0.tgz#5016329c1eecacfe3671cede7c9bc0fc99b10d7b" - integrity sha512-2KSXPYktsIbhgJJIcjmesX0IDjTDOXrqOi3LocK2HELLQYEXu0WMiPPPpxj9XivXFJ6oLHgwayOPK3nVZ7celQ== - dependencies: - flow-parser "^0.*" - grasp-syntax-javascript "^0.2.0" - prelude-ls "^1.1.2" - -grasp-squery@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/grasp-squery/-/grasp-squery-0.4.0.tgz#05593a7e836eba80a3465f9603f2c366aaf5397f" - integrity sha512-qmWdQ+PmgoyyE5DGGmHXJnddINcK4SvUPW5EKzPUEpq/n/A3ajRBaF+bhP+3wENzYXq4h0DSuKzG3XV3eKSQQA== - dependencies: - grasp-syntax-javascript "~0.2.0" - prelude-ls "~1.1.2" - -grasp-syntax-javascript@^0.2.0, grasp-syntax-javascript@~0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/grasp-syntax-javascript/-/grasp-syntax-javascript-0.2.2.tgz#660ffd8ffb1eb108f77447594ac37e72b2b3504c" - integrity sha512-g6Vsjp1MjqjSeC5kXyAD0GjSj/RdVP6FIoDdOQxFTP0OCZgg5dpDMJt03YkRjdwVvWm6tY+POQ1ANBEYca2atw== - dependencies: - prelude-ls "~1.1.2" - -grasp@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/grasp/-/grasp-0.6.0.tgz#7ecf1e26479cb4dec899b898a8afdf8b7d83fc53" - integrity sha512-zj7hW+yzcdNRbC4+lgaAWeQJ7yBtx5tklxBPyoSfWdkXQKYG75HuuBoY88hZkKzgMPHSPbRyCD4kTgNCKUQvTw== - dependencies: - async "^1.5.0" - cli-color "^1.1.0" - flow-parser "^0.*" - grasp-equery "^0.4.0" - grasp-squery "^0.4.0" - grasp-syntax-javascript "^0.2.0" - levn "^0.3.0" - minimatch "^3.0.3" - optionator "^0.8.0" - prelude-ls "^1.1.2" - slash "^1.0.0" - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -895,11 +768,6 @@ inherits@2: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" @@ -942,13 +810,6 @@ is-core-module@^2.2.0: dependencies: has "^1.0.3" -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-decimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" @@ -996,11 +857,6 @@ is-plain-obj@^4.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== -is-promise@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - 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" @@ -1041,14 +897,6 @@ json5@^2.2.2: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -1116,13 +964,6 @@ longest-streak@^2.0.0: resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== -lru-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== - dependencies: - es5-ext "~0.10.2" - make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" @@ -1238,20 +1079,6 @@ mdast-util-to-string@^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== -memoizee@^0.4.14: - version "0.4.15" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" - integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.53" - es6-weak-map "^2.0.3" - event-emitter "^0.3.5" - is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - 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" @@ -1326,13 +1153,6 @@ minimatch@5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.3, 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@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -1340,6 +1160,13 @@ minimatch@^3.0.4: 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" @@ -1413,11 +1240,6 @@ nanoid@3.3.3: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== -next-tick@1, next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - 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" @@ -1440,18 +1262,6 @@ once@^1.3.0: dependencies: wrappy "1" -optionator@^0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -1544,7 +1354,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-parse@^1.0.6, path-parse@^1.0.7: +path-parse@^1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -1602,16 +1412,11 @@ pluralize@^2.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-2.0.0.tgz#72b726aa6fac1edeee42256c7d8dc256b335677f" integrity sha1-crcmqm+sHt7uQiVsfY3CVrM1Z38= -prelude-ls@^1.1.2, prelude-ls@^1.2.1: +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== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - property-information@^6.0.0: version "6.2.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d" @@ -1672,13 +1477,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - rehype-parse@^8.0.4: version "8.0.4" resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-8.0.4.tgz#3d17c9ff16ddfef6bbcc8e6a25a99467b482d688" @@ -1735,15 +1533,6 @@ 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.1.6: - 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" - resolve@^1.10.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" @@ -1776,20 +1565,6 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" -shelljs@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== - slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -1896,11 +1671,6 @@ supports-color@^7.1.0: 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" @@ -1967,14 +1737,6 @@ textlint@^13.0.5: try-resolve "^1.0.1" unique-concat "^0.2.2" -timers-ext@^0.1.5, timers-ext@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - 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" @@ -2028,23 +1790,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - typescript@^4.9.4: version "4.9.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" @@ -2195,7 +1940,7 @@ web-namespaces@^2.0.0: resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== -word-wrap@^1.2.3, word-wrap@~1.2.3: +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== From 5d70251a896c291bbe47f7f258b24552bb630a28 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 21:01:02 +0900 Subject: [PATCH 18/23] test: remove allowJs --- src/HTMLProcessor.ts | 4 +-- src/html-to-ast.ts | 1 - src/index.ts | 3 +- ...rocessor-test.js => HTMLProcessor-test.ts} | 30 +++++++------------ ...tml-to-ast-test.js => html-to-ast-test.ts} | 14 +++++---- tsconfig.json | 1 - 6 files changed, 21 insertions(+), 32 deletions(-) rename test/{HTMLProcessor-test.js => HTMLProcessor-test.ts} (91%) rename test/{html-to-ast-test.js => html-to-ast-test.ts} (87%) diff --git a/src/HTMLProcessor.ts b/src/HTMLProcessor.ts index 1c26284..e0e85ef 100644 --- a/src/HTMLProcessor.ts +++ b/src/HTMLProcessor.ts @@ -1,11 +1,9 @@ // LICENSE : MIT -import { TextlintPluginProcessor } from "@textlint/types"; import { parse } from "./html-to-ast.js"; - export type HTMLProcessorOptions = { extensions?: string[]; } -export default class HTMLProcessor implements TextlintPluginProcessor { +export default class HTMLProcessor { config: HTMLProcessorOptions; extensions: string[]; diff --git a/src/html-to-ast.ts b/src/html-to-ast.ts index 0f6cc61..9555c77 100644 --- a/src/html-to-ast.ts +++ b/src/html-to-ast.ts @@ -133,7 +133,6 @@ export function parse(html: string, options?: ParseOptions) { node.url = node.properties.href; } } - // removeUnusedProperties(node); }); return ast as any as TxtParentNode; } diff --git a/src/index.ts b/src/index.ts index fa726af..f2702ca 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +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/test/HTMLProcessor-test.js b/test/HTMLProcessor-test.ts similarity index 91% rename from test/HTMLProcessor-test.js rename to test/HTMLProcessor-test.ts index b2c2429..bed9114 100644 --- a/test/HTMLProcessor-test.js +++ b/test/HTMLProcessor-test.ts @@ -12,28 +12,15 @@ import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); -const getHeadNode = (ast) => { - const html = ast.children.find(node => { - return node.type === "html"; - }); - if (!html) { - throw new Error("Not found html node"); - } - const head = html.children.find(node => { - return node.type === "head"; - }); - if (!head) { - throw new Error("Not found head node"); - } - return head -} -const getBodyNode = (ast) => { +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"; }); @@ -49,11 +36,11 @@ describe("HTMLProcessor-test", function () { assert(result.type === "Document"); }); it("should map type to TxtNode's type", function () { - function createTag(tagName) { + function createTag(tagName: string) { return `<${tagName}>`; } - - function testMap(typeMap) { + + function testMap(typeMap: { [key: string]: string }) { Object.keys(typeMap).forEach(tagName => { const result = parse(`test${createTag(tagName)}`); assert(result.type === "Document"); @@ -62,7 +49,7 @@ describe("HTMLProcessor-test", function () { assert.strictEqual(firstChild.type, expectedType); }); } - + testMap(tagNameToType); }); }); @@ -76,6 +63,7 @@ describe("HTMLProcessor-test", function () { }; const rule = { ruleId: "no-todo", + // @ts-ignore rule: moduleInterop((await import("textlint-rule-no-todo")).default) }; const options = { @@ -102,6 +90,7 @@ describe("HTMLProcessor-test", function () { }; const rule = { ruleId: "no-todo", + // @ts-ignore rule: moduleInterop((await import("textlint-rule-no-todo")).default) }; const options = { @@ -137,6 +126,7 @@ describe("HTMLProcessor-test", function () { }; const rule = { ruleId: "no-todo", + // @ts-ignore rule: moduleInterop((await import("textlint-rule-no-todo")).default) }; const options = { diff --git a/test/html-to-ast-test.js b/test/html-to-ast-test.ts similarity index 87% rename from test/html-to-ast-test.js rename to test/html-to-ast-test.ts index e98e1c2..871b0f8 100644 --- a/test/html-to-ast-test.js +++ b/test/html-to-ast-test.ts @@ -6,33 +6,35 @@ 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, depth = 0) => { +const dumpTreeView = (node: TxtParentNode, depth = 0) => { let output = ""; const indent = " ".repeat(depth * 2); if (!node.type) { - console.error(node); + 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, depth + 1); + output += dumpTreeView(child as TxtParentNode, depth + 1); }); } return output; } -const assertUndefinedType = (node) => { - if (!"type" in node) { +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); + assertUndefinedType(child as TxtParentNode); }); } } diff --git a/tsconfig.json b/tsconfig.json index 315601e..416615d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -20,7 +20,6 @@ "noUnusedParameters": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, - "allowJs": true, "skipLibCheck": true }, "include": [ From de93e1ea585bafe56fe16af86951e5c3bb7f0973 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 21:19:12 +0900 Subject: [PATCH 19/23] feat: support h1-h6 tag --- src/html-to-ast.ts | 58 +- src/mapping.ts | 8 +- test/ast-test-case/element-void/output.json | 5 +- test/ast-test-case/h1-h7/index.html | 15 + test/ast-test-case/h1-h7/output-tree.txt | 31 + test/ast-test-case/h1-h7/output.json | 1006 +++++++++++++++++++ test/ast-test-case/h1-h7/result.html | 1 + test/ast-test-case/verbose/output.json | 3 +- 8 files changed, 1121 insertions(+), 6 deletions(-) create mode 100644 test/ast-test-case/h1-h7/index.html create mode 100644 test/ast-test-case/h1-h7/output-tree.txt create mode 100644 test/ast-test-case/h1-h7/output.json create mode 100644 test/ast-test-case/h1-h7/result.html diff --git a/src/html-to-ast.ts b/src/html-to-ast.ts index 9555c77..6ab8ee8 100644 --- a/src/html-to-ast.ts +++ b/src/html-to-ast.ts @@ -1,5 +1,28 @@ // LICENSE : MIT -import type { TxtParentNode } from "@textlint/ast-node-types"; +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"; @@ -129,8 +152,37 @@ export function parse(html: string, options?: ParseOptions) { } // === properties === // map `url` to Link node - if (node.type === "Link" && typeof node.properties.href !== "undefined") { - node.url = node.properties.href; + 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; } } }); diff --git a/src/mapping.ts b/src/mapping.ts index d3fd16c..d68b89f 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -13,7 +13,13 @@ export const tagNameToType = { "em": "Emphasis", "strong": "Strong", "a": "Link", - "img": "Image" + "img": "Image", + "h1": "Header", + "h2": "Header", + "h3": "Header", + "h4": "Header", + "h5": "Header", + "h6": "Header", } as const; export const nodeTypes = { diff --git a/test/ast-test-case/element-void/output.json b/test/ast-test-case/element-void/output.json index 5f8e026..4f9d9cd 100644 --- a/test/ast-test-case/element-void/output.json +++ b/test/ast-test-case/element-void/output.json @@ -67,7 +67,10 @@ 0, 60 ], - "raw": "\"foo\"" + "raw": "\"foo\"", + "alt": "foo", + "title": "bar", + "url": "http://example.com/fav.ico" }, { "type": "Str", 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": "\n

                            h1

                            \n

                            h2

                            \n

                            h3

                            \n

                            h4

                            \n
                            h5
                            \n
                            h6
                            \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\n

                            h1

                            \n

                            h2

                            \n

                            h3

                            \n

                            h4

                            \n
                            h5
                            \n
                            h6
                            \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\n

                            h1

                            \n

                            h2

                            \n

                            h3

                            \n

                            h4

                            \n
                            h5
                            \n
                            h6
                            \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/verbose/output.json b/test/ast-test-case/verbose/output.json index c4d2a74..3caf833 100644 --- a/test/ast-test-case/verbose/output.json +++ b/test/ast-test-case/verbose/output.json @@ -65,7 +65,8 @@ 0, 17 ], - "raw": "" + "raw": "", + "url": "#" }, { "type": "Str", From 990982a1bc61ad1af5eb260e84f612b5e588b096 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 21:25:10 +0900 Subject: [PATCH 20/23] feat: ol and ul --- src/html-to-ast.ts | 6 ++++++ test/ast-test-case/element-auto-close-document/output.json | 3 ++- test/ast-test-case/element-auto-close-fragment/output.json | 3 ++- test/ast-test-case/list/output.json | 6 ++++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/html-to-ast.ts b/src/html-to-ast.ts index 6ab8ee8..43bb894 100644 --- a/src/html-to-ast.ts +++ b/src/html-to-ast.ts @@ -183,6 +183,12 @@ export function parse(html: string, options?: ParseOptions) { } 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; + } } } }); diff --git a/test/ast-test-case/element-auto-close-document/output.json b/test/ast-test-case/element-auto-close-document/output.json index b7a4fdb..252766c 100644 --- a/test/ast-test-case/element-auto-close-document/output.json +++ b/test/ast-test-case/element-auto-close-document/output.json @@ -557,7 +557,8 @@ 61, 89 ], - "raw": "
                              \n
                            1. delta\n
                            2. echo\n" + "raw": "
                                \n
                              1. delta\n
                              2. echo\n", + "ordered": true } ], "position": { diff --git a/test/ast-test-case/element-auto-close-fragment/output.json b/test/ast-test-case/element-auto-close-fragment/output.json index b7a4fdb..252766c 100644 --- a/test/ast-test-case/element-auto-close-fragment/output.json +++ b/test/ast-test-case/element-auto-close-fragment/output.json @@ -557,7 +557,8 @@ 61, 89 ], - "raw": "
                                  \n
                                1. delta\n
                                2. echo\n" + "raw": "
                                    \n
                                  1. delta\n
                                  2. echo\n", + "ordered": true } ], "position": { diff --git a/test/ast-test-case/list/output.json b/test/ast-test-case/list/output.json index bdcd986..494491c 100644 --- a/test/ast-test-case/list/output.json +++ b/test/ast-test-case/list/output.json @@ -287,7 +287,8 @@ 0, 55 ], - "raw": "
                                      \n
                                    • first item
                                    • \n
                                    • second item
                                    • \n
                                    " + "raw": "
                                      \n
                                    • first item
                                    • \n
                                    • second item
                                    • \n
                                    ", + "ordered": false }, { "type": "Str", @@ -575,7 +576,8 @@ 56, 115 ], - "raw": "
                                      \n
                                    1. # first item
                                    2. \n
                                    3. # second item
                                    4. \n
                                    " + "raw": "
                                      \n
                                    1. # first item
                                    2. \n
                                    3. # second item
                                    4. \n
                                    ", + "ordered": true }, { "type": "Str", From 83d1b6961449c30e1b7f586d122cae7b21edbd68 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 21:34:16 +0900 Subject: [PATCH 21/23] update --- README.md | 10 ++ example/yarn.lock | 248 ++-------------------------------------------- 2 files changed, 17 insertions(+), 241 deletions(-) diff --git a/README.md b/README.md index 5a7d650..7c73e8f 100644 --- a/README.md +++ b/README.md @@ -55,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/yarn.lock b/example/yarn.lock index ce33342..b0f6a0c 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -387,11 +387,6 @@ 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.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -449,11 +444,6 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== - async@^2.0.1: version "2.6.4" resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" @@ -598,18 +588,6 @@ chokidar@3.5.3: optionalDependencies: fsevents "~2.3.2" -cli-color@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f" - integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w== - dependencies: - ansi-regex "^2.1.1" - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - memoizee "^0.4.14" - timers-ext "^0.1.5" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -691,14 +669,6 @@ crypt@0.0.2: resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - 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" @@ -711,7 +681,7 @@ decamelize@^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, deep-is@~0.1.3: +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== @@ -833,42 +803,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -es6-weak-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -889,14 +823,6 @@ esprima@^4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - execall@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73" @@ -911,13 +837,6 @@ execall@^2.0.0: dependencies: clone-regexp "^2.1.0" -ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" @@ -941,7 +860,7 @@ fast-equals@^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, fast-levenshtein@~2.0.6: +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== @@ -1001,11 +920,6 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -flow-parser@^0.*: - version "0.198.2" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.198.2.tgz#4c225995896b6be75943e9358e606a4fd86c87d9" - integrity sha512-tCQzqXbRAz0ZadIhAXGwdp/xsusADo8IK9idgc/2qCK5RmazbKDGedyykfRtzWgy7Klt4f4NZxq0o/wFUg6plQ== - for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -1094,7 +1008,7 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.3, glob@^7.2.3: +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== @@ -1136,47 +1050,6 @@ graceful-fs@^4.1.2: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -grasp-equery@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/grasp-equery/-/grasp-equery-0.4.0.tgz#5016329c1eecacfe3671cede7c9bc0fc99b10d7b" - integrity sha512-2KSXPYktsIbhgJJIcjmesX0IDjTDOXrqOi3LocK2HELLQYEXu0WMiPPPpxj9XivXFJ6oLHgwayOPK3nVZ7celQ== - dependencies: - flow-parser "^0.*" - grasp-syntax-javascript "^0.2.0" - prelude-ls "^1.1.2" - -grasp-squery@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/grasp-squery/-/grasp-squery-0.4.0.tgz#05593a7e836eba80a3465f9603f2c366aaf5397f" - integrity sha512-qmWdQ+PmgoyyE5DGGmHXJnddINcK4SvUPW5EKzPUEpq/n/A3ajRBaF+bhP+3wENzYXq4h0DSuKzG3XV3eKSQQA== - dependencies: - grasp-syntax-javascript "~0.2.0" - prelude-ls "~1.1.2" - -grasp-syntax-javascript@^0.2.0, grasp-syntax-javascript@~0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/grasp-syntax-javascript/-/grasp-syntax-javascript-0.2.2.tgz#660ffd8ffb1eb108f77447594ac37e72b2b3504c" - integrity sha512-g6Vsjp1MjqjSeC5kXyAD0GjSj/RdVP6FIoDdOQxFTP0OCZgg5dpDMJt03YkRjdwVvWm6tY+POQ1ANBEYca2atw== - dependencies: - prelude-ls "~1.1.2" - -grasp@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/grasp/-/grasp-0.6.0.tgz#7ecf1e26479cb4dec899b898a8afdf8b7d83fc53" - integrity sha512-zj7hW+yzcdNRbC4+lgaAWeQJ7yBtx5tklxBPyoSfWdkXQKYG75HuuBoY88hZkKzgMPHSPbRyCD4kTgNCKUQvTw== - dependencies: - async "^1.5.0" - cli-color "^1.1.0" - flow-parser "^0.*" - grasp-equery "^0.4.0" - grasp-squery "^0.4.0" - grasp-syntax-javascript "^0.2.0" - levn "^0.3.0" - minimatch "^3.0.3" - optionator "^0.8.0" - prelude-ls "^1.1.2" - slash "^1.0.0" - 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" @@ -1307,11 +1180,6 @@ internal-slot@^1.0.4: has "^1.0.3" side-channel "^1.0.4" -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - 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" @@ -1486,11 +1354,6 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-promise@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -1630,14 +1493,6 @@ kuromojin@^3.0.0: kuromoji "0.1.2" lru_map "^0.4.1" -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -1720,13 +1575,6 @@ longest-streak@^2.0.0: resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== -lru-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== - dependencies: - es5-ext "~0.10.2" - lru_map@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.4.1.tgz#f7b4046283c79fb7370c36f8fca6aee4324b0a98" @@ -1854,20 +1702,6 @@ mdast-util-to-string@^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== -memoizee@^0.4.14: - version "0.4.15" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" - integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.53" - es6-weak-map "^2.0.3" - event-emitter "^0.3.5" - is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - 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" @@ -1942,7 +1776,7 @@ minimatch@5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.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== @@ -2037,11 +1871,6 @@ nanoid@3.3.3: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== -next-tick@1, next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - 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" @@ -2094,18 +1923,6 @@ once@^1.3.0: dependencies: wrappy "1" -optionator@^0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -2261,16 +2078,11 @@ pluralize@^2.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-2.0.0.tgz#72b726aa6fac1edeee42256c7d8dc256b335677f" integrity sha512-TqNZzQCD4S42De9IfnnBvILN7HAW7riLqsCyp8lgjXeysyPlX5HhqKAcJHHHb9XskE4/a+7VGC9zzx8Ls0jOAw== -prelude-ls@^1.1.2, prelude-ls@^1.2.1: +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== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - prh@^5.4.4: version "5.4.4" resolved "https://registry.yarnpkg.com/prh/-/prh-5.4.4.tgz#5b618213a187f3580f262f4e0f79e8e8561ea179" @@ -2356,13 +2168,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -2450,7 +2255,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.1.6, resolve@^1.10.0: +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== @@ -2514,15 +2319,6 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" -shelljs@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -2532,11 +2328,6 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== - slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -3016,14 +2807,6 @@ textlint@^13.0.5: try-resolve "^1.0.1" unique-concat "^0.2.2" -timers-ext@^0.1.5, timers-ext@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - 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" @@ -3087,23 +2870,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - 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" @@ -3370,7 +3136,7 @@ which-typed-array@^1.1.9: has-tostringtag "^1.0.0" is-typed-array "^1.1.10" -word-wrap@^1.2.3, word-wrap@~1.2.3: +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== From 995d8d65632c15568c8d3ab9485e3b88eca79cb0 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 21:37:03 +0900 Subject: [PATCH 22/23] CI: test --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d809f1e..06cfb75 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,6 @@ jobs: run: yarn install - name: Test run: yarn test - example: name: "Run Example" runs-on: ubuntu-latest @@ -29,6 +28,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: 18 + - name: Install run: yarn install working-directory: ./example - name: Test From 00fa00f6433dd76292a942171fdcbe06a41be9e8 Mon Sep 17 00:00:00 2001 From: azu Date: Sun, 29 Jan 2023 21:47:00 +0900 Subject: [PATCH 23/23] CI: add .github/release.yml --- example/.github/release.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 example/.github/release.yml 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: ['*']