Implemented Insertable in the textfield class
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
This commit is contained in:
parent
5ca39c9dd3
commit
9c7ec6fdc9
|
@ -53,4 +53,3 @@ import './datalist';
|
|||
import './contextmenu';
|
||||
import './rating';
|
||||
import './smart-table';
|
||||
import './input-account';
|
||||
|
|
|
@ -1,96 +0,0 @@
|
|||
import ngModule from '../../module';
|
||||
import Field from '../field';
|
||||
|
||||
export default class inputAccount extends Field {
|
||||
constructor($element, $scope, $compile) {
|
||||
super($element, $scope, $compile);
|
||||
this.buildInput('text');
|
||||
|
||||
this.element.addEventListener('click', e => {
|
||||
let targetElement = e.target;
|
||||
targetElement.addEventListener('keydown', e => {
|
||||
let maxLength = this.maxLength;
|
||||
|
||||
// In case the string is too long when the key is pressed, cut the string to the max length allowed
|
||||
if (e.target.value.length > maxLength)
|
||||
e.target.value.substring(0, maxLength);
|
||||
});
|
||||
targetElement.addEventListener('keypress', async e => {
|
||||
if (e.key == 'Enter')
|
||||
return; // If the enter key is pressed dismiss it
|
||||
|
||||
let maxLength = this.maxLength;
|
||||
|
||||
// Call the function that obtains the current cursor position
|
||||
let pointerPosition = getCaretPosition(e.target);
|
||||
|
||||
// If the cursor position is on the last allowed character, prevent any keystroke from doing anything
|
||||
if (pointerPosition >= maxLength) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return;
|
||||
}
|
||||
|
||||
// In case by any ways the input is longer than the max especified size, cut it to it.
|
||||
let currentArrValue = e.target.value.slice(0, maxLength);
|
||||
|
||||
// Transform said input to a array with each character on one position
|
||||
currentArrValue = currentArrValue.split('');
|
||||
|
||||
// Cut the array in 2 parts, one with everything right of the caret, and one with everything left to it
|
||||
let rightToTheCaret = currentArrValue.slice(pointerPosition);
|
||||
|
||||
let leftToTheCaret = currentArrValue.slice(0, pointerPosition);
|
||||
|
||||
// Remove the first number on the array that was right of the caret
|
||||
rightToTheCaret.shift();
|
||||
|
||||
// The part that was left to the caret is not modified in any way and is put back into the textField
|
||||
e.target.value = leftToTheCaret.join('');
|
||||
|
||||
// Add one millisecond of delay to give the UI time to update,
|
||||
// so that it detects the changes on the textField
|
||||
await new Promise(r => setTimeout(r, 1));
|
||||
|
||||
// Add the values that should be right to the Caret back in the textField
|
||||
e.target.value = e.target.value + rightToTheCaret.join('');
|
||||
|
||||
// Update the current pointer position so that it moves 1 position to the right
|
||||
pointerPosition++;
|
||||
e.target.setSelectionRange(pointerPosition, pointerPosition);
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function getCaretPosition(targetElement) {
|
||||
let caretPosition = 0;
|
||||
|
||||
// IE Support
|
||||
if (document.selection) {
|
||||
// Set focus on the element
|
||||
targetElement.focus();
|
||||
|
||||
// To get cursor position, get empty selection range
|
||||
let selectionOrCaretPos = document.selection.createRange();
|
||||
|
||||
// Move selection start to 0 position
|
||||
selectionOrCaretPos.moveStart('character', -targetElement.value.length);
|
||||
|
||||
// The caret position is selection length
|
||||
caretPosition = selectionOrCaretPos.text.length;
|
||||
} else if (targetElement.selectionStart || targetElement.selectionStart == 0) // Firefox Support
|
||||
caretPosition = targetElement.selectionStart;
|
||||
|
||||
// Return results
|
||||
return (caretPosition);
|
||||
}
|
||||
|
||||
ngModule.vnComponent('vnInputAccount', {
|
||||
controller: inputAccount,
|
||||
bindings: {
|
||||
maxLength: '<'
|
||||
}
|
||||
});
|
|
@ -5,90 +5,92 @@ export default class Textfield extends Field {
|
|||
constructor($element, $scope, $compile) {
|
||||
super($element, $scope, $compile);
|
||||
this.buildInput('text');
|
||||
}
|
||||
|
||||
if (this.element.getAttribute('insertable')) {
|
||||
this.element.addEventListener('click', e => {
|
||||
let targetElement = e.target;
|
||||
targetElement.addEventListener('keydown', e => {
|
||||
let maxLength = this.maxLength;
|
||||
set maxLength(value) {
|
||||
this.input.maxLength = value;
|
||||
}
|
||||
|
||||
// In case the string is too long when the key is pressed, cut the string to the max length allowed
|
||||
if (e.target.value.length > maxLength)
|
||||
e.target.value.substring(0, maxLength);
|
||||
});
|
||||
targetElement.addEventListener('keypress', async e => {
|
||||
if (e.key == 'Enter')
|
||||
return; // If the enter key is pressed dismiss it
|
||||
get maxLength() {
|
||||
return this.input.maxLength;
|
||||
}
|
||||
|
||||
let maxLength = this.maxLength;
|
||||
set insertable(value) {
|
||||
if (this._insertable === value)
|
||||
return;
|
||||
|
||||
// Call the function that obtains the current cursor position
|
||||
let pointerPosition = getCaretPosition(e.target);
|
||||
if (this._insertable)
|
||||
this.input.removeEventListener('keypress', this.keyPressListener);
|
||||
|
||||
// If the cursor position is on the last allowed character,
|
||||
// prevent any keystroke from doing anything
|
||||
if (pointerPosition >= maxLength) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return;
|
||||
}
|
||||
|
||||
// In case by any ways the input is longer than the max especified size, cut it to it.
|
||||
let currentArrValue = e.target.value.slice(0, maxLength);
|
||||
|
||||
// Transform said input to a array with each character on one position
|
||||
currentArrValue = currentArrValue.split('');
|
||||
|
||||
// Cut the array in 2 parts, one with everything right of the caret,
|
||||
// and one with everything left to it
|
||||
let rightToTheCaret = currentArrValue.slice(pointerPosition);
|
||||
|
||||
let leftToTheCaret = currentArrValue.slice(0, pointerPosition);
|
||||
|
||||
// Remove the first number on the array that was right of the caret
|
||||
rightToTheCaret.shift();
|
||||
|
||||
// The part that was left to the caret is not modified in any way and is put back into the textField
|
||||
e.target.value = leftToTheCaret.join('');
|
||||
|
||||
// Add one millisecond of delay to give the UI time to update,
|
||||
// so that it detects the changes on the textField
|
||||
await new Promise(r => setTimeout(r, 1));
|
||||
|
||||
// Add the values that should be right to the Caret back in the textField
|
||||
e.target.value = e.target.value + rightToTheCaret.join('');
|
||||
|
||||
// Update the current pointer position so that it moves 1 position to the right
|
||||
pointerPosition++;
|
||||
e.target.setSelectionRange(pointerPosition, pointerPosition);
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
if (value) {
|
||||
this.keyPressListener = async e => await this.onKeyPress(e);
|
||||
this.input.addEventListener('keypress', this.keyPressListener);
|
||||
}
|
||||
|
||||
this._insertable = value;
|
||||
}
|
||||
|
||||
get insertable() {
|
||||
return this._insertable;
|
||||
}
|
||||
|
||||
async onKeyPress(e) {
|
||||
if (e.key == 'Enter')
|
||||
return; // If the enter key is pressed dismiss it
|
||||
|
||||
let maxLength = this.maxLength;
|
||||
|
||||
// Call the function that obtains the current cursor position
|
||||
let pointerPosition = getCaretPosition(e.target);
|
||||
|
||||
// If the cursor position is on the last allowed character,
|
||||
// prevent any keystroke from doing anything
|
||||
if (pointerPosition >= maxLength) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return;
|
||||
}
|
||||
|
||||
// In case by any ways the input is longer than the max especified size, cut it to it.
|
||||
let currentArrValue = e.target.value.slice(0, maxLength);
|
||||
|
||||
// Transform said input to a array with each character on one position
|
||||
currentArrValue = currentArrValue.split('');
|
||||
|
||||
// Cut the array in 2 parts, one with everything right of the caret,
|
||||
// and one with everything left to it
|
||||
let rightToTheCaret = currentArrValue.slice(pointerPosition);
|
||||
|
||||
let leftToTheCaret = currentArrValue.slice(0, pointerPosition);
|
||||
|
||||
// Remove the first number on the array that was right of the caret
|
||||
rightToTheCaret.shift();
|
||||
|
||||
// The part that was left to the caret is not modified in any way and is put back into the textField
|
||||
e.target.value = leftToTheCaret.join('');
|
||||
|
||||
// Add one millisecond of delay to give the UI time to update,
|
||||
// so that it detects the changes on the textField
|
||||
await new Promise(r => setTimeout(r, 1));
|
||||
|
||||
// Add the values that should be right to the Caret back in the textField
|
||||
e.target.value = e.target.value + rightToTheCaret.join('');
|
||||
|
||||
// Update the current pointer position so that it moves 1 position to the right
|
||||
pointerPosition++;
|
||||
e.target.setSelectionRange(pointerPosition, pointerPosition);
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getCaretPosition(targetElement) {
|
||||
let caretPosition = 0;
|
||||
|
||||
// IE Support
|
||||
if (document.selection) {
|
||||
// Set focus on the element
|
||||
targetElement.focus();
|
||||
|
||||
// To get cursor position, get empty selection range
|
||||
let selectionOrCaretPos = document.selection.createRange();
|
||||
|
||||
// Move selection start to 0 position
|
||||
selectionOrCaretPos.moveStart('character', -targetElement.value.length);
|
||||
|
||||
// The caret position is selection length
|
||||
caretPosition = selectionOrCaretPos.text.length;
|
||||
} else if (targetElement.selectionStart || targetElement.selectionStart == 0) // Firefox Support
|
||||
if (targetElement.selectionStart || targetElement.selectionStart == 0) // Firefox Support
|
||||
caretPosition = targetElement.selectionStart;
|
||||
|
||||
// Return results
|
||||
return (caretPosition);
|
||||
return caretPosition;
|
||||
}
|
||||
|
||||
ngModule.vnComponent('vnTextfield', {
|
||||
|
@ -98,3 +100,4 @@ ngModule.vnComponent('vnTextfield', {
|
|||
insertable: '<?'
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -2347,6 +2347,15 @@
|
|||
"integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/yauzl": {
|
||||
"version": "2.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
|
||||
"integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@webassemblyjs/ast": {
|
||||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
|
||||
|
@ -3508,6 +3517,16 @@
|
|||
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
|
||||
"dev": true
|
||||
},
|
||||
"bindings": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
|
||||
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"file-uri-to-path": "1.0.0"
|
||||
}
|
||||
},
|
||||
"bl": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
|
||||
|
@ -3807,6 +3826,11 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"buffer-crc32": {
|
||||
"version": "0.2.13",
|
||||
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
|
||||
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
|
||||
},
|
||||
"buffer-equal": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
|
||||
|
@ -4128,6 +4152,7 @@
|
|||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"bindings": "^1.5.0",
|
||||
"nan": "^2.12.1"
|
||||
}
|
||||
},
|
||||
|
@ -5354,6 +5379,11 @@
|
|||
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
|
||||
"dev": true
|
||||
},
|
||||
"devtools-protocol": {
|
||||
"version": "0.0.847576",
|
||||
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.847576.tgz",
|
||||
"integrity": "sha512-0M8kobnSQE0Jmly7Mhbeq0W/PpZfnuK+WjN2ZRVPbGqYwCHCioAVp84H0TcLimgECcN5H976y5QiXMGBC9JKmg=="
|
||||
},
|
||||
"diff": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
|
||||
|
@ -6571,6 +6601,32 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"extract-zip": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
|
||||
"integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
|
||||
"requires": {
|
||||
"@types/yauzl": "^2.9.1",
|
||||
"debug": "^4.1.1",
|
||||
"get-stream": "^5.1.0",
|
||||
"yauzl": "^2.10.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||
"requires": {
|
||||
"ms": "2.1.2"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"extsprintf": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz",
|
||||
|
@ -6657,6 +6713,14 @@
|
|||
"bser": "2.1.1"
|
||||
}
|
||||
},
|
||||
"fd-slicer": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
|
||||
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
|
||||
"requires": {
|
||||
"pend": "~1.2.0"
|
||||
}
|
||||
},
|
||||
"feature-policy": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.3.0.tgz",
|
||||
|
@ -6724,6 +6788,13 @@
|
|||
"resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz",
|
||||
"integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw=="
|
||||
},
|
||||
"file-uri-to-path": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
|
||||
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"filed-mimefix": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/filed-mimefix/-/filed-mimefix-0.1.3.tgz",
|
||||
|
@ -6857,7 +6928,6 @@
|
|||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
|
||||
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"locate-path": "^5.0.0",
|
||||
"path-exists": "^4.0.0"
|
||||
|
@ -11671,7 +11741,6 @@
|
|||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
|
||||
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"p-locate": "^4.1.0"
|
||||
}
|
||||
|
@ -14320,7 +14389,6 @@
|
|||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
|
||||
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"p-try": "^2.0.0"
|
||||
}
|
||||
|
@ -14329,7 +14397,6 @@
|
|||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
|
||||
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"p-limit": "^2.2.0"
|
||||
}
|
||||
|
@ -14541,8 +14608,7 @@
|
|||
"path-exists": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
|
||||
"dev": true
|
||||
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
|
@ -14618,6 +14684,11 @@
|
|||
"sha.js": "^2.4.8"
|
||||
}
|
||||
},
|
||||
"pend": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
|
||||
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
|
@ -14665,7 +14736,6 @@
|
|||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
|
||||
"integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"find-up": "^4.0.0"
|
||||
}
|
||||
|
@ -14975,8 +15045,7 @@
|
|||
"progress": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
|
||||
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
|
||||
},
|
||||
"promise-inflight": {
|
||||
"version": "1.0.1",
|
||||
|
@ -15003,6 +15072,11 @@
|
|||
"ipaddr.js": "1.9.1"
|
||||
}
|
||||
},
|
||||
"proxy-from-env": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
||||
},
|
||||
"prr": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
|
||||
|
@ -15082,6 +15156,40 @@
|
|||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
|
||||
},
|
||||
"puppeteer": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-7.1.0.tgz",
|
||||
"integrity": "sha512-lqOLzqCKdh7yUAHvK6LxgOpQrL8Bv1/jvS8MLDXxcNms2rlM3E8p/Wlwc7efbRZ0twxTzUeqjN5EqrTwxOwc9g==",
|
||||
"requires": {
|
||||
"debug": "^4.1.0",
|
||||
"devtools-protocol": "0.0.847576",
|
||||
"extract-zip": "^2.0.0",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
"pkg-dir": "^4.2.0",
|
||||
"progress": "^2.0.1",
|
||||
"proxy-from-env": "^1.1.0",
|
||||
"rimraf": "^3.0.2",
|
||||
"tar-fs": "^2.0.0",
|
||||
"unbzip2-stream": "^1.3.3",
|
||||
"ws": "^7.2.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||
"requires": {
|
||||
"ms": "2.1.2"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.10.3",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
|
||||
|
@ -18998,6 +19106,31 @@
|
|||
"which-boxed-primitive": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"unbzip2-stream": {
|
||||
"version": "1.4.3",
|
||||
"resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
|
||||
"integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
|
||||
"requires": {
|
||||
"buffer": "^5.2.1",
|
||||
"through": "^2.3.8"
|
||||
},
|
||||
"dependencies": {
|
||||
"base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
|
||||
},
|
||||
"buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"requires": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"unc-path-regex": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
|
||||
|
@ -22642,6 +22775,15 @@
|
|||
"camelcase": "^5.0.0",
|
||||
"decamelize": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"yauzl": {
|
||||
"version": "2.10.0",
|
||||
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
|
||||
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
|
||||
"requires": {
|
||||
"buffer-crc32": "~0.2.3",
|
||||
"fd-slicer": "~1.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue