1
0
mirror of https://github.com/squidfunk/mkdocs-material.git synced 2024-11-27 17:00:54 +01:00

Adde --watch and --dirty mode to build

This commit is contained in:
squidfunk 2021-02-26 16:14:18 +01:00
parent 500d5e6f74
commit 4b6edc1c49
18 changed files with 401 additions and 423 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -57,5 +57,5 @@
* Copyright (C) 2020 Oliver Nightingale * Copyright (C) 2020 Oliver Nightingale
* @license MIT * @license MIT
*/ */
//# sourceMappingURL=search.31ff4e5f.min.js.map //# sourceMappingURL=search.fb4a9340.min.js.map

View File

@ -191,7 +191,7 @@
"base": base_url, "base": base_url,
"features": features, "features": features,
"translations": {}, "translations": {},
"search": "assets/javascripts/workers/search.31ff4e5f.min.js" | url, "search": "assets/javascripts/workers/search.fb4a9340.min.js" | url,
"version": config.extra.version or None "version": config.extra.version or None
} -%} } -%}
{%- set translations = app.translations -%} {%- set translations = app.translations -%}
@ -217,7 +217,7 @@
</script> </script>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script src="{{ 'assets/javascripts/bundle.216d634c.min.js' | url }}"></script> <script src="{{ 'assets/javascripts/bundle.ca5457b8.min.js' | url }}"></script>
{% for path in config["extra_javascript"] %} {% for path in config["extra_javascript"] %}
<script src="{{ path | url }}"></script> <script src="{{ path | url }}"></script>
{% endfor %} {% endfor %}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -53,5 +53,5 @@
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
{{ super() }} {{ super() }}
<script src="{{ 'overrides/assets/javascripts/bundle.c978d37b.min.js' | url }}"></script> <script src="{{ 'overrides/assets/javascripts/bundle.32b3ebe8.min.js' | url }}"></script>
{% endblock %} {% endblock %}

472
package-lock.json generated
View File

@ -13,26 +13,33 @@
"@babel/highlight": "^7.10.4" "@babel/highlight": "^7.10.4"
} }
}, },
"@babel/compat-data": {
"version": "7.13.6",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.6.tgz",
"integrity": "sha512-VhgqKOWYVm7lQXlvbJnWOzwfAQATd2nV52koT0HZ/LdDH0m4DUDwkKYsH+IwpXb+bKPyBJzawA4I6nBKqZcpQw==",
"dev": true
},
"@babel/core": { "@babel/core": {
"version": "7.12.17", "version": "7.13.1",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.17.tgz", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.1.tgz",
"integrity": "sha512-V3CuX1aBywbJvV2yzJScRxeiiw0v2KZZYYE3giywxzFJL13RiyPjaaDwhDnxmgFTTS7FgvM2ijr4QmKNIu0AtQ==", "integrity": "sha512-FzeKfFBG2rmFtGiiMdXZPFt/5R5DXubVi82uYhjGX4Msf+pgYQMCFIqFXZWs5vbIYbf14VeBIgdGI03CDOOM1w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.12.13", "@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.12.17", "@babel/generator": "^7.13.0",
"@babel/helper-module-transforms": "^7.12.17", "@babel/helper-compilation-targets": "^7.13.0",
"@babel/helpers": "^7.12.17", "@babel/helper-module-transforms": "^7.13.0",
"@babel/parser": "^7.12.17", "@babel/helpers": "^7.13.0",
"@babel/parser": "^7.13.0",
"@babel/template": "^7.12.13", "@babel/template": "^7.12.13",
"@babel/traverse": "^7.12.17", "@babel/traverse": "^7.13.0",
"@babel/types": "^7.12.17", "@babel/types": "^7.13.0",
"convert-source-map": "^1.7.0", "convert-source-map": "^1.7.0",
"debug": "^4.1.0", "debug": "^4.1.0",
"gensync": "^1.0.0-beta.1", "gensync": "^1.0.0-beta.2",
"json5": "^2.1.2", "json5": "^2.1.2",
"lodash": "^4.17.19", "lodash": "^4.17.19",
"semver": "^5.4.1", "semver": "7.0.0",
"source-map": "^0.5.0" "source-map": "^0.5.0"
}, },
"dependencies": { "dependencies": {
@ -55,9 +62,9 @@
} }
}, },
"semver": { "semver": {
"version": "5.7.1", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
"dev": true "dev": true
}, },
"source-map": { "source-map": {
@ -69,12 +76,12 @@
} }
}, },
"@babel/generator": { "@babel/generator": {
"version": "7.12.17", "version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.17.tgz", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.0.tgz",
"integrity": "sha512-DSA7ruZrY4WI8VxuS1jWSRezFnghEoYEFrZcw9BizQRmOZiUsiHl59+qEARGPqPikwA/GPTyRCi7isuCK/oyqg==", "integrity": "sha512-zBZfgvBB/ywjx0Rgc2+BwoH/3H+lDtlgD4hBOpEv5LxRnYsm/753iRuLepqnYlynpjC3AdQxtxsoeHJoEEwOAw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/types": "^7.12.17", "@babel/types": "^7.13.0",
"jsesc": "^2.5.1", "jsesc": "^2.5.1",
"source-map": "^0.5.0" "source-map": "^0.5.0"
}, },
@ -87,6 +94,26 @@
} }
} }
}, },
"@babel/helper-compilation-targets": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.0.tgz",
"integrity": "sha512-SOWD0JK9+MMIhTQiUVd4ng8f3NXhPVQvTv7D3UN4wbp/6cAHnB2EmMaU1zZA2Hh1gwme+THBrVSqTFxHczTh0Q==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.13.0",
"@babel/helper-validator-option": "^7.12.17",
"browserslist": "^4.14.5",
"semver": "7.0.0"
},
"dependencies": {
"semver": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
"integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
"dev": true
}
}
},
"@babel/helper-function-name": { "@babel/helper-function-name": {
"version": "7.12.13", "version": "7.12.13",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz",
@ -108,12 +135,12 @@
} }
}, },
"@babel/helper-member-expression-to-functions": { "@babel/helper-member-expression-to-functions": {
"version": "7.12.17", "version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.17.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz",
"integrity": "sha512-Bzv4p3ODgS/qpBE0DiJ9qf5WxSmrQ8gVTe8ClMfwwsY2x/rhykxxy3bXzG7AGTnPB2ij37zGJ/Q/6FruxHxsxg==", "integrity": "sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/types": "^7.12.17" "@babel/types": "^7.13.0"
} }
}, },
"@babel/helper-module-imports": { "@babel/helper-module-imports": {
@ -126,19 +153,19 @@
} }
}, },
"@babel/helper-module-transforms": { "@babel/helper-module-transforms": {
"version": "7.12.17", "version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.17.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz",
"integrity": "sha512-sFL+p6zOCQMm9vilo06M4VHuTxUAwa6IxgL56Tq1DVtA0ziAGTH1ThmJq7xwPqdQlgAbKX3fb0oZNbtRIyA5KQ==", "integrity": "sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-module-imports": "^7.12.13", "@babel/helper-module-imports": "^7.12.13",
"@babel/helper-replace-supers": "^7.12.13", "@babel/helper-replace-supers": "^7.13.0",
"@babel/helper-simple-access": "^7.12.13", "@babel/helper-simple-access": "^7.12.13",
"@babel/helper-split-export-declaration": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13",
"@babel/helper-validator-identifier": "^7.12.11", "@babel/helper-validator-identifier": "^7.12.11",
"@babel/template": "^7.12.13", "@babel/template": "^7.12.13",
"@babel/traverse": "^7.12.17", "@babel/traverse": "^7.13.0",
"@babel/types": "^7.12.17", "@babel/types": "^7.13.0",
"lodash": "^4.17.19" "lodash": "^4.17.19"
} }
}, },
@ -152,15 +179,15 @@
} }
}, },
"@babel/helper-replace-supers": { "@babel/helper-replace-supers": {
"version": "7.12.13", "version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz",
"integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", "integrity": "sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-member-expression-to-functions": "^7.12.13", "@babel/helper-member-expression-to-functions": "^7.13.0",
"@babel/helper-optimise-call-expression": "^7.12.13", "@babel/helper-optimise-call-expression": "^7.12.13",
"@babel/traverse": "^7.12.13", "@babel/traverse": "^7.13.0",
"@babel/types": "^7.12.13" "@babel/types": "^7.13.0"
} }
}, },
"@babel/helper-simple-access": { "@babel/helper-simple-access": {
@ -187,15 +214,21 @@
"integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
"dev": true "dev": true
}, },
"@babel/helpers": { "@babel/helper-validator-option": {
"version": "7.12.17", "version": "7.12.17",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.17.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz",
"integrity": "sha512-tEpjqSBGt/SFEsFikKds1sLNChKKGGR17flIgQKXH4fG6m9gTgl3gnOC1giHNyaBCSKuTfxaSzHi7UnvqiVKxg==", "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==",
"dev": true
},
"@babel/helpers": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.0.tgz",
"integrity": "sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/template": "^7.12.13", "@babel/template": "^7.12.13",
"@babel/traverse": "^7.12.17", "@babel/traverse": "^7.13.0",
"@babel/types": "^7.12.17" "@babel/types": "^7.13.0"
} }
}, },
"@babel/highlight": { "@babel/highlight": {
@ -210,9 +243,9 @@
} }
}, },
"@babel/parser": { "@babel/parser": {
"version": "7.12.17", "version": "7.13.4",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.17.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.4.tgz",
"integrity": "sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg==", "integrity": "sha512-uvoOulWHhI+0+1f9L4BoozY7U5cIkZ9PgJqvb041d6vypgUmtVPG4vmGm4pSggjl8BELzvHyUeJSUyEMY6b+qA==",
"dev": true "dev": true
}, },
"@babel/template": { "@babel/template": {
@ -238,17 +271,17 @@
} }
}, },
"@babel/traverse": { "@babel/traverse": {
"version": "7.12.17", "version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.17.tgz", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz",
"integrity": "sha512-LGkTqDqdiwC6Q7fWSwQoas/oyiEYw6Hqjve5KOSykXkmFJFqzvGMb9niaUEag3Rlve492Mkye3gLw9FTv94fdQ==", "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.12.13", "@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.12.17", "@babel/generator": "^7.13.0",
"@babel/helper-function-name": "^7.12.13", "@babel/helper-function-name": "^7.12.13",
"@babel/helper-split-export-declaration": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13",
"@babel/parser": "^7.12.17", "@babel/parser": "^7.13.0",
"@babel/types": "^7.12.17", "@babel/types": "^7.13.0",
"debug": "^4.1.0", "debug": "^4.1.0",
"globals": "^11.1.0", "globals": "^11.1.0",
"lodash": "^4.17.19" "lodash": "^4.17.19"
@ -272,9 +305,9 @@
} }
}, },
"@babel/types": { "@babel/types": {
"version": "7.12.17", "version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.17.tgz", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz",
"integrity": "sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ==", "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-validator-identifier": "^7.12.11", "@babel/helper-validator-identifier": "^7.12.11",
@ -400,6 +433,12 @@
"unist-util-find-all-after": "^3.0.2" "unist-util-find-all-after": "^3.0.2"
} }
}, },
"@trysound/sax": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz",
"integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==",
"dev": true
},
"@types/clean-css": { "@types/clean-css": {
"version": "4.2.3", "version": "4.2.3",
"resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.3.tgz", "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.3.tgz",
@ -569,13 +608,13 @@
} }
}, },
"@typescript-eslint/eslint-plugin": { "@typescript-eslint/eslint-plugin": {
"version": "4.15.1", "version": "4.15.2",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.2.tgz",
"integrity": "sha512-yW2epMYZSpNJXZy22Biu+fLdTG8Mn6b22kR3TqblVk50HGNV8Zya15WAXuQCr8tKw4Qf1BL4QtI6kv6PCkLoJw==", "integrity": "sha512-uiQQeu9tWl3f1+oK0yoAv9lt/KXO24iafxgQTkIYO/kitruILGx3uH+QtIAHqxFV+yIsdnJH+alel9KuE3J15Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/experimental-utils": "4.15.1", "@typescript-eslint/experimental-utils": "4.15.2",
"@typescript-eslint/scope-manager": "4.15.1", "@typescript-eslint/scope-manager": "4.15.2",
"debug": "^4.1.1", "debug": "^4.1.1",
"functional-red-black-tree": "^1.0.1", "functional-red-black-tree": "^1.0.1",
"lodash": "^4.17.15", "lodash": "^4.17.15",
@ -585,55 +624,55 @@
} }
}, },
"@typescript-eslint/experimental-utils": { "@typescript-eslint/experimental-utils": {
"version": "4.15.1", "version": "4.15.2",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.2.tgz",
"integrity": "sha512-9LQRmOzBRI1iOdJorr4jEnQhadxK4c9R2aEAsm7WE/7dq8wkKD1suaV0S/JucTL8QlYUPU1y2yjqg+aGC0IQBQ==", "integrity": "sha512-Fxoshw8+R5X3/Vmqwsjc8nRO/7iTysRtDqx6rlfLZ7HbT8TZhPeQqbPjTyk2RheH3L8afumecTQnUc9EeXxohQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.3", "@types/json-schema": "^7.0.3",
"@typescript-eslint/scope-manager": "4.15.1", "@typescript-eslint/scope-manager": "4.15.2",
"@typescript-eslint/types": "4.15.1", "@typescript-eslint/types": "4.15.2",
"@typescript-eslint/typescript-estree": "4.15.1", "@typescript-eslint/typescript-estree": "4.15.2",
"eslint-scope": "^5.0.0", "eslint-scope": "^5.0.0",
"eslint-utils": "^2.0.0" "eslint-utils": "^2.0.0"
} }
}, },
"@typescript-eslint/parser": { "@typescript-eslint/parser": {
"version": "4.15.1", "version": "4.15.2",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.15.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.15.2.tgz",
"integrity": "sha512-V8eXYxNJ9QmXi5ETDguB7O9diAXlIyS+e3xzLoP/oVE4WCAjssxLIa0mqCLsCGXulYJUfT+GV70Jv1vHsdKwtA==", "integrity": "sha512-SHeF8xbsC6z2FKXsaTb1tBCf0QZsjJ94H6Bo51Y1aVEZ4XAefaw5ZAilMoDPlGghe+qtq7XdTiDlGfVTOmvA+Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/scope-manager": "4.15.1", "@typescript-eslint/scope-manager": "4.15.2",
"@typescript-eslint/types": "4.15.1", "@typescript-eslint/types": "4.15.2",
"@typescript-eslint/typescript-estree": "4.15.1", "@typescript-eslint/typescript-estree": "4.15.2",
"debug": "^4.1.1" "debug": "^4.1.1"
} }
}, },
"@typescript-eslint/scope-manager": { "@typescript-eslint/scope-manager": {
"version": "4.15.1", "version": "4.15.2",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.15.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.15.2.tgz",
"integrity": "sha512-ibQrTFcAm7yG4C1iwpIYK7vDnFg+fKaZVfvyOm3sNsGAerKfwPVFtYft5EbjzByDJ4dj1WD8/34REJfw/9wdVA==", "integrity": "sha512-Zm0tf/MSKuX6aeJmuXexgdVyxT9/oJJhaCkijv0DvJVT3ui4zY6XYd6iwIo/8GEZGy43cd7w1rFMiCLHbRzAPQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "4.15.1", "@typescript-eslint/types": "4.15.2",
"@typescript-eslint/visitor-keys": "4.15.1" "@typescript-eslint/visitor-keys": "4.15.2"
} }
}, },
"@typescript-eslint/types": { "@typescript-eslint/types": {
"version": "4.15.1", "version": "4.15.2",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.15.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.15.2.tgz",
"integrity": "sha512-iGsaUyWFyLz0mHfXhX4zO6P7O3sExQpBJ2dgXB0G5g/8PRVfBBsmQIc3r83ranEQTALLR3Vko/fnCIVqmH+mPw==", "integrity": "sha512-r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ==",
"dev": true "dev": true
}, },
"@typescript-eslint/typescript-estree": { "@typescript-eslint/typescript-estree": {
"version": "4.15.1", "version": "4.15.2",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.2.tgz",
"integrity": "sha512-z8MN3CicTEumrWAEB2e2CcoZa3KP9+SMYLIA2aM49XW3cWIaiVSOAGq30ffR5XHxRirqE90fgLw3e6WmNx5uNw==", "integrity": "sha512-cGR8C2g5SPtHTQvAymEODeqx90pJHadWsgTtx6GbnTWKqsg7yp6Eaya9nFzUd4KrKhxdYTTFBiYeTPQaz/l8bw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "4.15.1", "@typescript-eslint/types": "4.15.2",
"@typescript-eslint/visitor-keys": "4.15.1", "@typescript-eslint/visitor-keys": "4.15.2",
"debug": "^4.1.1", "debug": "^4.1.1",
"globby": "^11.0.1", "globby": "^11.0.1",
"is-glob": "^4.0.1", "is-glob": "^4.0.1",
@ -642,12 +681,12 @@
} }
}, },
"@typescript-eslint/visitor-keys": { "@typescript-eslint/visitor-keys": {
"version": "4.15.1", "version": "4.15.2",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.2.tgz",
"integrity": "sha512-tYzaTP9plooRJY8eNlpAewTOqtWW/4ff/5wBjNVaJ0S0wC4Gpq/zDVRTJa5bq2v1pCNQ08xxMCndcvR+h7lMww==", "integrity": "sha512-TME1VgSb7wTwgENN5KVj4Nqg25hP8DisXxNBojM4Nn31rYaNDIocNm5cmjOFfh42n7NVERxWrDFoETO/76ePyg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "4.15.1", "@typescript-eslint/types": "4.15.2",
"eslint-visitor-keys": "^2.0.0" "eslint-visitor-keys": "^2.0.0"
} }
}, },
@ -1060,9 +1099,9 @@
} }
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001191", "version": "1.0.30001192",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz",
"integrity": "sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw==", "integrity": "sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw==",
"dev": true "dev": true
}, },
"ccount": { "ccount": {
@ -1268,9 +1307,9 @@
} }
}, },
"colorette": { "colorette": {
"version": "1.2.1", "version": "1.2.2",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
"integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
"dev": true "dev": true
}, },
"combined-stream": { "combined-stream": {
@ -1777,9 +1816,9 @@
} }
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.3.671", "version": "1.3.674",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.671.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.674.tgz",
"integrity": "sha512-RTD97QkdrJKaKwRv9h/wGAaoR2lGxNXEcBXS31vjitgTPwTWAbLdS7cEsBK68eEQy7p6YyT8D5BxBEYHu2SuwQ==", "integrity": "sha512-DBmEKRVYLZAoQSW+AmLcTF5Bpwhk4RUkobtzXVDlfPPYIlbsH3Jfg3QbBjAfFcRARzMIo4YiMhp3N+RnMuo1Eg==",
"dev": true "dev": true
}, },
"emoji-regex": { "emoji-regex": {
@ -1846,9 +1885,9 @@
} }
}, },
"esbuild": { "esbuild": {
"version": "0.8.50", "version": "0.8.52",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.50.tgz", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.52.tgz",
"integrity": "sha512-oidFLXssA7IccYzkqLVZSqNJDwDq8Mh/vqvrW+3fPWM7iUiC5O2bCllhnO8+K9LlyL/2Z6n+WwRJAz9fqSIVRg==", "integrity": "sha512-b5KzFweLLXoXQwdC/e2+Z80c8uo2M5MgP7yQEEebkFw6In4T9CvYcNoM2ElvJt8ByO04zAZUV0fZkXmXoi2s9A==",
"dev": true "dev": true
}, },
"escalade": { "escalade": {
@ -2099,9 +2138,9 @@
} }
}, },
"eslint-plugin-jsdoc": { "eslint-plugin-jsdoc": {
"version": "32.1.0", "version": "32.2.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-32.1.0.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-32.2.0.tgz",
"integrity": "sha512-nCdKF8QQvAZ6RsnNoEK4kPF0aD9E6XURdjLx88oIqF+txmPNXAo2rNvu2WwV77R78vnhAGJkeOgmxmYdRRpgaQ==", "integrity": "sha512-ikeVeF3JVmzjcmGd04OZK0rXjgiw46TWtNX+OhyF2jQlw3w1CAU1vyAyLv8PZcIjp7WxP4N20Vg1CI9bp/52dw==",
"dev": true, "dev": true,
"requires": { "requires": {
"comment-parser": "1.1.2", "comment-parser": "1.1.2",
@ -2419,9 +2458,9 @@
"dev": true "dev": true
}, },
"fastq": { "fastq": {
"version": "1.10.1", "version": "1.11.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz",
"integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==", "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==",
"dev": true, "dev": true,
"requires": { "requires": {
"reusify": "^1.0.4" "reusify": "^1.0.4"
@ -3703,12 +3742,6 @@
"integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
"dev": true "dev": true
}, },
"memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
"integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=",
"dev": true
},
"meow": { "meow": {
"version": "9.0.0", "version": "9.0.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
@ -4042,12 +4075,6 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true "dev": true
}, },
"nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
"no-case": { "no-case": {
"version": "2.3.2", "version": "2.3.2",
"resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
@ -4064,9 +4091,9 @@
"dev": true "dev": true
}, },
"node-releases": { "node-releases": {
"version": "1.1.70", "version": "1.1.71",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz",
"integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==",
"dev": true "dev": true
}, },
"normalize-package-data": { "normalize-package-data": {
@ -4113,112 +4140,6 @@
"integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
"dev": true "dev": true
}, },
"npm-run-all": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
"integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"chalk": "^2.4.1",
"cross-spawn": "^6.0.5",
"memorystream": "^0.3.1",
"minimatch": "^3.0.4",
"pidtree": "^0.3.0",
"read-pkg": "^3.0.0",
"shell-quote": "^1.6.1",
"string.prototype.padend": "^3.0.0"
},
"dependencies": {
"cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
"requires": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
},
"load-json-file": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
"integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"parse-json": "^4.0.0",
"pify": "^3.0.0",
"strip-bom": "^3.0.0"
}
},
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"dev": true
},
"path-type": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
"dev": true,
"requires": {
"pify": "^3.0.0"
}
},
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
},
"read-pkg": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
"dev": true,
"requires": {
"load-json-file": "^4.0.0",
"normalize-package-data": "^2.3.2",
"path-type": "^3.0.0"
}
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
},
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"dev": true,
"requires": {
"shebang-regex": "^1.0.0"
}
},
"shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
}
}
},
"nth-check": { "nth-check": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
@ -4331,14 +4252,14 @@
} }
}, },
"object.values": { "object.values": {
"version": "1.1.2", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz",
"integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==",
"dev": true, "dev": true,
"requires": { "requires": {
"call-bind": "^1.0.0", "call-bind": "^1.0.2",
"define-properties": "^1.1.3", "define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.1", "es-abstract": "^1.18.0-next.2",
"has": "^1.0.3" "has": "^1.0.3"
} }
}, },
@ -4563,12 +4484,6 @@
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
"dev": true "dev": true
}, },
"pidtree": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
"integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
"dev": true
},
"pify": { "pify": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
@ -5876,9 +5791,9 @@
"dev": true "dev": true
}, },
"query-string": { "query-string": {
"version": "6.14.0", "version": "6.14.1",
"resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.0.tgz", "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz",
"integrity": "sha512-In3o+lUxlgejoVJgwEdYtdxrmlL0cQWJXj0+kkI7RWVo7hg5AhFtybeKlC9Dpgbr8eOC4ydpEh8017WwyfzqVQ==", "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==",
"dev": true, "dev": true,
"requires": { "requires": {
"decode-uri-component": "^0.2.0", "decode-uri-component": "^0.2.0",
@ -6117,11 +6032,11 @@
} }
}, },
"rxjs": { "rxjs": {
"version": "7.0.0-beta.10", "version": "7.0.0-beta.11",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.0.0-beta.10.tgz", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.0.0-beta.11.tgz",
"integrity": "sha512-iK8B6ACjMn00gObHQYoIyXouyD0cPmzuXFxfYi/i9jBVFQHsjjPt5T51sRDsXJ9Utg4Q7R1m7QiLtuQEQ3r73g==", "integrity": "sha512-DSeQ+tf3BhKhVqhxy1z+BzlTE1SmqFom8+d9/HZ7A6m1acCNf7CuGgf4xA8ZVQBqfGX8mzxEGmKm4cKlXNXfXg==",
"requires": { "requires": {
"tslib": "^1.9.0" "tslib": "~2.1.0"
} }
}, },
"safe-buffer": { "safe-buffer": {
@ -6206,12 +6121,6 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true "dev": true
}, },
"shell-quote": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
"integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
"dev": true
},
"signal-exit": { "signal-exit": {
"version": "3.0.3", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
@ -6546,9 +6455,9 @@
"dev": true "dev": true
}, },
"string-width": { "string-width": {
"version": "4.2.0", "version": "4.2.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.1.tgz",
"integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "integrity": "sha512-LL0OLyN6AnfV9xqGQpDBwedT2Rt63737LxvsRxbcwpa2aIeynBApG2Sm//F3TaLHIR1aJBN52DWklc06b94o5Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"emoji-regex": "^8.0.0", "emoji-regex": "^8.0.0",
@ -6556,34 +6465,23 @@
"strip-ansi": "^6.0.0" "strip-ansi": "^6.0.0"
} }
}, },
"string.prototype.padend": { "string.prototype.trimend": {
"version": "3.1.2", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
"integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
"dev": true, "dev": true,
"requires": { "requires": {
"call-bind": "^1.0.2", "call-bind": "^1.0.2",
"define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.2"
}
},
"string.prototype.trimend": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
"integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
"dev": true,
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3" "define-properties": "^1.1.3"
} }
}, },
"string.prototype.trimstart": { "string.prototype.trimstart": {
"version": "1.0.3", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
"integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
"dev": true, "dev": true,
"requires": { "requires": {
"call-bind": "^1.0.0", "call-bind": "^1.0.2",
"define-properties": "^1.1.3" "define-properties": "^1.1.3"
} }
}, },
@ -7649,18 +7547,18 @@
"dev": true "dev": true
}, },
"svgo": { "svgo": {
"version": "2.0.3", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-2.0.3.tgz", "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.1.0.tgz",
"integrity": "sha512-q6YtEaLXkPN1ARaifoENYPPweAbBV8YoqWg+8DFQ3xsImfyRIdBbr42Cqz4NZwCftmVJjh+m1rEK7ItRdLTxdg==", "integrity": "sha512-f5iEvWkSesVHPqBBc26s9/9LFKJZ+4aWPpOVX0uxXz/39SlNL4XuwfhOWsqOS5Q1j7Z6WLayCF/s1lISeAHjwA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@trysound/sax": "0.1.1",
"chalk": "^4.1.0", "chalk": "^4.1.0",
"commander": "^7.1.0", "commander": "^7.1.0",
"css-select": "^3.1.2", "css-select": "^3.1.2",
"css-select-base-adapter": "^0.1.1", "css-select-base-adapter": "^0.1.1",
"css-tree": "^1.1.2", "css-tree": "^1.1.2",
"csso": "^4.2.0", "csso": "^4.2.0",
"sax": "~1.2.4",
"stable": "^0.1.8" "stable": "^0.1.8"
}, },
"dependencies": { "dependencies": {
@ -7962,9 +7860,9 @@
} }
}, },
"tslib": { "tslib": {
"version": "1.14.1", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A=="
}, },
"tsutils": { "tsutils": {
"version": "3.20.0", "version": "3.20.0",
@ -7973,6 +7871,14 @@
"dev": true, "dev": true,
"requires": { "requires": {
"tslib": "^1.8.1" "tslib": "^1.8.1"
},
"dependencies": {
"tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
}
} }
}, },
"type-check": { "type-check": {
@ -8000,9 +7906,9 @@
} }
}, },
"typescript": { "typescript": {
"version": "4.1.5", "version": "4.2.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz",
"integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==", "integrity": "sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ==",
"dev": true "dev": true
}, },
"uglify-js": { "uglify-js": {
@ -8022,9 +7928,9 @@
} }
}, },
"unified": { "unified": {
"version": "9.2.0", "version": "9.2.1",
"resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz",
"integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", "integrity": "sha512-juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA==",
"dev": true, "dev": true,
"requires": { "requires": {
"bail": "^1.0.0", "bail": "^1.0.0",

View File

@ -24,14 +24,13 @@
"url": "https://github.com/squidfunk/mkdocs-material.git" "url": "https://github.com/squidfunk/mkdocs-material.git"
}, },
"scripts": { "scripts": {
"build": "run-s build:*", "build": "rimraf material && ts-node -T tools/build --optimize",
"build:clean": "rimraf material", "build:dirty": "ts-node -T tools/build --dirty",
"build:tools": "ts-node -T tools/build --optimize",
"clean": "rimraf material", "clean": "rimraf material",
"lint": "run-p lint:*", "lint": "npm run lint:scss && npm run lint:scss",
"lint:scss": "stylelint \"src/assets/**/*.scss\"", "lint:scss": "stylelint \"src/assets/**/*.scss\"",
"lint:ts": "eslint --cache \"src/**/*.ts\"", "lint:ts": "eslint --cache \"src/**/*.ts\"",
"start": "ts-node -T tools/build --watch" "start": "ts-node -T tools/build --verbose --dirty --watch"
}, },
"dependencies": { "dependencies": {
"clipboard": "^2.0.6", "clipboard": "^2.0.6",
@ -70,7 +69,6 @@
"html-minifier": "^4.0.0", "html-minifier": "^4.0.0",
"material-design-color": "^2.3.2", "material-design-color": "^2.3.2",
"material-shadows": "^3.0.1", "material-shadows": "^3.0.1",
"npm-run-all": "^4.1.5",
"postcss": "^8.2.5", "postcss": "^8.2.5",
"postcss-inline-svg": "^5.0.0", "postcss-inline-svg": "^5.0.0",
"preact": "^10.5.12", "preact": "^10.5.12",

View File

@ -23,17 +23,20 @@
import * as chokidar from "chokidar" import * as chokidar from "chokidar"
import * as fs from "fs/promises" import * as fs from "fs/promises"
import { import {
EMPTY,
Observable, Observable,
from, from,
fromEvent, fromEvent,
identity, identity,
EMPTY defer,
of
} from "rxjs" } from "rxjs"
import { import {
catchError, catchError,
mapTo, mapTo,
mergeWith, mergeWith,
switchMap switchMap,
tap
} from "rxjs/operators" } from "rxjs/operators"
import glob from "tiny-glob" import glob from "tiny-glob"
@ -65,26 +68,34 @@ interface WatchOptions {
*/ */
export const base = "material" export const base = "material"
/**
* Cache to omit redundant writes
*/
export const cache = new Map<string, string>()
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* Functions * Helper Ffunctions
* ------------------------------------------------------------------------- */ * ------------------------------------------------------------------------- */
/** /**
* Recursively create the given directory * Return the current time
* *
* @param directory - Directory * @returns Time
*
* @returns Directory observable
*/ */
export function mkdir( function now() {
directory: string const date = new Date()
): Observable<string> { return [
return from(fs.mkdir(directory, { recursive: true })) `${date.getHours()}`.padStart(2, "0"),
.pipe( `${date.getMinutes()}`.padStart(2, "0"),
mapTo(directory) `${date.getSeconds()}`.padStart(2, "0")
) ]
.join(":")
} }
/* ----------------------------------------------------------------------------
* Functions
* ------------------------------------------------------------------------- */
/** /**
* Resolve a pattern * Resolve a pattern
* *
@ -119,3 +130,55 @@ export function watch(
): Observable<string> { ): Observable<string> {
return fromEvent(chokidar.watch(pattern, options), "change") return fromEvent(chokidar.watch(pattern, options), "change")
} }
/* ------------------------------------------------------------------------- */
/**
* Recursively create the given directory
*
* @param directory - Directory
*
* @returns Directory observable
*/
export function mkdir(directory: string): Observable<string> {
return defer(() => fs.mkdir(directory, { recursive: true }))
.pipe(
mapTo(directory)
)
}
/**
* Read a file
*
* @param file - File
*
* @returns File data observable
*/
export function read(file: string): Observable<string> {
return defer(() => fs.readFile(file, "utf8"))
}
/**
* Write a file, but only if the contents changed
*
* @param file - File
* @param data - File data
*
* @returns File observable
*/
export function write(file: string, data: string): Observable<string> {
let contents = cache.get(file)
if (contents === data) {
return of(file)
} else {
cache.set(file, data)
return defer(() => fs.writeFile(file, data))
.pipe(
mapTo(file),
process.argv.includes("--verbose")
? tap(file => console.log(`${now()} + ${file}`))
: identity
)
}
}

View File

@ -25,7 +25,7 @@ import * as path from "path"
import { Observable, from } from "rxjs" import { Observable, from } from "rxjs"
import { mapTo, mergeMap, switchMap } from "rxjs/operators" import { mapTo, mergeMap, switchMap } from "rxjs/operators"
import { mkdir, resolve } from "../_" import { mkdir, read, resolve, write } from "../_"
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* Helper types * Helper types
@ -71,10 +71,10 @@ export function copy(
.pipe( .pipe(
switchMap(() => typeof transform === "undefined" switchMap(() => typeof transform === "undefined"
? from(fs.copyFile(options.from, options.to)) ? from(fs.copyFile(options.from, options.to))
: from(fs.readFile(options.from, "utf8")) : read(options.from)
.pipe( .pipe(
switchMap(data => transform(data, options.from)), switchMap(data => transform(data, options.from)),
switchMap(data => fs.writeFile(options.to, data)) switchMap(data => write(options.to, data))
) )
), ),
mapTo(options.to) mapTo(options.to)

View File

@ -20,15 +20,18 @@
* IN THE SOFTWARE. * IN THE SOFTWARE.
*/ */
import * as fs from "fs/promises"
import { minify as minhtml } from "html-minifier" import { minify as minhtml } from "html-minifier"
import * as path from "path" import * as path from "path"
import { concat, defer, merge, of, zip } from "rxjs" import { concat, defer, EMPTY, merge, of, zip } from "rxjs"
import { import {
concatMap, concatMap,
map, map,
reduce, reduce,
switchMap scan,
startWith,
switchMap,
switchMapTo,
toArray
} from "rxjs/operators" } from "rxjs/operators"
import { import {
extendDefaultPlugins, extendDefaultPlugins,
@ -37,7 +40,7 @@ import {
import { IconSearchIndex } from "_/components" import { IconSearchIndex } from "_/components"
import { base, resolve } from "./_" import { base, read, resolve, watch, write } from "./_"
import { copyAll } from "./copy" import { copyAll } from "./copy"
import { import {
transformScript, transformScript,
@ -92,7 +95,7 @@ function minsvg(data: string): string {
} }
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* Program * Tasks
* ------------------------------------------------------------------------- */ * ------------------------------------------------------------------------- */
/* Copy all assets */ /* Copy all assets */
@ -103,9 +106,7 @@ const assets$ = concat(
.map(pattern => copyAll(pattern, { .map(pattern => copyAll(pattern, {
from: "node_modules/@mdi/svg/svg", from: "node_modules/@mdi/svg/svg",
to: `${base}/.icons/material`, to: `${base}/.icons/material`,
...process.argv.includes("--optimize") && { transform: async data => minsvg(data)
transform: async data => minsvg(data)
}
})), })),
/* Copy GitHub octicons */ /* Copy GitHub octicons */
@ -113,9 +114,7 @@ const assets$ = concat(
.map(pattern => copyAll(pattern, { .map(pattern => copyAll(pattern, {
from: "node_modules/@primer/octicons/build/svg", from: "node_modules/@primer/octicons/build/svg",
to: `${base}/.icons/octicons`, to: `${base}/.icons/octicons`,
...process.argv.includes("--optimize") && { transform: async data => minsvg(data)
transform: async data => minsvg(data)
}
})), })),
/* Copy FontAwesome icons */ /* Copy FontAwesome icons */
@ -123,9 +122,7 @@ const assets$ = concat(
.map(pattern => copyAll(pattern, { .map(pattern => copyAll(pattern, {
from: "node_modules/@fortawesome/fontawesome-free/svgs", from: "node_modules/@fortawesome/fontawesome-free/svgs",
to: `${base}/.icons/fontawesome`, to: `${base}/.icons/fontawesome`,
...process.argv.includes("--optimize") && { transform: async data => minsvg(data)
transform: async data => minsvg(data)
}
})), })),
/* Copy Lunr.js search stemmers and segmenter */ /* Copy Lunr.js search stemmers and segmenter */
@ -171,14 +168,27 @@ const javascripts$ = resolve("**/{bundle,search}.ts", { cwd: "src" })
/* Compute manifest */ /* Compute manifest */
const manifest$ = merge( const manifest$ = merge(
stylesheets$, ...Object.entries({
javascripts$ "**/*.scss": stylesheets$,
"**/*.ts*": javascripts$
})
.map(([pattern, observable$]) => (
defer(() => process.argv.includes("--watch")
? watch(pattern, { cwd: "src" })
: EMPTY
)
.pipe(
startWith("*"),
switchMapTo(observable$.pipe(toArray()))
)
))
) )
.pipe( .pipe(
reduce((manifest, [key, value]) => manifest.set( scan((prev, mapping) => (
key, mapping.reduce((next, [key, value]) => (
value.replace(`${base}/`, "") next.set(key, value.replace(`${base}/`, ""))
), new Map<string, string>()) ), prev)
), new Map<string, string>()),
) )
/* Transform templates */ /* Transform templates */
@ -239,7 +249,7 @@ const icons$ = defer(() => resolve("**/*.svg", { cwd: "material/.icons" }))
/* Compute emoji mappings (based on Twemoji) */ /* Compute emoji mappings (based on Twemoji) */
const emojis$ = defer(() => resolve("venv/**/twemoji_db.py")) const emojis$ = defer(() => resolve("venv/**/twemoji_db.py"))
.pipe( .pipe(
switchMap(file => fs.readFile(file, "utf8")), switchMap(file => read(file)),
map(data => { map(data => {
const [, payload] = data.match(/^emoji = ({.*})$.alias/ms)! const [, payload] = data.match(/^emoji = ({.*})$.alias/ms)!
return Object.entries<TwemojiIcon>(JSON.parse(payload)) return Object.entries<TwemojiIcon>(JSON.parse(payload))
@ -266,21 +276,21 @@ const index$ = zip(icons$, emojis$)
} }
} as IconSearchIndex } as IconSearchIndex
}), }),
switchMap(data => fs.writeFile( switchMap(data => write(
`${base}/overrides/assets/javascripts/iconsearch_index.json`, `${base}/overrides/assets/javascripts/iconsearch_index.json`,
JSON.stringify(data) JSON.stringify(data)
)) ))
) )
/* ------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------
* Program
* ------------------------------------------------------------------------- */
/* Put everything together */ /* Assemble pipeline */
concat( const build$ =
assets$, process.argv.includes("--dirty")
merge( ? templates$
templates$, : concat(assets$, merge(templates$, index$))
index$
) /* Let's get rolling */
) build$.subscribe()
.subscribe()
// .subscribe(console.log)

View File

@ -22,7 +22,6 @@
import { createHash } from "crypto" import { createHash } from "crypto"
import { build as esbuild } from "esbuild" import { build as esbuild } from "esbuild"
import * as fs from "fs/promises"
import * as path from "path" import * as path from "path"
import postcss from "postcss" import postcss from "postcss"
import { import {
@ -40,7 +39,7 @@ import {
import { render as sass } from "sass" import { render as sass } from "sass"
import { promisify } from "util" import { promisify } from "util"
import { base, mkdir } from "../_" import { base, mkdir, write } from "../_"
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* Helper types * Helper types
@ -76,10 +75,12 @@ const root = new RegExp(`file://${path.resolve(".")}/`, "g")
* @returns File with digest * @returns File with digest
*/ */
function digest(file: string, data: string): string { function digest(file: string, data: string): string {
const hash = createHash("sha256").update(data).digest("hex") if (process.argv.includes("--optimize")) {
return process.argv.includes("--optimize") const hash = createHash("sha256").update(data).digest("hex")
? file.replace(/\b(?=\.)/, `.${hash.slice(0, 8)}.min`) return file.replace(/\b(?=\.)/, `.${hash.slice(0, 8)}.min`)
: file } else {
return file
}
} }
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
@ -133,13 +134,13 @@ export function transformStyle(
const file = digest(options.to, css) const file = digest(options.to, css)
return concat( return concat(
mkdir(path.dirname(file)), mkdir(path.dirname(file)),
defer(() => merge( merge(
fs.writeFile(`${file}.map`, `${map}`.replace(root, "")), write(`${file}.map`, `${map}`.replace(root, "")),
fs.writeFile(`${file}`, css.replace( write(`${file}`, css.replace(
options.from, options.from,
path.basename(file) path.basename(file)
)), )),
)) )
) )
.pipe( .pipe(
ignoreElements(), ignoreElements(),
@ -180,13 +181,13 @@ export function transformScript(
const file = digest(options.to, js) const file = digest(options.to, js)
return concat( return concat(
mkdir(path.dirname(file)), mkdir(path.dirname(file)),
defer(() => merge( merge(
fs.writeFile(`${file}.map`, map), write(`${file}.map`, `${map}`),
fs.writeFile(`${file}`, js.replace( write(`${file}`, js.replace(
/(sourceMappingURL=)(.*)/, /(sourceMappingURL=)(.*)/,
`$1${path.basename(file)}.map\n` `$1${path.basename(file)}.map\n`
)), )),
)) )
) )
.pipe( .pipe(
ignoreElements(), ignoreElements(),