Add yet-another-react-lightbox package and update .gitignore to exclude node_modules
This commit is contained in:
46
frontend/node_modules/svg-parser/CHANGELOG.md
generated
vendored
46
frontend/node_modules/svg-parser/CHANGELOG.md
generated
vendored
@@ -1,46 +0,0 @@
|
||||
# svg-parser changelog
|
||||
|
||||
## 2.0.3
|
||||
|
||||
* Fix reported error location ([#9](https://github.com/Rich-Harris/svg-parser/issues/9))
|
||||
|
||||
## 2.0.2
|
||||
|
||||
* Allow underscores in attribute names ([#4](https://github.com/Rich-Harris/svg-parser/issues/4))
|
||||
|
||||
## 2.0.1
|
||||
|
||||
* Fix empty/space attributes
|
||||
|
||||
## 2.0.0
|
||||
|
||||
* Migrate to HAST
|
||||
|
||||
## 1.0.6
|
||||
|
||||
* Remove unused dependency
|
||||
|
||||
## 1.0.5
|
||||
|
||||
* Handle doctype and CDATA
|
||||
|
||||
## 1.0.4
|
||||
|
||||
* Handle unexpected end of input
|
||||
|
||||
## 1.0.3
|
||||
|
||||
* Prevent infinite loops on bad final closing tag
|
||||
|
||||
## 1.0.2
|
||||
|
||||
* Prevent `""=true` attributes
|
||||
|
||||
## 1.0.1
|
||||
|
||||
* Allow attributes with numbers (e.g. `x1`)
|
||||
* Fix error messages
|
||||
|
||||
## 1.0.0
|
||||
|
||||
* First release
|
||||
41
frontend/node_modules/svg-parser/README.md
generated
vendored
41
frontend/node_modules/svg-parser/README.md
generated
vendored
@@ -1,41 +0,0 @@
|
||||
# svg-parser
|
||||
|
||||
Take a string representing an SVG document or fragment, turn it into [HAST](https://github.com/syntax-tree/hast) JavaScript object.
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
`npm install svg-parser`, or grab it from [npmcdn.com/svg-parser](https://npmcdn.com/svg-parser).
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
import { parse } from 'svg-parser';
|
||||
|
||||
const parsed = parse( `
|
||||
<svg viewBox='0 0 100 100'>
|
||||
<!-- stuff goes here... -->
|
||||
</svg>
|
||||
` );
|
||||
/*
|
||||
{
|
||||
type: 'root',
|
||||
children: [
|
||||
{
|
||||
type: 'element',
|
||||
tagName: 'svg',
|
||||
properties: {
|
||||
viewBox: '0 0 100 100'
|
||||
},
|
||||
children: [...]
|
||||
}
|
||||
]
|
||||
}
|
||||
*/
|
||||
```
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
281
frontend/node_modules/svg-parser/dist/svg-parser.esm.js
generated
vendored
281
frontend/node_modules/svg-parser/dist/svg-parser.esm.js
generated
vendored
@@ -1,281 +0,0 @@
|
||||
function getLocator(source, options) {
|
||||
if (options === void 0) { options = {}; }
|
||||
var offsetLine = options.offsetLine || 0;
|
||||
var offsetColumn = options.offsetColumn || 0;
|
||||
var originalLines = source.split('\n');
|
||||
var start = 0;
|
||||
var lineRanges = originalLines.map(function (line, i) {
|
||||
var end = start + line.length + 1;
|
||||
var range = { start: start, end: end, line: i };
|
||||
start = end;
|
||||
return range;
|
||||
});
|
||||
var i = 0;
|
||||
function rangeContains(range, index) {
|
||||
return range.start <= index && index < range.end;
|
||||
}
|
||||
function getLocation(range, index) {
|
||||
return { line: offsetLine + range.line, column: offsetColumn + index - range.start, character: index };
|
||||
}
|
||||
function locate(search, startIndex) {
|
||||
if (typeof search === 'string') {
|
||||
search = source.indexOf(search, startIndex || 0);
|
||||
}
|
||||
var range = lineRanges[i];
|
||||
var d = search >= range.end ? 1 : -1;
|
||||
while (range) {
|
||||
if (rangeContains(range, search))
|
||||
return getLocation(range, search);
|
||||
i += d;
|
||||
range = lineRanges[i];
|
||||
}
|
||||
}
|
||||
return locate;
|
||||
}
|
||||
function locate(source, search, options) {
|
||||
if (typeof options === 'number') {
|
||||
throw new Error('locate takes a { startIndex, offsetLine, offsetColumn } object as the third argument');
|
||||
}
|
||||
return getLocator(source, options)(search, options && options.startIndex);
|
||||
}
|
||||
|
||||
var validNameCharacters = /[a-zA-Z0-9:_-]/;
|
||||
var whitespace = /[\s\t\r\n]/;
|
||||
var quotemark = /['"]/;
|
||||
|
||||
function repeat(str, i) {
|
||||
var result = '';
|
||||
while (i--) { result += str; }
|
||||
return result;
|
||||
}
|
||||
|
||||
function parse(source) {
|
||||
var header = '';
|
||||
var stack = [];
|
||||
|
||||
var state = metadata;
|
||||
var currentElement = null;
|
||||
var root = null;
|
||||
|
||||
function error(message) {
|
||||
var ref = locate(source, i);
|
||||
var line = ref.line;
|
||||
var column = ref.column;
|
||||
var before = source.slice(0, i);
|
||||
var beforeLine = /(^|\n).*$/.exec(before)[0].replace(/\t/g, ' ');
|
||||
var after = source.slice(i);
|
||||
var afterLine = /.*(\n|$)/.exec(after)[0];
|
||||
|
||||
var snippet = "" + beforeLine + afterLine + "\n" + (repeat(' ', beforeLine.length)) + "^";
|
||||
|
||||
throw new Error(
|
||||
(message + " (" + line + ":" + column + "). If this is valid SVG, it's probably a bug in svg-parser. Please raise an issue at https://github.com/Rich-Harris/svg-parser/issues – thanks!\n\n" + snippet)
|
||||
);
|
||||
}
|
||||
|
||||
function metadata() {
|
||||
while ((i < source.length && source[i] !== '<') || !validNameCharacters.test(source[i + 1])) {
|
||||
header += source[i++];
|
||||
}
|
||||
|
||||
return neutral();
|
||||
}
|
||||
|
||||
function neutral() {
|
||||
var text = '';
|
||||
while (i < source.length && source[i] !== '<') { text += source[i++]; }
|
||||
|
||||
if (/\S/.test(text)) {
|
||||
currentElement.children.push({ type: 'text', value: text });
|
||||
}
|
||||
|
||||
if (source[i] === '<') {
|
||||
return tag;
|
||||
}
|
||||
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function tag() {
|
||||
var char = source[i];
|
||||
|
||||
if (char === '?') { return neutral; } // <?xml...
|
||||
|
||||
if (char === '!') {
|
||||
if (source.slice(i + 1, i + 3) === '--') { return comment; }
|
||||
if (source.slice(i + 1, i + 8) === '[CDATA[') { return cdata; }
|
||||
if (/doctype/i.test(source.slice(i + 1, i + 8))) { return neutral; }
|
||||
}
|
||||
|
||||
if (char === '/') { return closingTag; }
|
||||
|
||||
var tagName = getName();
|
||||
|
||||
var element = {
|
||||
type: 'element',
|
||||
tagName: tagName,
|
||||
properties: {},
|
||||
children: []
|
||||
};
|
||||
|
||||
if (currentElement) {
|
||||
currentElement.children.push(element);
|
||||
} else {
|
||||
root = element;
|
||||
}
|
||||
|
||||
var attribute;
|
||||
while (i < source.length && (attribute = getAttribute())) {
|
||||
element.properties[attribute.name] = attribute.value;
|
||||
}
|
||||
|
||||
var selfClosing = false;
|
||||
|
||||
if (source[i] === '/') {
|
||||
i += 1;
|
||||
selfClosing = true;
|
||||
}
|
||||
|
||||
if (source[i] !== '>') {
|
||||
error('Expected >');
|
||||
}
|
||||
|
||||
if (!selfClosing) {
|
||||
currentElement = element;
|
||||
stack.push(element);
|
||||
}
|
||||
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function comment() {
|
||||
var index = source.indexOf('-->', i);
|
||||
if (!~index) { error('expected -->'); }
|
||||
|
||||
i = index + 2;
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function cdata() {
|
||||
var index = source.indexOf(']]>', i);
|
||||
if (!~index) { error('expected ]]>'); }
|
||||
|
||||
currentElement.children.push(source.slice(i + 7, index));
|
||||
|
||||
i = index + 2;
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function closingTag() {
|
||||
var tagName = getName();
|
||||
|
||||
if (!tagName) { error('Expected tag name'); }
|
||||
|
||||
if (tagName !== currentElement.tagName) {
|
||||
error(("Expected closing tag </" + tagName + "> to match opening tag <" + (currentElement.tagName) + ">"));
|
||||
}
|
||||
|
||||
allowSpaces();
|
||||
|
||||
if (source[i] !== '>') {
|
||||
error('Expected >');
|
||||
}
|
||||
|
||||
stack.pop();
|
||||
currentElement = stack[stack.length - 1];
|
||||
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function getName() {
|
||||
var name = '';
|
||||
while (i < source.length && validNameCharacters.test(source[i])) { name += source[i++]; }
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
function getAttribute() {
|
||||
if (!whitespace.test(source[i])) { return null; }
|
||||
allowSpaces();
|
||||
|
||||
var name = getName();
|
||||
if (!name) { return null; }
|
||||
|
||||
var value = true;
|
||||
|
||||
allowSpaces();
|
||||
if (source[i] === '=') {
|
||||
i += 1;
|
||||
allowSpaces();
|
||||
|
||||
value = getAttributeValue();
|
||||
if (!isNaN(value) && value.trim() !== '') { value = +value; } // TODO whitelist numeric attributes?
|
||||
}
|
||||
|
||||
return { name: name, value: value };
|
||||
}
|
||||
|
||||
function getAttributeValue() {
|
||||
return quotemark.test(source[i]) ? getQuotedAttributeValue() : getUnquotedAttributeValue();
|
||||
}
|
||||
|
||||
function getUnquotedAttributeValue() {
|
||||
var value = '';
|
||||
do {
|
||||
var char = source[i];
|
||||
if (char === ' ' || char === '>' || char === '/') {
|
||||
return value;
|
||||
}
|
||||
|
||||
value += char;
|
||||
i += 1;
|
||||
} while (i < source.length);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
function getQuotedAttributeValue() {
|
||||
var quotemark = source[i++];
|
||||
|
||||
var value = '';
|
||||
var escaped = false;
|
||||
|
||||
while (i < source.length) {
|
||||
var char = source[i++];
|
||||
if (char === quotemark && !escaped) {
|
||||
return value;
|
||||
}
|
||||
|
||||
if (char === '\\' && !escaped) {
|
||||
escaped = true;
|
||||
}
|
||||
|
||||
value += escaped ? ("\\" + char) : char;
|
||||
escaped = false;
|
||||
}
|
||||
}
|
||||
|
||||
function allowSpaces() {
|
||||
while (i < source.length && whitespace.test(source[i])) { i += 1; }
|
||||
}
|
||||
|
||||
var i = metadata.length;
|
||||
while (i < source.length) {
|
||||
if (!state) { error('Unexpected character'); }
|
||||
state = state();
|
||||
i += 1;
|
||||
}
|
||||
|
||||
if (state !== neutral) {
|
||||
error('Unexpected end of input');
|
||||
}
|
||||
|
||||
if (root.tagName === 'svg') { root.metadata = header; }
|
||||
return {
|
||||
type: 'root',
|
||||
children: [root]
|
||||
};
|
||||
}
|
||||
|
||||
export { parse };
|
||||
//# sourceMappingURL=svg-parser.esm.js.map
|
||||
1
frontend/node_modules/svg-parser/dist/svg-parser.esm.js.map
generated
vendored
1
frontend/node_modules/svg-parser/dist/svg-parser.esm.js.map
generated
vendored
File diff suppressed because one or more lines are too long
291
frontend/node_modules/svg-parser/dist/svg-parser.umd.js
generated
vendored
291
frontend/node_modules/svg-parser/dist/svg-parser.umd.js
generated
vendored
@@ -1,291 +0,0 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(global = global || self, factory(global.svgParser = {}));
|
||||
}(this, (function (exports) { 'use strict';
|
||||
|
||||
function getLocator(source, options) {
|
||||
if (options === void 0) { options = {}; }
|
||||
var offsetLine = options.offsetLine || 0;
|
||||
var offsetColumn = options.offsetColumn || 0;
|
||||
var originalLines = source.split('\n');
|
||||
var start = 0;
|
||||
var lineRanges = originalLines.map(function (line, i) {
|
||||
var end = start + line.length + 1;
|
||||
var range = { start: start, end: end, line: i };
|
||||
start = end;
|
||||
return range;
|
||||
});
|
||||
var i = 0;
|
||||
function rangeContains(range, index) {
|
||||
return range.start <= index && index < range.end;
|
||||
}
|
||||
function getLocation(range, index) {
|
||||
return { line: offsetLine + range.line, column: offsetColumn + index - range.start, character: index };
|
||||
}
|
||||
function locate(search, startIndex) {
|
||||
if (typeof search === 'string') {
|
||||
search = source.indexOf(search, startIndex || 0);
|
||||
}
|
||||
var range = lineRanges[i];
|
||||
var d = search >= range.end ? 1 : -1;
|
||||
while (range) {
|
||||
if (rangeContains(range, search))
|
||||
return getLocation(range, search);
|
||||
i += d;
|
||||
range = lineRanges[i];
|
||||
}
|
||||
}
|
||||
return locate;
|
||||
}
|
||||
function locate(source, search, options) {
|
||||
if (typeof options === 'number') {
|
||||
throw new Error('locate takes a { startIndex, offsetLine, offsetColumn } object as the third argument');
|
||||
}
|
||||
return getLocator(source, options)(search, options && options.startIndex);
|
||||
}
|
||||
|
||||
var validNameCharacters = /[a-zA-Z0-9:_-]/;
|
||||
var whitespace = /[\s\t\r\n]/;
|
||||
var quotemark = /['"]/;
|
||||
|
||||
function repeat(str, i) {
|
||||
var result = '';
|
||||
while (i--) { result += str; }
|
||||
return result;
|
||||
}
|
||||
|
||||
function parse(source) {
|
||||
var header = '';
|
||||
var stack = [];
|
||||
|
||||
var state = metadata;
|
||||
var currentElement = null;
|
||||
var root = null;
|
||||
|
||||
function error(message) {
|
||||
var ref = locate(source, i);
|
||||
var line = ref.line;
|
||||
var column = ref.column;
|
||||
var before = source.slice(0, i);
|
||||
var beforeLine = /(^|\n).*$/.exec(before)[0].replace(/\t/g, ' ');
|
||||
var after = source.slice(i);
|
||||
var afterLine = /.*(\n|$)/.exec(after)[0];
|
||||
|
||||
var snippet = "" + beforeLine + afterLine + "\n" + (repeat(' ', beforeLine.length)) + "^";
|
||||
|
||||
throw new Error(
|
||||
(message + " (" + line + ":" + column + "). If this is valid SVG, it's probably a bug in svg-parser. Please raise an issue at https://github.com/Rich-Harris/svg-parser/issues – thanks!\n\n" + snippet)
|
||||
);
|
||||
}
|
||||
|
||||
function metadata() {
|
||||
while ((i < source.length && source[i] !== '<') || !validNameCharacters.test(source[i + 1])) {
|
||||
header += source[i++];
|
||||
}
|
||||
|
||||
return neutral();
|
||||
}
|
||||
|
||||
function neutral() {
|
||||
var text = '';
|
||||
while (i < source.length && source[i] !== '<') { text += source[i++]; }
|
||||
|
||||
if (/\S/.test(text)) {
|
||||
currentElement.children.push({ type: 'text', value: text });
|
||||
}
|
||||
|
||||
if (source[i] === '<') {
|
||||
return tag;
|
||||
}
|
||||
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function tag() {
|
||||
var char = source[i];
|
||||
|
||||
if (char === '?') { return neutral; } // <?xml...
|
||||
|
||||
if (char === '!') {
|
||||
if (source.slice(i + 1, i + 3) === '--') { return comment; }
|
||||
if (source.slice(i + 1, i + 8) === '[CDATA[') { return cdata; }
|
||||
if (/doctype/i.test(source.slice(i + 1, i + 8))) { return neutral; }
|
||||
}
|
||||
|
||||
if (char === '/') { return closingTag; }
|
||||
|
||||
var tagName = getName();
|
||||
|
||||
var element = {
|
||||
type: 'element',
|
||||
tagName: tagName,
|
||||
properties: {},
|
||||
children: []
|
||||
};
|
||||
|
||||
if (currentElement) {
|
||||
currentElement.children.push(element);
|
||||
} else {
|
||||
root = element;
|
||||
}
|
||||
|
||||
var attribute;
|
||||
while (i < source.length && (attribute = getAttribute())) {
|
||||
element.properties[attribute.name] = attribute.value;
|
||||
}
|
||||
|
||||
var selfClosing = false;
|
||||
|
||||
if (source[i] === '/') {
|
||||
i += 1;
|
||||
selfClosing = true;
|
||||
}
|
||||
|
||||
if (source[i] !== '>') {
|
||||
error('Expected >');
|
||||
}
|
||||
|
||||
if (!selfClosing) {
|
||||
currentElement = element;
|
||||
stack.push(element);
|
||||
}
|
||||
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function comment() {
|
||||
var index = source.indexOf('-->', i);
|
||||
if (!~index) { error('expected -->'); }
|
||||
|
||||
i = index + 2;
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function cdata() {
|
||||
var index = source.indexOf(']]>', i);
|
||||
if (!~index) { error('expected ]]>'); }
|
||||
|
||||
currentElement.children.push(source.slice(i + 7, index));
|
||||
|
||||
i = index + 2;
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function closingTag() {
|
||||
var tagName = getName();
|
||||
|
||||
if (!tagName) { error('Expected tag name'); }
|
||||
|
||||
if (tagName !== currentElement.tagName) {
|
||||
error(("Expected closing tag </" + tagName + "> to match opening tag <" + (currentElement.tagName) + ">"));
|
||||
}
|
||||
|
||||
allowSpaces();
|
||||
|
||||
if (source[i] !== '>') {
|
||||
error('Expected >');
|
||||
}
|
||||
|
||||
stack.pop();
|
||||
currentElement = stack[stack.length - 1];
|
||||
|
||||
return neutral;
|
||||
}
|
||||
|
||||
function getName() {
|
||||
var name = '';
|
||||
while (i < source.length && validNameCharacters.test(source[i])) { name += source[i++]; }
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
function getAttribute() {
|
||||
if (!whitespace.test(source[i])) { return null; }
|
||||
allowSpaces();
|
||||
|
||||
var name = getName();
|
||||
if (!name) { return null; }
|
||||
|
||||
var value = true;
|
||||
|
||||
allowSpaces();
|
||||
if (source[i] === '=') {
|
||||
i += 1;
|
||||
allowSpaces();
|
||||
|
||||
value = getAttributeValue();
|
||||
if (!isNaN(value) && value.trim() !== '') { value = +value; } // TODO whitelist numeric attributes?
|
||||
}
|
||||
|
||||
return { name: name, value: value };
|
||||
}
|
||||
|
||||
function getAttributeValue() {
|
||||
return quotemark.test(source[i]) ? getQuotedAttributeValue() : getUnquotedAttributeValue();
|
||||
}
|
||||
|
||||
function getUnquotedAttributeValue() {
|
||||
var value = '';
|
||||
do {
|
||||
var char = source[i];
|
||||
if (char === ' ' || char === '>' || char === '/') {
|
||||
return value;
|
||||
}
|
||||
|
||||
value += char;
|
||||
i += 1;
|
||||
} while (i < source.length);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
function getQuotedAttributeValue() {
|
||||
var quotemark = source[i++];
|
||||
|
||||
var value = '';
|
||||
var escaped = false;
|
||||
|
||||
while (i < source.length) {
|
||||
var char = source[i++];
|
||||
if (char === quotemark && !escaped) {
|
||||
return value;
|
||||
}
|
||||
|
||||
if (char === '\\' && !escaped) {
|
||||
escaped = true;
|
||||
}
|
||||
|
||||
value += escaped ? ("\\" + char) : char;
|
||||
escaped = false;
|
||||
}
|
||||
}
|
||||
|
||||
function allowSpaces() {
|
||||
while (i < source.length && whitespace.test(source[i])) { i += 1; }
|
||||
}
|
||||
|
||||
var i = metadata.length;
|
||||
while (i < source.length) {
|
||||
if (!state) { error('Unexpected character'); }
|
||||
state = state();
|
||||
i += 1;
|
||||
}
|
||||
|
||||
if (state !== neutral) {
|
||||
error('Unexpected end of input');
|
||||
}
|
||||
|
||||
if (root.tagName === 'svg') { root.metadata = header; }
|
||||
return {
|
||||
type: 'root',
|
||||
children: [root]
|
||||
};
|
||||
}
|
||||
|
||||
exports.parse = parse;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
})));
|
||||
//# sourceMappingURL=svg-parser.umd.js.map
|
||||
1
frontend/node_modules/svg-parser/dist/svg-parser.umd.js.map
generated
vendored
1
frontend/node_modules/svg-parser/dist/svg-parser.umd.js.map
generated
vendored
File diff suppressed because one or more lines are too long
50
frontend/node_modules/svg-parser/package.json
generated
vendored
50
frontend/node_modules/svg-parser/package.json
generated
vendored
@@ -1,50 +0,0 @@
|
||||
{
|
||||
"name": "svg-parser",
|
||||
"version": "2.0.4",
|
||||
"description": "Create a JSON-friendly object from an SVG string",
|
||||
"main": "dist/svg-parser.umd.js",
|
||||
"jsnext:main": "dist/svg-parser.esm.js",
|
||||
"module": "dist/svg-parser.esm.js",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "mocha",
|
||||
"build": "rm -rf dist && rollup -c",
|
||||
"pretest": "npm run build",
|
||||
"prepublish": "npm run lint && npm test",
|
||||
"lint": "eslint src"
|
||||
},
|
||||
"prettier": {
|
||||
"singleQuote": true,
|
||||
"useTabs": true,
|
||||
"printWidth": 100
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/Rich-Harris/svg-parser.git"
|
||||
},
|
||||
"keywords": [
|
||||
"SVG",
|
||||
"parser",
|
||||
"JSON",
|
||||
"object"
|
||||
],
|
||||
"author": "Rich Harris",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/Rich-Harris/svg-parser/issues"
|
||||
},
|
||||
"homepage": "https://github.com/Rich-Harris/svg-parser#README",
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-buble": "^0.21.0",
|
||||
"@rollup/plugin-node-resolve": "^7.0.0",
|
||||
"eslint": "^3.2.2",
|
||||
"locate-character": "^2.0.5",
|
||||
"mocha": "^3.0.1",
|
||||
"prettier": "^1.18.2",
|
||||
"rollup": "^1.29.0",
|
||||
"source-map-support": "^0.4.2"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user