Merge branch 'develop' into _format_naming

This commit is contained in:
Vishal Dhayagude 2022-06-21 15:43:41 +05:30 committed by GitHub
commit e004740309
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 73 additions and 311 deletions

View file

@ -18,7 +18,7 @@ jobs:
python-version: 3.8
- name: 'Clone repo'
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Validate Docs
env:

View file

@ -9,7 +9,7 @@ jobs:
name: Frappe Linter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python 3.8
uses: actions/setup-python@v4
@ -17,7 +17,7 @@ jobs:
python-version: 3.8
- name: Install and Run Pre-commit
uses: pre-commit/action@v2.0.3
uses: pre-commit/action@v3.0.0
- name: Download Semgrep rules
run: git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules

View file

@ -28,7 +28,7 @@ jobs:
steps:
- name: Clone
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4

View file

@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
path: 'frappe'
- uses: actions/setup-node@v3

View file

@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
path: 'frappe'
- uses: actions/setup-node@v3

View file

@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Entire Repository
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0
persist-credentials: false

View file

@ -37,7 +37,7 @@ jobs:
steps:
- name: Clone
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4

View file

@ -40,7 +40,7 @@ jobs:
steps:
- name: Clone
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4

View file

@ -36,7 +36,7 @@ jobs:
steps:
- name: Clone
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4

View file

@ -313,7 +313,12 @@ Cypress.Commands.add('insert_doc', (doctype, args, ignore_duplicate) => {
if (ignore_duplicate) {
status_codes.push(409);
}
expect(res.status).to.be.oneOf(status_codes);
let message = null;
if (ignore_duplicate && !status_codes.includes(res.status)) {
message = `Document insert failed, response: ${JSON.stringify(res, null, '\t')}`;
}
expect(res.status).to.be.oneOf(status_codes, message);
return res.body.data;
});
});

View file

@ -13,7 +13,7 @@
<div class="row column-selector-row">
<div class="col-sm-6 flex align-center">
<div class="drag-handle flex align-center">
<svg class="icon icon-xs"><use xlink:href="#icon-drag"></use></svg>
<svg class="icon icon-xs"><use href="#icon-drag"></use></svg>
</div>
<div class="checkbox">
<label>

View file

@ -13,11 +13,11 @@
{% if !in_list(["Table", "HTML", "Custom HTML"], field.fieldtype) %}
<a class="field-settings pull-right">
<span>
<svg class="icon icon-sm"><use xlink:href="#icon-setting-gear"></use></svg>
<svg class="icon icon-sm"><use href="#icon-setting-gear"></use></svg>
</span>
</a>
<span class="drag-handle">
<svg class="icon icon-xs"><use xlink:href="#icon-drag"></use></svg>
<svg class="icon icon-xs"><use href="#icon-drag"></use></svg>
</span>
{% endif %}
{% if(field.fieldtype==="Custom HTML") { %}
@ -32,7 +32,7 @@
{% } else { %}
{% if(field.fieldtype==="Table") { %}
<span class="drag-handle">
<svg class="icon icon-xs"><use xlink:href="#icon-drag"></use></svg>
<svg class="icon icon-xs"><use href="#icon-drag"></use></svg>
</span>
<span class="field-label">{{ __(field.label) }}
<span> ({%= __("Table") %})</span>

View file

@ -7,7 +7,7 @@
<a class="edit-heading btn btn-default btn-xs">
{%= __("Edit Heading") %}
<span>
<svg class="icon icon-xs"><use xlink:href="#icon-edit"></use></svg>
<svg class="icon icon-xs"><use href="#icon-edit"></use></svg>
</span>
</a>
</div>
@ -23,7 +23,7 @@
</div>
<div class="print-format-builder-add-section">
<span class="flex align-center">
<svg class="icon icon-xs"><use xlink:href="#icon-add"></use></svg>
<svg class="icon icon-xs"><use href="#icon-add"></use></svg>
</span>
<span>{%= __("Add a new section") %}</span>
</div>

View file

@ -1,10 +1,10 @@
<div class="print-format-builder-section row" data-label="{{ section.label }}">
<div class="print-format-builder-section-head col-md-12">
<div class="section-settings pull-right cursor-pointer">
<svg class="icon icon-sm"><use xlink:href="#icon-setting-gear"></use></svg>
<svg class="icon icon-sm"><use href="#icon-setting-gear"></use></svg>
</div>
<span class="drag-handle">
<svg class="icon icon-xs"><use xlink:href="#icon-drag"></use></svg>
<svg class="icon icon-xs"><use href="#icon-drag"></use></svg>
</span>
<span class="section-label">{{ section.label || "" }}</span>
</div>

View file

@ -11,7 +11,7 @@
{%= (f.fieldtype==="Custom HTML") ? "sidebar-custom-field" : "" %}"
style="display: inline-block">
<span class="drag-handle">
<svg class="icon icon-xs"><use xlink:href="#icon-drag"></use></svg>
<svg class="icon icon-xs"><use href="#icon-drag"></use></svg>
</span>
{%= __(f.label) || __(f.fieldname) %}
</div>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 212 KiB

After

Width:  |  Height:  |  Size: 212 KiB

View file

@ -35,11 +35,11 @@
<g id="Artboard" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Microsoft_Office_logo_(2019present)" transform="translate(1.000000, 1.000000)">
<g id="Group" opacity="0.2" style="mix-blend-mode: multiply;" transform="translate(3.181818, 10.181818)">
<image id="Bitmap" style="mix-blend-mode: multiply;" x="0.0381818182" y="0.165454545" width="9.01090909" height="3.56363636" xlink:href="data:image/png;base64,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"></image>
<image id="Bitmap" style="mix-blend-mode: multiply;" x="0.0381818182" y="0.165454545" width="9.01090909" height="3.56363636" href="data:image/png;base64,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"></image>
<path d="M1.04575758,0.212121212 C0.738651125,0.215411022 0.471505426,0.423271655 0.392833065,0.720148489 C0.314160704,1.01702532 0.443310422,1.32990424 0.708484848,1.48484848 L3.11818182,2.85090909 C3.31665947,2.96373479 3.54108939,3.0229492 3.76939394,3.02272789 C3.89222858,3.02264706 4.01440469,3.00478506 4.13212121,2.96969697 L7.75727273,1.93666667 C8.31275554,1.77706896 8.69583311,1.26946955 8.6969697,0.691515152 L8.6969697,0.212121212 L1.04575758,0.212121212 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
<g id="Group" opacity="0.12" style="mix-blend-mode: multiply;" transform="translate(3.393939, 10.181818)">
<image id="Bitmap" style="mix-blend-mode: multiply;" x="0.0233333333" y="0.108181818" width="8.60363636" height="3.10545455" xlink:href="data:image/png;base64,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"></image>
<image id="Bitmap" style="mix-blend-mode: multiply;" x="0.0233333333" y="0.108181818" width="8.60363636" height="3.10545455" href="data:image/png;base64,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"></image>
<path d="M0.833636364,0.212121212 C0.526529913,0.215411022 0.259384214,0.423271655 0.180711853,0.720148489 C0.102039491,1.01702532 0.23118921,1.32990424 0.496363636,1.48484848 L2.90606061,2.85090909 C3.10453825,2.96373479 3.32896818,3.0229492 3.55727273,3.02272789 C3.68010736,3.02264706 3.80228347,3.00478506 3.92,2.96969697 L7.54515152,1.93666667 C8.10063433,1.77706896 8.4837119,1.26946955 8.48484848,0.691515152 L8.48484848,0.212121212 L0.833636364,0.212121212 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero"></path>
</g>
<path d="M7.29909091,0.424242424 L8.27272727,2.65151515 L8.27272727,10.3939394 L7.31393939,13.1515152 L10.9390909,12.1184848 C11.4945737,11.9588871 11.8776513,11.4512877 11.878788,10.8733333 L11.878788,2.70242424 C11.8790396,2.12285107 11.4944742,1.61356182 10.9369697,1.45515152 L7.29909091,0.424242424 Z" id="Path" fill="url(#linearGradient-1)" fill-rule="nonzero"></path>

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View file

@ -134,14 +134,14 @@
transform="translate(120,0)"
style="fill:#bbbbbb">
<use
xlink:href="#edit"
href="#edit"
id="edit-disabled"
x="0"
y="0"
width="100%"
height="100%" />
<use
xlink:href="#remove"
href="#remove"
id="remove-disabled"
x="0"
y="0"

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -1 +0,0 @@
import "./frappe/barcode_scanner/quagga";

View file

@ -108,5 +108,4 @@ import "./frappe/ui/chart.js";
import "./frappe/ui/datatable.js";
import "./frappe/ui/driver.js";
import "./frappe/ui/plyr.js";
import "./frappe/barcode_scanner/index.js";
import "./frappe/scanner";

View file

@ -1,23 +0,0 @@
frappe.provide('frappe.barcode');
frappe.barcode.scan_barcode = function() {
return new Promise((resolve, reject) => {
if (
window.cordova &&
window.cordova.plugins &&
window.cordova.plugins.barcodeScanner
) {
window.cordova.plugins.barcodeScanner.scan(result => {
if (!result.cancelled) {
resolve(result.text);
}
}, reject);
} else {
frappe.require('barcode_scanner.bundle.js', () => {
frappe.barcode.get_barcode().then(barcode => {
resolve(barcode);
});
});
}
});
};

View file

@ -1,94 +0,0 @@
import Quagga from 'quagga/dist/quagga';
frappe.provide('frappe.barcode');
Quagga.onProcessed(function(result) {
let drawingCtx = Quagga.canvas.ctx.overlay,
drawingCanvas = Quagga.canvas.dom.overlay;
if (result) {
if (result.boxes) {
drawingCtx.clearRect(
0,
0,
parseInt(drawingCanvas.getAttribute('width')),
parseInt(drawingCanvas.getAttribute('height'))
);
result.boxes
.filter(function(box) {
return box !== result.box;
})
.forEach(function(box) {
Quagga.ImageDebug.drawPath(box, { x: 0, y: 1 }, drawingCtx, {
color: 'green',
lineWidth: 2
});
});
}
if (result.box) {
Quagga.ImageDebug.drawPath(result.box, { x: 0, y: 1 }, drawingCtx, {
color: '#00F',
lineWidth: 2
});
}
if (result.codeResult && result.codeResult.code) {
Quagga.ImageDebug.drawPath(result.line, { x: 'x', y: 'y' }, drawingCtx, {
color: 'red',
lineWidth: 3
});
}
}
});
frappe.barcode.get_barcode = function() {
return new Promise(resolve => {
let d = new frappe.ui.Dialog({
title: __('Scan Barcode'),
fields: [
{
fieldtype: 'HTML',
fieldname: 'scan_area'
}
],
on_page_show() {
let $scan_area = d.get_field('scan_area').$wrapper;
$scan_area.addClass('barcode-scanner');
Quagga.init(
{
inputStream: {
name: 'Live',
type: 'LiveStream',
target: $scan_area.get(0)
},
decoder: {
readers: ['code_128_reader']
}
},
function(err) {
if (err) {
// eslint-disable-next-line
console.log(err);
return;
}
// eslint-disable-next-line
console.log('Initialization finished. Ready to start');
Quagga.start();
}
);
Quagga.onDetected(function(result) {
let code = result.codeResult.code;
if (code) {
Quagga.stop();
d.hide();
resolve(code);
}
});
}
});
d.show();
});
};

View file

@ -65,7 +65,7 @@
</button>
<button v-if="google_drive_settings.enabled" class="btn btn-file-upload" @click="show_google_drive_picker">
<svg width="30" height="30">
<image xlink:href="/assets/frappe/icons/social/google_drive.svg" width="30" height="30"/>
<image href="/assets/frappe/icons/social/google_drive.svg" width="30" height="30"/>
</svg>
<div class="mt-1">{{ __('Google Drive') }}</div>
</button>

View file

@ -25,7 +25,7 @@
<span>{%= __("Settings") %}</span>
<span>
<svg class="icon icon-xs">
<use xlink:href="#icon-select"></use>
<use href="#icon-select"></use>
</svg>
</span>
</a>

View file

@ -68,7 +68,7 @@
<a type="button" class="action-btn"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<svg class="icon icon-sm">
<use xlink:href="#icon-dot-horizontal"></use>
<use href="#icon-dot-horizontal"></use>
</svg>
</a>
<ul class="dropdown-menu small">

View file

@ -17,7 +17,7 @@
</span>
<span>
<svg class="icon icon-xs">
<use xlink:href="#icon-select"></use>
<use href="#icon-select"></use>
</svg>
</span>
</a>
@ -50,7 +50,7 @@
<span>{{ __("Tags") }}</span>
<span>
<svg class="icon icon-xs">
<use xlink:href="#icon-select"></use>
<use href="#icon-select"></use>
</svg>
</span>
</a>

View file

@ -45,7 +45,7 @@
<div class="groupby-actions pull-left col-sm-1 hidden-xs">
<span class="remove-group-by">
<svg class="icon icon-sm">
<use xlink:href="#icon-close"></use>
<use href="#icon-close"></use>
</svg>
</span>
</div>

View file

@ -6,11 +6,11 @@
<!-- title -->
<span class="sidebar-toggle-btn">
<svg class="icon icon-md sidebar-toggle-placeholder">
<use xlink:href="#icon-menu"></use>
<use href="#icon-menu"></use>
</svg>
<span class="sidebar-toggle-icon">
<svg class="icon icon-md">
<use xlink:href="#icon-sidebar-collapse">
<use href="#icon-sidebar-collapse">
</use>
</svg>
</span>
@ -25,7 +25,7 @@
</div>
<button class="btn btn-default more-button hide">
<svg class="icon icon-sm">
<use xlink:href="#icon-dot-horizontal">
<use href="#icon-dot-horizontal">
</use>
</svg>
</button>
@ -41,7 +41,7 @@
<span>
<span class="menu-btn-group-label">
<svg class="icon icon-sm">
<use xlink:href="#icon-dot-horizontal">
<use href="#icon-dot-horizontal">
</use>
</svg>
</span>
@ -55,7 +55,7 @@
<span class="hidden-xs">
<span class="actions-btn-group-label">{%= __("Actions") %}</span>
<svg class="icon icon-xs">
<use xlink:href="#icon-select">
<use href="#icon-select">
</use>
</svg>
</span>

View file

@ -5,7 +5,7 @@
title="{{ sort_order==="desc" ? "descending" : "ascending" }}">
<span class="sort-order">
<svg class="icon icon-sm">
<use xlink:href="#icon-{{ sort_order==="desc" ? "sort-descending" : "sort-ascending" }}"></use>
<use href="#icon-{{ sort_order==="desc" ? "sort-descending" : "sort-ascending" }}"></use>
</svg>
</span>
</button>

View file

@ -15,7 +15,7 @@
aria-haspopup="true"
>
<span class="search-icon">
<svg class="icon icon-sm"><use xlink:href="#icon-search"></use></svg>
<svg class="icon icon-sm"><use href="#icon-search"></use></svg>
</span>
</div>
</form>

View file

@ -7,7 +7,7 @@
<div class="column-options dropdown pull-right">
<a data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<svg class="icon icon-sm">
<use xlink:href="#icon-dot-horizontal"></use>
<use href="#icon-dot-horizontal"></use>
</svg>
</a>
<ul class="dropdown-menu" style="max-height: 300px; overflow-y: auto;">

View file

@ -481,7 +481,7 @@ export default class ChartWidget extends Widget {
class="btn btn-xs btn-secondary chart-menu"
>
<svg class="icon icon-sm">
<use xlink:href="#icon-dot-horizontal">
<use href="#icon-dot-horizontal">
</use>
</svg>
</button>

View file

@ -26,7 +26,7 @@
<div class="column-label d-flex align-center">
<div class="px-2 icon-drag ml-n2">
<svg class="icon icon-xs">
<use xlink:href="#icon-drag"></use>
<use href="#icon-drag"></use>
</svg>
</div>
<div class="mt-1 ml-1">
@ -54,7 +54,7 @@
@click="remove_column(column)"
>
<svg class="icon icon-sm">
<use xlink:href="#icon-close"></use>
<use href="#icon-close"></use>
</svg>
</button>
</div>

View file

@ -35,7 +35,7 @@
@click="edit_html"
>
<svg class="icon icon-sm">
<use xlink:href="#icon-edit"></use>
<use href="#icon-edit"></use>
</svg>
</button>
<button
@ -50,7 +50,7 @@
@click="$set(df, 'remove', true)"
>
<svg class="icon icon-sm">
<use xlink:href="#icon-close"></use>
<use href="#icon-close"></use>
</svg>
</button>
</div>

View file

@ -25,7 +25,7 @@
data-toggle="dropdown"
>
<svg class="icon icon-sm">
<use xlink:href="#icon-dot-horizontal"></use>
<use href="#icon-dot-horizontal"></use>
</svg>
</button>
<div

View file

@ -60,7 +60,7 @@
</script>
</head>
<body frappe-session-status="{{ 'logged-in' if frappe.session.user != 'Guest' else 'logged-out'}}" data-path="{{ path | e }}" {%- if template and template.endswith('.md') %} frappe-content-type="markdown" {%- endif %} class="{{ body_class or ''}}">
{% include "public/icons/timeless/symbol-defs.svg" %}
{% include "public/icons/timeless/icons.svg" %}
{%- block banner -%}
{% include "templates/includes/banner_extension.html" ignore missing %}

View file

@ -19,7 +19,7 @@
{% if frappe.session.user == reply.owner %}
<div class="dropdown">
<svg class="icon icon-sm dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<use xlink:href="#icon-dot-horizontal"></use>
<use href="#icon-dot-horizontal"></use>
</svg>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<li>

View file

@ -195,6 +195,7 @@ login.login_handlers = (function () {
200: function (data) {
if (data.message == 'Logged In') {
login.set_status('{{ _("Success") }}', 'green');
document.body.innerHTML = `{% include "templates/includes/splash_screen.html" %}`;
window.location.href = frappe.utils.sanitise_redirect(frappe.utils.get_url_arg("redirect-to")) || data.home_page;
} else if (data.message == 'Password Reset') {
window.location.href = frappe.utils.sanitise_redirect(data.redirect_to);

View file

@ -0,0 +1,4 @@
<div class="centered splash">
<img src="{{ splash_image or "/assets/frappe/images/frappe-framework-logo.png" }}"
style="max-width: 100px; max-height: 100px;">
</div>

View file

@ -7,7 +7,7 @@
<div class="mt-3">
<h4 class="action">
<a href="{{ cta_url }}" class="no-decoration">{{ _(cta_label) }}
<svg class="icon icon-md"><use xlink:href="#icon-right"></use></svg>
<svg class="icon icon-md"><use href="#icon-right"></use></svg>
</a>
</h4>
</div>

View file

@ -10,7 +10,7 @@
{%- if cta_label and cta_url -%}
<h4 class="action">
<a href="{{ cta_url }}" class="no-decoration">{{ cta_label }}
<svg class="icon icon-md"><use xlink:href="#icon-right"></use></svg>
<svg class="icon icon-md"><use href="#icon-right"></use></svg>
</a>
</h4>
{%- endif -%}

View file

@ -25,11 +25,8 @@
{%- endfor -%}
</head>
<body>
{% include "public/icons/timeless/symbol-defs.svg" %}
<div class="centered splash">
<img src="{{ splash_image or "/assets/frappe/images/frappe-framework-logo.png" }}"
style="max-width: 100px; max-height: 100px;">
</div>
{% include "public/icons/timeless/icons.svg" %}
{% include "templates/includes/splash_screen.html" %}
<div class="main-section">
<header></header>
<div id="body"></div>
@ -45,7 +42,7 @@
if (!window.frappe) window.frappe = {};
frappe.boot = {{ boot }};
frappe.boot = JSON.parse({{ boot }});
frappe._messages = frappe.boot["__messages"];
frappe.csrf_token = "{{ csrf_token }}";
</script>

View file

@ -2,6 +2,7 @@
# License: MIT. See LICENSE
no_cache = 1
import json
import os
import re
@ -32,13 +33,14 @@ def get_context(context):
frappe.db.commit()
boot_json = frappe.as_json(boot)
boot_json = frappe.as_json(boot, indent=None, separators=(",", ":"))
# remove script tags from boot
boot_json = SCRIPT_TAG_PATTERN.sub("", boot_json)
# TODO: Find better fix
boot_json = CLOSING_SCRIPT_TAG_PATTERN.sub("", boot_json)
boot_json = json.dumps(boot_json)
context.update(
{

View file

@ -20,7 +20,7 @@
<span class="my-account-item-link">
<a href="/update-profile?name={{ user }}">
<svg class="edit-profile-icon icon icon-md">
<use xlink:href="#icon-edit">
<use href="#icon-edit">
</use>
</svg>
<span class="item-link-text pl-2">
@ -38,7 +38,7 @@
<span class="my-account-item-link">
<a href="/update-password">
<svg class="right-icon icon icon-md">
<use xlink:href="#icon-right">
<use href="#icon-right">
</use>
</svg>
<span class="item-link-text">{{_("Reset Password") }}</span>
@ -53,7 +53,7 @@
<span class="my-account-item-link">
<a href="/third_party_apps">
<svg class="right-icon icon icon-md">
<use xlink:href="#icon-right">
<use href="#icon-right">
</use>
</svg>
<span class="item-link-text">{{_("Manage your apps") }}</span>
@ -69,7 +69,7 @@
<span class="my-account-item-link">
<a href="/request-for-account-deletion?new=1">
<svg class="right-icon icon icon-md">
<use xlink:href="#icon-right">
<use href="#icon-right">
</use>
</svg>
<span class="item-link-text">{{_("Delete Account") }}</span>

View file

@ -49,7 +49,6 @@
"node-sass": "^7.0.0",
"plyr": "^3.7.2",
"popper.js": "^1.16.0",
"quagga": "^0.12.1",
"quill": "2.0.0-dev.4",
"quill-image-resize": "^3.0.9",
"quill-magic-url": "^3.0.0",

133
yarn.lock
View file

@ -1059,13 +1059,6 @@ cwd@^0.10.0:
find-pkg "^0.1.2"
fs-exists-sync "^0.1.0"
cwise-compiler@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/cwise-compiler/-/cwise-compiler-1.1.3.tgz#f4d667410e850d3a313a7d2db7b1e505bb034cc5"
integrity sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=
dependencies:
uniq "^1.0.0"
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@ -1073,11 +1066,6 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
data-uri-to-buffer@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-0.0.3.tgz#18ae979a6a0ca994b0625853916d2662bbae0b1a"
integrity sha1-GK6XmmoMqZSwYlhTkW0mYruuCxo=
de-indent@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
@ -1905,23 +1893,6 @@ get-intrinsic@^1.0.2:
has "^1.0.3"
has-symbols "^1.0.1"
get-pixels@^3.2.3:
version "3.3.2"
resolved "https://registry.yarnpkg.com/get-pixels/-/get-pixels-3.3.2.tgz#3f62fb8811932c69f262bba07cba72b692b4ff03"
integrity sha512-6ar+8yPxRd1pskEcl2GSEu1La0+xYRjjnkby6AYiRDDwZ0tJbPQmHnSeH9fGLskT8kvR0OukVgtZLcsENF9YKQ==
dependencies:
data-uri-to-buffer "0.0.3"
jpeg-js "^0.3.2"
mime-types "^2.0.1"
ndarray "^1.0.13"
ndarray-pack "^1.1.1"
node-bitmap "0.0.1"
omggif "^1.0.5"
parse-data-uri "^0.2.0"
pngjs "^3.3.3"
request "^2.44.0"
through "^2.3.4"
get-stdin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
@ -1934,21 +1905,6 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
gl-mat2@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/gl-mat2/-/gl-mat2-1.0.1.tgz#142505730a5c2fe1e9f25d9ece3d0d6cc2710a30"
integrity sha1-FCUFcwpcL+Hp8l2ezj0NbMJxCjA=
gl-vec2@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/gl-vec2/-/gl-vec2-1.3.0.tgz#83d472ed46034de8e09cbc857123fb6c81c51199"
integrity sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==
gl-vec3@^1.0.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/gl-vec3/-/gl-vec3-1.1.3.tgz#a47c62f918774a06cbed1b65bcd0288ecbb03826"
integrity sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==
glob-parent@^5.1.0, glob-parent@~5.1.0:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
@ -2278,11 +2234,6 @@ ini@^1.3.4:
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
iota-array@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/iota-array/-/iota-array-1.0.0.tgz#81ef57fe5d05814cd58c2483632a99c30a0e8087"
integrity sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
@ -2320,7 +2271,7 @@ is-boolean-object@^1.0.0:
resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e"
integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==
is-buffer@^1.0.2, is-buffer@^1.1.5, is-buffer@~1.1.6:
is-buffer@^1.1.5, is-buffer@~1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
@ -2535,11 +2486,6 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
jpeg-js@^0.3.2:
version "0.3.6"
resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.6.tgz#c40382aac9506e7d1f2d856eb02f6c7b2a98b37c"
integrity sha512-MUj2XlMB8kpe+8DJUGH/3UJm4XpI8XEgZQ+CiHDeyrGoKPdW/8FJv6ku+3UiYm5Fz3CWaL+iXmD8Q4Ap6aC1Jw==
jquery@3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
@ -2904,11 +2850,6 @@ micromatch@^4.0.2:
braces "^3.0.1"
picomatch "^2.0.5"
mime-db@1.40.0:
version "1.40.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32"
integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
mime-db@1.43.0:
version "1.43.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
@ -2919,13 +2860,6 @@ mime-db@1.44.0:
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
mime-types@^2.0.1:
version "2.1.24"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
dependencies:
mime-db "1.40.0"
mime-types@^2.1.12, mime-types@~2.1.19:
version "2.1.27"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
@ -3038,27 +2972,6 @@ native-request@^1.0.5:
resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.8.tgz#8f66bf606e0f7ea27c0e5995eb2f5d03e33ae6fb"
integrity sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag==
ndarray-linear-interpolate@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/ndarray-linear-interpolate/-/ndarray-linear-interpolate-1.0.0.tgz#78bc92b85b9abc15b6e67ee65828f9e2137ae72b"
integrity sha1-eLySuFuavBW25n7mWCj54hN65ys=
ndarray-pack@^1.1.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ndarray-pack/-/ndarray-pack-1.2.1.tgz#8caebeaaa24d5ecf70ff86020637977da8ee585a"
integrity sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=
dependencies:
cwise-compiler "^1.1.2"
ndarray "^1.0.13"
ndarray@^1.0.13, ndarray@^1.0.18:
version "1.0.18"
resolved "https://registry.yarnpkg.com/ndarray/-/ndarray-1.0.18.tgz#b60d3a73224ec555d0faa79711e502448fd3f793"
integrity sha1-tg06cyJOxVXQ+qeXEeUCRI/T95M=
dependencies:
iota-array "^1.0.0"
is-buffer "^1.0.2"
needle@^2.5.2:
version "2.6.0"
resolved "https://registry.yarnpkg.com/needle/-/needle-2.6.0.tgz#24dbb55f2509e2324b4a99d61f413982013ccdbe"
@ -3086,11 +2999,6 @@ node-addon-api@^3.0.0:
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
node-bitmap@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/node-bitmap/-/node-bitmap-0.0.1.tgz#180eac7003e0c707618ef31368f62f84b2a69091"
integrity sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE=
node-gyp-build@^4.2.2:
version "4.2.3"
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739"
@ -3267,11 +3175,6 @@ object.assign@^4.1.0:
has-symbols "^1.0.0"
object-keys "^1.0.11"
omggif@^1.0.5:
version "1.0.10"
resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19"
integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
@ -3353,13 +3256,6 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
parse-data-uri@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/parse-data-uri/-/parse-data-uri-0.2.0.tgz#bf04d851dd5c87b0ab238e5d01ace494b604b4c9"
integrity sha1-vwTYUd1ch7CrI45dAazklLYEtMk=
dependencies:
data-uri-to-buffer "0.0.3"
parse-json@^5.0.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
@ -3477,11 +3373,6 @@ plyr@^3.7.2:
rangetouch "^2.0.1"
url-polyfill "^1.1.12"
pngjs@^3.3.3:
version "3.4.0"
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
popper.js@^1.16.0:
version "1.16.1"
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b"
@ -3998,19 +3889,6 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
quagga@^0.12.1:
version "0.12.1"
resolved "https://registry.yarnpkg.com/quagga/-/quagga-0.12.1.tgz#6f48c56ed992dc5fdeb90dbee7069c2e1cdde8b7"
integrity sha1-b0jFbtmS3F/euQ2+5wacLhzd6Lc=
dependencies:
get-pixels "^3.2.3"
gl-mat2 "^1.0.0"
gl-vec2 "^1.0.0"
gl-vec3 "^1.0.3"
lodash "^4.17.4"
ndarray "^1.0.18"
ndarray-linear-interpolate "^1.0.0"
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@ -4237,7 +4115,7 @@ repeat-string@^1.5.2:
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
request@^2.44.0, request@^2.88.0, request@^2.88.2:
request@^2.88.0, request@^2.88.2:
version "2.88.2"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
@ -4942,11 +4820,6 @@ tar@^6.0.2:
mkdirp "^1.0.3"
yallist "^4.0.0"
through@^2.3.4:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
timsort@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
@ -5075,7 +4948,7 @@ uglify-to-browserify@~1.0.0:
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc=
uniq@^1.0.0, uniq@^1.0.1:
uniq@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=