Html lint (#1336)
* Move style rules * Fix non-unique IDs * Remove erroneous ids * Add title * Fix invalid closing tag * Install html-validate * Add .htmlvalidate.json * Update HTML and styles * Add test-lint-html * Update test files * Update test-lint-html/css commands to have more explicit targets
This commit is contained in:
parent
60c38ab83c
commit
9e83faa02c
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -23,6 +23,10 @@ jobs:
|
||||
run: npm run test-lint-css
|
||||
env:
|
||||
CI: true
|
||||
- name: Lint HTML
|
||||
run: npm run test-lint-html
|
||||
env:
|
||||
CI: true
|
||||
- name: Tests
|
||||
run: npm run test-code
|
||||
env:
|
||||
|
18
.htmlvalidate.json
Normal file
18
.htmlvalidate.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"root": true,
|
||||
"extends": [
|
||||
"html-validate:recommended"
|
||||
],
|
||||
"rules": {
|
||||
"element-required-attributes": "off",
|
||||
"element-permitted-content": "off",
|
||||
"text-content": "off",
|
||||
"void-style": ["error", {"style": "omit"}],
|
||||
"empty-heading": "off",
|
||||
"wcag/h30": "off",
|
||||
"no-inline-style": "off"
|
||||
},
|
||||
"elements": [
|
||||
"html5"
|
||||
]
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Background</title>
|
||||
<link rel="icon" type="image/png" href="/mixed/img/icon16.png" sizes="16x16">
|
||||
<link rel="icon" type="image/png" href="/mixed/img/icon19.png" sizes="19x19">
|
||||
@ -53,6 +53,7 @@
|
||||
This element must appear directly inside the <body> element, and it must not be closed properly.
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1603985
|
||||
-->
|
||||
<!-- [html-validate-disable close-order] -->
|
||||
<div id="clipboard-image-paste-target" contenteditable="true">
|
||||
</body>
|
||||
</html>
|
||||
|
@ -150,6 +150,10 @@ code {
|
||||
label {
|
||||
cursor: pointer;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Text styles */
|
||||
@ -1462,15 +1466,8 @@ button.anki-card-field-value-menu-button {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
.anki-field-marker-info-table>thead {
|
||||
.anki-field-marker-info-table tr.anki-field-marker-info-table-heading {
|
||||
font-weight: bold;
|
||||
}
|
||||
code.anki-field-marker {
|
||||
white-space: nowrap;
|
||||
font-size: 0.85em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.anki-field-marker-info-table thead tr {
|
||||
background-color: var(--input-background-color);
|
||||
}
|
||||
.anki-field-marker-info-table td {
|
||||
@ -1485,6 +1482,11 @@ code.anki-field-marker {
|
||||
.anki-field-marker-info-table td:nth-last-child(n+2) {
|
||||
border-right: none;
|
||||
}
|
||||
code.anki-field-marker {
|
||||
white-space: nowrap;
|
||||
font-size: 0.85em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.anki-card-templates-layout {
|
||||
display: flex;
|
||||
@ -1948,6 +1950,13 @@ input.sentence-termination-character-input2 {
|
||||
padding-left: 0.375em;
|
||||
}
|
||||
|
||||
.inline-icon {
|
||||
position: relative;
|
||||
width: calc(1em * (16 / var(--font-size-no-units)));
|
||||
height: calc(1em * (16 / var(--font-size-no-units)));
|
||||
top: calc(1em * (3 / var(--font-size-no-units)));
|
||||
}
|
||||
|
||||
|
||||
/* Generic layouts */
|
||||
.margin-above {
|
||||
|
@ -82,7 +82,9 @@ async function updatePermissionCheckbox(checkbox, permissions, value) {
|
||||
const documentFocusController = new DocumentFocusController();
|
||||
documentFocusController.prepare();
|
||||
|
||||
document.querySelector('#extension-id-example').textContent = chrome.runtime.getURL('/');
|
||||
for (const node of document.querySelectorAll('.extension-id-example')) {
|
||||
node.textContent = chrome.runtime.getURL('/');
|
||||
}
|
||||
|
||||
api.forwardLogsToBackend();
|
||||
await yomichan.prepare();
|
||||
|
@ -13,12 +13,6 @@
|
||||
<link rel="icon" type="image/png" href="/mixed/img/icon128.png" sizes="128x128">
|
||||
<link rel="stylesheet" type="text/css" href="/mixed/css/material.css">
|
||||
<link rel="stylesheet" type="text/css" href="/bg/css/settings2.css">
|
||||
<style>
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
@ -55,7 +55,7 @@
|
||||
as this can be used to fingerprint browser configuration.
|
||||
</p>
|
||||
<p>
|
||||
Example: <code>Origin: <span id="extension-id-example"></span></code>
|
||||
Example: <code>Origin: <span class="extension-id-example"></span></code>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -70,7 +70,7 @@
|
||||
as this can be used to fingerprint browser configuration.
|
||||
</p>
|
||||
<p>
|
||||
Example: <code>Origin: <span id="extension-id-example"></span></code>
|
||||
Example: <code>Origin: <span class="extension-id-example"></span></code>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -35,7 +35,7 @@
|
||||
<strong>Graph</strong> -
|
||||
<span class="format-preview">
|
||||
<span class="term-pitch-accent-details">
|
||||
<svg class="term-pitch-accent-graph" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 100">
|
||||
<svg class="term-pitch-accent-graph" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 100" focusable="false">
|
||||
<path class="term-pitch-accent-graph-line" d="M25 25 L75 75"></path>
|
||||
<path class="term-pitch-accent-graph-line-tail" d="M75 75 L125 75"></path>
|
||||
<use href="#term-pitch-accent-graph-dot-downstep" x="25" y="25"></use>
|
||||
|
@ -46,7 +46,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-textbox-container">
|
||||
<textarea id="search-textbox" placeholder="Input a term, expression, sentence, or block of text" autocomplete="false" autofocus></textarea>
|
||||
<textarea id="search-textbox" placeholder="Input a term, expression, sentence, or block of text" autocomplete="off" autofocus></textarea>
|
||||
<button id="search-button"><span class="icon" data-icon="magnifying-glass"></span></button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Yomichan Options (Old)</title>
|
||||
<link rel="icon" type="image/png" href="/mixed/img/icon16.png" sizes="16x16">
|
||||
<link rel="icon" type="image/png" href="/mixed/img/icon19.png" sizes="19x19">
|
||||
@ -458,10 +458,10 @@
|
||||
<div class="checkbox options-advanced">
|
||||
<strong>Prevent middle mouse button actions on:</strong>
|
||||
<div style="margin-left: 1em;">
|
||||
<label><input type="checkbox" id="deep-dom-scan" data-setting="scanning.preventMiddleMouse.onWebPages"> Webpages</label><br>
|
||||
<label><input type="checkbox" id="deep-dom-scan" data-setting="scanning.preventMiddleMouse.onPopupPages"> Popups</label><br>
|
||||
<label><input type="checkbox" id="deep-dom-scan" data-setting="scanning.preventMiddleMouse.onSearchPages"> Search page</label><br>
|
||||
<label><input type="checkbox" id="deep-dom-scan" data-setting="scanning.preventMiddleMouse.onSearchQuery"> Search query</label><br>
|
||||
<label><input type="checkbox" data-setting="scanning.preventMiddleMouse.onWebPages"> Webpages</label><br>
|
||||
<label><input type="checkbox" data-setting="scanning.preventMiddleMouse.onPopupPages"> Popups</label><br>
|
||||
<label><input type="checkbox" data-setting="scanning.preventMiddleMouse.onSearchPages"> Search page</label><br>
|
||||
<label><input type="checkbox" data-setting="scanning.preventMiddleMouse.onSearchQuery"> Search query</label><br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -702,7 +702,7 @@
|
||||
|
||||
<div class="ignore-form-changes">
|
||||
<div>
|
||||
<img src="/mixed/img/spinner.gif" class="pull-right" id="dictionary-spinner" alt hidden>
|
||||
<img src="/mixed/img/spinner.gif" class="pull-right" id="dictionary-spinner" alt="" hidden>
|
||||
<h3>Dictionaries</h3>
|
||||
</div>
|
||||
|
||||
@ -886,7 +886,7 @@
|
||||
|
||||
<div>
|
||||
<button class="btn btn-default" id="storage-refresh"><span class="btn-inner-middle">Refresh</span></button>
|
||||
<button class="btn btn-default ignore-form-changes" id="storage-persistent-button" hidden><span class="storage-button-inner"><input type="checkbox" class="btn-inner-middle storage-button-checkbox" id="storage-persistent-checkbox" readonly /><span class="btn-inner-middle">Persistent Storage</span></span></button>
|
||||
<button class="btn btn-default ignore-form-changes" id="storage-persistent-button" hidden><span class="storage-button-inner"><input type="checkbox" class="btn-inner-middle storage-button-checkbox" id="storage-persistent-checkbox" readonly><span class="btn-inner-middle">Persistent Storage</span></span></button>
|
||||
</div>
|
||||
|
||||
<p></p>
|
||||
@ -908,7 +908,7 @@
|
||||
|
||||
<div>
|
||||
<div>
|
||||
<img src="/mixed/img/spinner.gif" class="pull-right" id="anki-spinner" alt hidden>
|
||||
<img src="/mixed/img/spinner.gif" class="pull-right" id="anki-spinner" alt="" hidden>
|
||||
<h3>Anki Options</h3>
|
||||
</div>
|
||||
|
||||
@ -1264,7 +1264,7 @@
|
||||
countless hours that I have devoted to this extension.
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4DBTN9A3CUAFN" target="_blank" rel="noopener"><img src="/bg/img/paypal.gif" alt></a>
|
||||
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4DBTN9A3CUAFN" target="_blank" rel="noopener"><img src="/bg/img/paypal.gif" alt=""></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
@ -2185,9 +2185,9 @@
|
||||
</div>
|
||||
<div class="modal-body custom-popup-css-container">
|
||||
<div class="custom-popup-css-header">Popup CSS</div>
|
||||
<textarea autocomplete="off" spellcheck="false" wrap="off" id="custom-popup-css" data-setting="general.customPopupCss" data-tab-action="indent,4"></textarea>
|
||||
<textarea autocomplete="off" spellcheck="false" id="custom-popup-css" data-setting="general.customPopupCss" data-tab-action="indent,4"></textarea>
|
||||
<div class="custom-popup-css-header margin-above">Popup outer CSS</div>
|
||||
<textarea autocomplete="off" spellcheck="false" wrap="off" id="custom-popup-outer-css" data-setting="general.customPopupOuterCss" data-tab-action="indent,4"></textarea>
|
||||
<textarea autocomplete="off" spellcheck="false" id="custom-popup-outer-css" data-setting="general.customPopupOuterCss" data-tab-action="indent,4"></textarea>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button data-modal-action="hide">Close</button>
|
||||
@ -2275,7 +2275,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
Example URL: <a data-select-on-click="">http://localhost/audio.mp3?expression={expression}&reading={reading}</a>
|
||||
Example URL: <a data-select-on-click="">http://localhost/audio.mp3?expression={expression}&reading={reading}</a>
|
||||
</p>
|
||||
<p>
|
||||
<a class="more-toggle" data-parent-distance="3">Less…</a>
|
||||
@ -2585,13 +2585,12 @@
|
||||
or <code class="anki-field-marker">{character}</code> for kanji cards.
|
||||
</p>
|
||||
<table class="anki-field-marker-info-table margin-above">
|
||||
<thead>
|
||||
<tr>
|
||||
<tbody>
|
||||
<tr class="anki-field-marker-info-table-heading">
|
||||
<td>Marker (for terms)</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td><code class="anki-field-marker">{audio}</code></td>
|
||||
<td>Audio sample of a native speaker's pronunciation in MP3 format, if available.</td>
|
||||
@ -2650,14 +2649,12 @@
|
||||
<td><code class="anki-field-marker">{tags}</code></td>
|
||||
<td>Grammar and usage tags providing information about the term.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<tr class="anki-field-marker-info-table-heading">
|
||||
<td>Marker (for kanji)</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td><code class="anki-field-marker">{character}</code></td>
|
||||
<td>Unicode glyph representing the current kanji.</td>
|
||||
@ -2678,14 +2675,12 @@
|
||||
<td><code class="anki-field-marker">{stroke-count}</code></td>
|
||||
<td>Number of strokes that the kanji character has.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<tr class="anki-field-marker-info-table-heading">
|
||||
<td>Marker (for both)</td>
|
||||
<td>Description</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td><code class="anki-field-marker">{clipboard-image}</code></td>
|
||||
<td>An image which is stored in the system clipboard, if available.</td>
|
||||
@ -2763,7 +2758,7 @@
|
||||
Consider copy-pasting the source into a code editor that supports syntax highlighting for easier editing.
|
||||
</p>
|
||||
</div>
|
||||
<textarea autocomplete="off" spellcheck="false" wrap="off" id="anki-card-templates-textarea" class="margin-above" data-tab-action="indent,4"></textarea>
|
||||
<textarea autocomplete="off" spellcheck="false" id="anki-card-templates-textarea" class="margin-above" data-tab-action="indent,4"></textarea>
|
||||
<div id="anki-card-templates-compile-result" class="danger-text margin-above" hidden></div>
|
||||
<div class="anki-card-templates-test-container margin-above">
|
||||
<p>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Yomichan Handlebars Sandbox</title>
|
||||
<link rel="icon" type="image/png" href="/mixed/img/icon16.png" sizes="16x16">
|
||||
<link rel="icon" type="image/png" href="/mixed/img/icon19.png" sizes="19x19">
|
||||
|
@ -13,14 +13,6 @@
|
||||
<link rel="icon" type="image/png" href="/mixed/img/icon128.png" sizes="128x128">
|
||||
<link rel="stylesheet" type="text/css" href="/mixed/css/material.css">
|
||||
<link rel="stylesheet" type="text/css" href="/bg/css/settings2.css">
|
||||
<style>
|
||||
.inline-icon {
|
||||
position: relative;
|
||||
width: calc(1em * (16 / var(--font-size-no-units)));
|
||||
height: calc(1em * (16 / var(--font-size-no-units)));
|
||||
top: calc(1em * (3 / var(--font-size-no-units)));
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
@ -81,7 +81,7 @@
|
||||
|
||||
<div class="frame-resizer-container">
|
||||
<div class="frame-resizer-sizer1"><div class="frame-resizer-sizer2 frame-resizer-sizer2-with-min-size scrollbar"></div></div>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none" class="frame-resizer-svg">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none" class="frame-resizer-svg" focusable="false">
|
||||
<path d="M1 0L1 1L0 1Z" class="frame-resizer-handle" id="frame-resizer-handle"/>
|
||||
</svg>
|
||||
</div>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!DOCTYPE html><html><head></head><body>
|
||||
<!DOCTYPE html><html><head><title>Display Templates</title></head><body>
|
||||
|
||||
<!-- Term entry templates -->
|
||||
<template id="term-entry-template" data-remove-whitespace-text="true"><div class="entry" data-type="term">
|
||||
@ -51,7 +51,7 @@
|
||||
<template id="term-definition-item-template"><li class="term-definition-item"><div class="term-definition-tag-list tag-list"></div><div class="term-definition-disambiguation-list"></div><ul class="term-glossary-list"></ul></li></template>
|
||||
<template id="term-definition-disambiguation-template"><span class="term-definition-disambiguation"></span></template>
|
||||
<template id="term-glossary-item-template"><li class="term-glossary-item click-scannable"><span class="term-glossary-separator"> </span><span class="term-glossary"></span></li></template>
|
||||
<template id="term-glossary-item-image-template"><li class="term-glossary-item click-scannable" data-has-image="true"><span class="term-glossary-separator"> </span><span class="term-glossary"><a class="term-glossary-image-link" target="_blank" rel="noreferrer noopener"><span class="term-glossary-image-container"><span class="term-glossary-image-aspect-ratio-sizer"></span><img class="term-glossary-image" alt="" /><span class="term-glossary-image-container-overlay"></span></span><span class="term-glossary-image-link-text">Image</span></a> <span class="term-glossary-image-description"></span></span></li></template>
|
||||
<template id="term-glossary-item-image-template"><li class="term-glossary-item click-scannable" data-has-image="true"><span class="term-glossary-separator"> </span><span class="term-glossary"><a class="term-glossary-image-link" target="_blank" rel="noreferrer noopener"><span class="term-glossary-image-container"><span class="term-glossary-image-aspect-ratio-sizer"></span><img class="term-glossary-image" alt=""><span class="term-glossary-image-container-overlay"></span></span><span class="term-glossary-image-link-text">Image</span></a> <span class="term-glossary-image-description"></span></span></li></template>
|
||||
<template id="term-reason-template"><span class="term-reason"></span><span class="term-reason-separator"> </span></template>
|
||||
|
||||
<!-- Frequency templates -->
|
||||
@ -70,7 +70,7 @@
|
||||
</li></template>
|
||||
|
||||
<!-- Pitch accent templates -->
|
||||
<template id="term-pitch-accent-static-template"><svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||
<template id="term-pitch-accent-static-template"><svg xmlns="http://www.w3.org/2000/svg" style="display: none;" focusable="false">
|
||||
<defs>
|
||||
<g id="term-pitch-accent-graph-dot"><circle cx="0" cy="0" r="15" /></g>
|
||||
<g id="term-pitch-accent-graph-dot-downstep"><circle cx="0" cy="0" r="15" /><circle cx="0" cy="0" r="5" /></g>
|
||||
@ -79,7 +79,7 @@
|
||||
</svg></template>
|
||||
<template id="term-pitch-accent-group-template"><li class="term-pitch-accent-group"><span class="term-pitch-accent-group-tag-list tag-list"></span><ul class="term-pitch-accent-list"></ul></li></template>
|
||||
<template id="term-pitch-accent-disambiguation-template"><span class="term-pitch-accent-disambiguation"></span></template>
|
||||
<template id="term-pitch-accent-template"><li class="term-pitch-accent"><span class="term-pitch-accent-tag-list tag-list"></span><span class="term-pitch-accent-disambiguation-list"></span><span class="term-pitch-accent-characters"></span><span class="term-pitch-accent-position"></span><span class="term-pitch-accent-details"><svg class="term-pitch-accent-graph" xmlns="http://www.w3.org/2000/svg"><path class="term-pitch-accent-graph-line" /><path class="term-pitch-accent-graph-line-tail" /></svg></span></li></template>
|
||||
<template id="term-pitch-accent-template"><li class="term-pitch-accent"><span class="term-pitch-accent-tag-list tag-list"></span><span class="term-pitch-accent-disambiguation-list"></span><span class="term-pitch-accent-characters"></span><span class="term-pitch-accent-position"></span><span class="term-pitch-accent-details"><svg class="term-pitch-accent-graph" xmlns="http://www.w3.org/2000/svg" focusable="false"><path class="term-pitch-accent-graph-line" /><path class="term-pitch-accent-graph-line-tail" /></svg></span></li></template>
|
||||
<template id="term-pitch-accent-character-template"><span class="term-pitch-accent-character"><span class="term-pitch-accent-character-inner"></span></span></template>
|
||||
|
||||
<!-- Kanji entry templates -->
|
||||
@ -128,7 +128,7 @@
|
||||
</div></template>
|
||||
<template id="kanji-info-table-template"><table class="kanji-info-table"><tbody class="kanji-info-table-body"></tbody></table></template>
|
||||
<template id="kanji-info-table-item-template"><tr class="kanji-info-table-item"><th class="kanji-info-table-item-header"></th><td class="kanji-info-table-item-value"></td></tr></template>
|
||||
<template id="kanji-info-table-empty-template"><tr class="kanji-info-table-item kanji-info-table-item-empty"><td class="kanji-info-table-item-value-empty">No data found</td></tr class="kanji-info-table-item"></template>
|
||||
<template id="kanji-info-table-empty-template"><tr class="kanji-info-table-item kanji-info-table-item-empty"><td class="kanji-info-table-item-value-empty">No data found</td></tr></template>
|
||||
<template id="kanji-glossary-item-template"><li class="kanji-glossary-item"><span class="kanji-glossary"></span></li></template>
|
||||
<template id="kanji-reading-template"><dd class="kanji-reading"></dd></template>
|
||||
|
||||
|
473
package-lock.json
generated
473
package-lock.json
generated
@ -393,6 +393,17 @@
|
||||
"strip-json-comments": "^3.1.1"
|
||||
}
|
||||
},
|
||||
"@html-validate/stylish": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-1.0.0.tgz",
|
||||
"integrity": "sha512-NW6TZ7/GA+Z+1fNGDqkxutHQEsDivuN6ZM9ALMqSsDuO1QHJ4Ws1hAecwzvDezwSEXArLcqXd1RqZCYi3GA6KQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^4.0.0",
|
||||
"strip-ansi": "^6.0.0",
|
||||
"text-table": "^0.2.0"
|
||||
}
|
||||
},
|
||||
"@mdn/browser-compat-data": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-2.0.7.tgz",
|
||||
@ -428,6 +439,32 @@
|
||||
"fastq": "^1.6.0"
|
||||
}
|
||||
},
|
||||
"@sidvind/better-ajv-errors": {
|
||||
"version": "0.6.10",
|
||||
"resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-0.6.10.tgz",
|
||||
"integrity": "sha512-vPv8ks6J1KQW1LPYgxmANxcHniE6LFuekxNpcoUUkotJ2srxP4qXZ+y9qpo5LAXhnLoNP0AH8cninimK68gS6A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.0.0",
|
||||
"chalk": "^2.4.1",
|
||||
"json-to-ast": "^2.0.3",
|
||||
"jsonpointer": "^4.0.1",
|
||||
"leven": "^3.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@sindresorhus/is": {
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
|
||||
@ -1199,6 +1236,23 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"available-typed-arrays": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz",
|
||||
"integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"array-filter": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"array-filter": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
|
||||
"integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"aws-sign2": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
|
||||
@ -2104,6 +2158,12 @@
|
||||
"mimic-response": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"code-error-fragment": {
|
||||
"version": "0.0.230",
|
||||
"resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz",
|
||||
"integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==",
|
||||
"dev": true
|
||||
},
|
||||
"collection-visit": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
|
||||
@ -3059,6 +3119,51 @@
|
||||
"string.prototype.trimstart": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"es-get-iterator": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz",
|
||||
"integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"call-bind": "^1.0.2",
|
||||
"get-intrinsic": "^1.1.0",
|
||||
"has-symbols": "^1.0.1",
|
||||
"is-arguments": "^1.1.0",
|
||||
"is-map": "^2.0.2",
|
||||
"is-set": "^2.0.2",
|
||||
"is-string": "^1.0.5",
|
||||
"isarray": "^2.0.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"call-bind": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
"get-intrinsic": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"get-intrinsic": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz",
|
||||
"integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"isarray": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
|
||||
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"es-to-primitive": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
|
||||
@ -3754,6 +3859,12 @@
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"foreach": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
|
||||
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
|
||||
"dev": true
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
||||
@ -4102,6 +4213,12 @@
|
||||
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
|
||||
"dev": true
|
||||
},
|
||||
"grapheme-splitter": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
|
||||
"integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
|
||||
"dev": true
|
||||
},
|
||||
"growly": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
|
||||
@ -4270,6 +4387,90 @@
|
||||
"integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
|
||||
"dev": true
|
||||
},
|
||||
"html-validate": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/html-validate/-/html-validate-4.3.0.tgz",
|
||||
"integrity": "sha512-NjvfeE9EOTYKEFz5wS3QxylpJ4b1IvuUAEhm1nI0Jkl8E/EtlNZcvPphgEN2FnCjOYU8QMZLC4tMpHVsylJ+Zw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.10.4",
|
||||
"@html-validate/stylish": "1.0.0",
|
||||
"@sidvind/better-ajv-errors": "^0.6.10",
|
||||
"acorn-walk": "^8.0.0",
|
||||
"ajv": "^7.0.0",
|
||||
"chalk": "^4.0.0",
|
||||
"deepmerge": "^4.2.2",
|
||||
"espree": "^7.3.0",
|
||||
"glob": "^7.1.6",
|
||||
"json-merge-patch": "^1.0.1",
|
||||
"minimist": "^1.2.5",
|
||||
"prompts": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"acorn-walk": {
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.2.tgz",
|
||||
"integrity": "sha512-+bpA9MJsHdZ4bgfDcpk0ozQyhhVct7rzOmO0s1IIr0AGGgKBljss8n2zp11rRP2wid5VGeh04CgeKzgat5/25A==",
|
||||
"dev": true
|
||||
},
|
||||
"ajv": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
|
||||
"integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"deep-equal": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz",
|
||||
"integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"call-bind": "^1.0.0",
|
||||
"es-get-iterator": "^1.1.1",
|
||||
"get-intrinsic": "^1.0.1",
|
||||
"is-arguments": "^1.0.4",
|
||||
"is-date-object": "^1.0.2",
|
||||
"is-regex": "^1.1.1",
|
||||
"isarray": "^2.0.5",
|
||||
"object-is": "^1.1.4",
|
||||
"object-keys": "^1.1.1",
|
||||
"object.assign": "^4.1.2",
|
||||
"regexp.prototype.flags": "^1.3.0",
|
||||
"side-channel": "^1.0.3",
|
||||
"which-boxed-primitive": "^1.0.1",
|
||||
"which-collection": "^1.0.1",
|
||||
"which-typed-array": "^1.1.2"
|
||||
}
|
||||
},
|
||||
"isarray": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
|
||||
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
|
||||
"dev": true
|
||||
},
|
||||
"json-merge-patch": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-merge-patch/-/json-merge-patch-1.0.1.tgz",
|
||||
"integrity": "sha512-yvT2j/jJZ2S53t+WLt1/y2pvyR1UKPl1d/tJUjwnbtwdQQcloPhGS0bkEq/L6I32l1nhleU57GTkbv64t8eHQA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"deep-equal": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"htmlescape": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
|
||||
@ -4505,6 +4706,12 @@
|
||||
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
|
||||
"dev": true
|
||||
},
|
||||
"is-bigint": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz",
|
||||
"integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==",
|
||||
"dev": true
|
||||
},
|
||||
"is-binary-path": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||
@ -4515,6 +4722,15 @@
|
||||
"binary-extensions": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"is-boolean-object": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz",
|
||||
"integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"call-bind": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"is-buffer": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
|
||||
@ -4641,12 +4857,24 @@
|
||||
"is-path-inside": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"is-map": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
|
||||
"integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
|
||||
"dev": true
|
||||
},
|
||||
"is-mergeable-object": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.1.tgz",
|
||||
"integrity": "sha512-CPduJfuGg8h8vW74WOxHtHmtQutyQBzR+3MjQ6iDHIYdbOnm1YC7jv43SqCoU8OPGTJD4nibmiryA4kmogbGrA==",
|
||||
"dev": true
|
||||
},
|
||||
"is-negative-zero": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
|
||||
"integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
|
||||
"dev": true
|
||||
},
|
||||
"is-npm": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
|
||||
@ -4659,6 +4887,12 @@
|
||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||
"dev": true
|
||||
},
|
||||
"is-number-object": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz",
|
||||
"integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==",
|
||||
"dev": true
|
||||
},
|
||||
"is-obj": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
|
||||
@ -4714,12 +4948,24 @@
|
||||
"integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=",
|
||||
"dev": true
|
||||
},
|
||||
"is-set": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
|
||||
"integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
|
||||
"dev": true
|
||||
},
|
||||
"is-stream": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
|
||||
"integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
|
||||
"dev": true
|
||||
},
|
||||
"is-string": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
|
||||
"integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
|
||||
"dev": true
|
||||
},
|
||||
"is-symbol": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
|
||||
@ -4729,6 +4975,66 @@
|
||||
"has-symbols": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"is-typed-array": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz",
|
||||
"integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"available-typed-arrays": "^1.0.2",
|
||||
"call-bind": "^1.0.0",
|
||||
"es-abstract": "^1.18.0-next.1",
|
||||
"foreach": "^2.0.5",
|
||||
"has-symbols": "^1.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"es-abstract": {
|
||||
"version": "1.18.0-next.2",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz",
|
||||
"integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"call-bind": "^1.0.2",
|
||||
"es-to-primitive": "^1.2.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"get-intrinsic": "^1.0.2",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1",
|
||||
"is-callable": "^1.2.2",
|
||||
"is-negative-zero": "^2.0.1",
|
||||
"is-regex": "^1.1.1",
|
||||
"object-inspect": "^1.9.0",
|
||||
"object-keys": "^1.1.1",
|
||||
"object.assign": "^4.1.2",
|
||||
"string.prototype.trimend": "^1.0.3",
|
||||
"string.prototype.trimstart": "^1.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"call-bind": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
"get-intrinsic": "^1.0.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"get-intrinsic": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz",
|
||||
"integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
@ -4741,6 +5047,18 @@
|
||||
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
|
||||
"dev": true
|
||||
},
|
||||
"is-weakmap": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
|
||||
"integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
|
||||
"dev": true
|
||||
},
|
||||
"is-weakset": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz",
|
||||
"integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==",
|
||||
"dev": true
|
||||
},
|
||||
"is-windows": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
|
||||
@ -4957,6 +5275,16 @@
|
||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
|
||||
"dev": true
|
||||
},
|
||||
"json-to-ast": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.1.0.tgz",
|
||||
"integrity": "sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"code-error-fragment": "0.0.230",
|
||||
"grapheme-splitter": "^1.0.4"
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
|
||||
@ -4987,6 +5315,12 @@
|
||||
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
|
||||
"dev": true
|
||||
},
|
||||
"jsonpointer": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz",
|
||||
"integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==",
|
||||
"dev": true
|
||||
},
|
||||
"jsonwebtoken": {
|
||||
"version": "8.5.1",
|
||||
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
|
||||
@ -5070,6 +5404,12 @@
|
||||
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
|
||||
"dev": true
|
||||
},
|
||||
"kleur": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
|
||||
"integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
|
||||
"dev": true
|
||||
},
|
||||
"known-css-properties": {
|
||||
"version": "0.20.0",
|
||||
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.20.0.tgz",
|
||||
@ -5145,6 +5485,12 @@
|
||||
"invert-kv": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"leven": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
|
||||
"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
|
||||
"dev": true
|
||||
},
|
||||
"levn": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
|
||||
@ -6760,6 +7106,16 @@
|
||||
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
|
||||
"dev": true
|
||||
},
|
||||
"prompts": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz",
|
||||
"integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"kleur": "^3.0.3",
|
||||
"sisteransi": "^1.0.5"
|
||||
}
|
||||
},
|
||||
"psl": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
|
||||
@ -7481,6 +7837,30 @@
|
||||
"integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
|
||||
"dev": true
|
||||
},
|
||||
"side-channel": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
||||
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"call-bind": "^1.0.0",
|
||||
"get-intrinsic": "^1.0.2",
|
||||
"object-inspect": "^1.9.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"get-intrinsic": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz",
|
||||
"integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sign-addon": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/sign-addon/-/sign-addon-3.1.0.tgz",
|
||||
@ -7519,6 +7899,12 @@
|
||||
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
|
||||
"dev": true
|
||||
},
|
||||
"sisteransi": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
|
||||
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
|
||||
"dev": true
|
||||
},
|
||||
"slash": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
|
||||
@ -9462,12 +9848,99 @@
|
||||
"isexe": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"which-boxed-primitive": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
|
||||
"integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"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-collection": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
|
||||
"integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-map": "^2.0.1",
|
||||
"is-set": "^2.0.1",
|
||||
"is-weakmap": "^2.0.1",
|
||||
"is-weakset": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"which-module": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
|
||||
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
|
||||
"dev": true
|
||||
},
|
||||
"which-typed-array": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
|
||||
"integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"available-typed-arrays": "^1.0.2",
|
||||
"call-bind": "^1.0.0",
|
||||
"es-abstract": "^1.18.0-next.1",
|
||||
"foreach": "^2.0.5",
|
||||
"function-bind": "^1.1.1",
|
||||
"has-symbols": "^1.0.1",
|
||||
"is-typed-array": "^1.1.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"es-abstract": {
|
||||
"version": "1.18.0-next.2",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz",
|
||||
"integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"call-bind": "^1.0.2",
|
||||
"es-to-primitive": "^1.2.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"get-intrinsic": "^1.0.2",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1",
|
||||
"is-callable": "^1.2.2",
|
||||
"is-negative-zero": "^2.0.1",
|
||||
"is-regex": "^1.1.1",
|
||||
"object-inspect": "^1.9.0",
|
||||
"object-keys": "^1.1.1",
|
||||
"object.assign": "^4.1.2",
|
||||
"string.prototype.trimend": "^1.0.3",
|
||||
"string.prototype.trimstart": "^1.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"call-bind": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
"get-intrinsic": "^1.0.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"get-intrinsic": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz",
|
||||
"integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widest-line": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
|
||||
|
@ -7,9 +7,10 @@
|
||||
},
|
||||
"scripts": {
|
||||
"build": "node ./dev/build.js",
|
||||
"test": "npm run test-lint && npm run test-lint-css && npm run test-code && npm run test-manifest && npm run test-build",
|
||||
"test": "npm run test-lint && npm run test-lint-css && npm run test-lint-html && npm run test-code && npm run test-manifest && npm run test-build",
|
||||
"test-lint": "npx eslint . && node ./dev/lint/global-declarations.js && node ./dev/lint/html-scripts.js",
|
||||
"test-lint-css": "npx stylelint \"**/*.css\"",
|
||||
"test-lint-css": "npx stylelint \"ext/**/*.css\" \"test/**/*.css\" \"dev/**/*.css\"",
|
||||
"test-lint-html": "npx html-validate \"ext/**/*.html\" \"test/**/*.html\" \"dev/**/*.html\"",
|
||||
"test-lint-web-ext": "npx web-ext lint",
|
||||
"test-code": "node ./test/test-all.js ./test --skip ./test/test-manifest.js",
|
||||
"test-manifest": "node ./test/test-manifest.js",
|
||||
@ -38,6 +39,7 @@
|
||||
"eslint": "^7.15.0",
|
||||
"eslint-plugin-no-unsanitized": "^3.1.4",
|
||||
"fake-indexeddb": "^3.1.2",
|
||||
"html-validate": "^4.3.0",
|
||||
"jsdom": "^16.4.0",
|
||||
"parse5": "^6.0.1",
|
||||
"stylelint": "^13.8.0",
|
||||
|
@ -2,10 +2,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Yomichan Tests</title>
|
||||
<link rel="icon" type="image/gif" href="data:image/gif;base64,R0lGODlhEAAQAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAQABAAAAImFI6Zpt0B4YkS0TCpq07xbmEgcGVRUpLaI46ZG7ppalY0jDCwUAAAOw==" />
|
||||
<link rel="stylesheet" href="test-stylesheet.css" />
|
||||
<link rel="icon" type="image/gif" href="data:image/gif;base64,R0lGODlhEAAQAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAQABAAAAImFI6Zpt0B4YkS0TCpq07xbmEgcGVRUpLaI46ZG7ppalY0jDCwUAAAOw==">
|
||||
<link rel="stylesheet" href="test-stylesheet.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@ -105,7 +105,7 @@
|
||||
data-sentence="真白「心配してくださって、ありがとございます」"
|
||||
data-has-imposter="true"
|
||||
>
|
||||
<input type="text" value="真白「心配してくださって、ありがとございます」" style="width: 100%; box-sizing: border-box; font-family: inherit; font-size: inherit; border: 1px solid #d8d8d8; padding: 0.2em;" />
|
||||
<input type="text" value="真白「心配してくださって、ありがとございます」" style="width: 100%; box-sizing: border-box; font-family: inherit; font-size: inherit; border: 1px solid #d8d8d8; padding: 0.2em;">
|
||||
</div>
|
||||
|
||||
<div
|
||||
@ -154,7 +154,7 @@
|
||||
data-sentence-scan-extent="100"
|
||||
data-sentence="よみちゃん"
|
||||
>
|
||||
<img src="data:image/gif;base64,R0lGODdhBwAHAIABAAAAAP///ywAAAAABwAHAAACDIRvEaC32FpCbEkKCgA7" alt="よみちゃん" title="よみちゃん" style="width: 70px; height: 70px; image-rendering: crisp-edges; image-rendering: pixelated; display: block;" />
|
||||
<img src="data:image/gif;base64,R0lGODdhBwAHAIABAAAAAP///ywAAAAABwAHAAACDIRvEaC32FpCbEkKCgA7" alt="よみちゃん" title="よみちゃん" style="width: 70px; height: 70px; image-rendering: crisp-edges; image-rendering: pixelated; display: block;">
|
||||
</div>
|
||||
|
||||
<div
|
||||
|
@ -2,7 +2,7 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Yomichan Tests</title>
|
||||
<script src="test-document2-script.js"></script>
|
||||
<style>
|
||||
|
@ -2,10 +2,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Yomichan Manual Tests</title>
|
||||
<link rel="icon" type="image/gif" href="data:image/gif;base64,R0lGODlhEAAQAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAQABAAAAImFI6Zpt0B4YkS0TCpq07xbmEgcGVRUpLaI46ZG7ppalY0jDCwUAAAOw==" />
|
||||
<link rel="stylesheet" href="test-stylesheet.css" />
|
||||
<link rel="icon" type="image/gif" href="data:image/gif;base64,R0lGODlhEAAQAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAQABAAAAImFI6Zpt0B4YkS0TCpq07xbmEgcGVRUpLaI46ZG7ppalY0jDCwUAAAOw==">
|
||||
<link rel="stylesheet" href="test-stylesheet.css">
|
||||
<script src="test-document2-script.js"></script>
|
||||
</head>
|
||||
<style id="container-styles">
|
||||
@ -47,7 +47,7 @@
|
||||
<y-description>Content inside of an open shadow DOM.</y-description>
|
||||
<div class="template-content-container"></div>
|
||||
<template>
|
||||
<link rel="stylesheet" href="test-stylesheet.css" />
|
||||
<link rel="stylesheet" href="test-stylesheet.css">
|
||||
<div class="fullscreen-element container"><div class="container-inner">
|
||||
<div>
|
||||
ありがとう
|
||||
@ -63,7 +63,7 @@
|
||||
<y-description>Content inside of a closed shadow DOM.</y-description>
|
||||
<div class="template-content-container"></div>
|
||||
<template>
|
||||
<link rel="stylesheet" href="test-stylesheet.css" />
|
||||
<link rel="stylesheet" href="test-stylesheet.css">
|
||||
<div class="fullscreen-element container"><div class="container-inner">
|
||||
<div>
|
||||
ありがとう
|
||||
@ -108,7 +108,7 @@
|
||||
|
||||
<y-test>
|
||||
<y-description>SVG <img>.</y-description>
|
||||
<img src="test-document2-frame2.svg" class="container">
|
||||
<img src="test-document2-frame2.svg" class="container" alt="">
|
||||
</y-test>
|
||||
|
||||
<y-test>
|
||||
@ -128,7 +128,7 @@
|
||||
|
||||
<y-test>
|
||||
<y-description>SVG <svg>.</y-description>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="container" style="background-color: #f8f8f8;">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="container" style="background-color: #f8f8f8;" focusable="false">
|
||||
<text
|
||||
x="7"
|
||||
y="12"
|
||||
|
@ -2,9 +2,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Yomichan Manual Performance Tests</title>
|
||||
<link rel="stylesheet" href="test-stylesheet.css" />
|
||||
<link rel="stylesheet" href="test-stylesheet.css">
|
||||
</head>
|
||||
<body><div class="content">
|
||||
|
||||