Compare commits

...

103 Commits

Author SHA1 Message Date
dancingCycle ded47c9db5 feat(jszip-dev): add Export button 2024-04-25 09:22:05 +02:00
dancingCycle 63ff305d0a feat(jszip-dev): download 2 files as zip archive 2024-04-24 14:20:25 +02:00
dancingCycle 73a6c22ffe feat(jszip-dev): initial commit 2024-04-24 12:53:50 +02:00
dancingCycle 1878926306 feat(cnt-cmpnnt): initial commit 2024-04-23 15:53:55 +02:00
dancingCycle dfe5ac424a feat(wbpck-rct-bbl-slnt): adjust esling from "airbnb" to "eslint:recommended". 2024-04-23 14:53:04 +02:00
dancingCycle 6bfc03ba2c chore(webpack-react-babel): add eslint 2024-02-15 21:58:53 +01:00
dancingCycle 659ba0fe95 feat(wbpck-rct-bbl-slnt): initial commit 2024-02-15 21:20:06 +01:00
dancingCycle 98b42aa13b chore(webpack-react-babel): update webpack and babel dependencies 2024-02-15 21:18:22 +01:00
dancingCycle 9011a4c50b chore(webpack-react-babel-prettier): npm run prettier:fix 2024-02-15 20:47:17 +01:00
dancingCycle 85057f419b feat(webpack-react-babel-prettier): initial commit 2024-02-15 15:37:00 +01:00
dancingCycle 008294a954 chore(webpack-react-babel): update babel dependencies 2024-02-15 15:32:07 +01:00
dancingCycle 33d9884f39 feat(webpack-react-babel): initial commit 2024-02-15 15:28:23 +01:00
dancingCycle 0d0410ea96 chore(webpack-react): adjust node minimum dependency 2024-02-15 15:26:29 +01:00
dancingCycle eb5c837955 chore(webpack-react): adjust node minimum dependency 2024-02-15 15:14:03 +01:00
dancingCycle 7e4e4c7927 feat(pagination): initial commit 2024-01-31 21:45:13 +01:00
dancingCycle 65ba987f09 feat(radio-button): initial commit 2024-01-12 14:27:59 +01:00
dancingCycle f4de3318d1 feat(webpack-react): read *.json file 2024-01-04 15:39:29 +01:00
dancingCycle 810b53625a feat(webpack-react): read *.json file 2024-01-04 14:03:03 +01:00
dancingCycle 39edee0f72 feat(webpack-react): npm audit fix 2024-01-04 13:26:49 +01:00
dancingCycle 8178a30772 feat(webpack-react): adjust JavaScript version 2024-01-04 13:21:39 +01:00
dancingCycle 27f7c81237 feat(leaflet-js-intg): add layer control according to https://leafletjs.com/examples/layers-control/ 2023-12-30 22:50:05 +01:00
dancingCycle 3983ccb13a feat(leaflet-js-intg) add layer control according to https://leafletjs.com/examples/layers-control/ 2023-12-30 18:27:44 +01:00
dancingCycle 1e70ea67a9 feat(leaflet-js-intg) add map-1k-circle-fixed.jsx and map-circle-fixed.jsx 2023-09-21 14:58:57 +02:00
dancingCycle 132bf5dd82 chore(leaflet-js-intg): refactor 2023-09-21 13:57:04 +02:00
dancingCycle 5883681393 feat(react-router-v6-g4g): reload routes with Webpack 2023-09-21 13:56:21 +02:00
dancingCycle 5c0a528124 chore(my-todo-list-ui-no-ux): refactor 2023-09-21 13:52:02 +02:00
dancingCycle 221e5dc4d6 chore(crud): switch API from root server to https://v1rgncy.api.swingbe.de/entities/info 2023-09-21 13:49:54 +02:00
dancingCycle f26545b228 chore(webpack-react): update package dependencies 2023-09-21 13:40:22 +02:00
dancingCycle 452f4d8c77 test(leaflet-js-intg): add app/components/map-array.jsx test component 2023-09-20 14:08:17 +02:00
dancingCycle bf5c23cb46 test(leaflet-js-intg): add test components 2023-09-20 13:34:51 +02:00
dancingCycle b269097efd chore(leaflet-js): remove entire folder 2023-09-20 13:30:05 +02:00
dancingCycle 6271bb6a9d chore(leaflet-js-intg): cp from webpack-react folder 2023-09-19 14:40:50 +02:00
dancingCycle a2a1af574d test(leaflet-js): try source link in README.md 2023-09-19 14:38:21 +02:00
dancingCycle c6cdb7ca23 chore(leaflet-js): copy from webpack-react folder 2023-09-19 14:21:45 +02:00
dancingCycle cf0a3ec902 chore(webpack-react-no-css): refactor readme.md 2023-09-19 14:07:17 +02:00
dancingCycle 267d9141ba feat(my-todo-list-ui): adapt oidcConfig to data.vbn.de client in vbn realm 2023-08-15 10:39:01 +02:00
dancingCycle cf3770fb6d feat(my-todo-list-ui): initial commit 2023-08-15 10:17:33 +02:00
dancingCycle a3d147f7e3 feat(webpack-react-no-css): initial commit 2023-08-09 15:23:52 +02:00
dancingCycle 00ccdbc725 feat(input-csv-twice): adjust encoding to ISO-8859-1 and disable header encoding 2023-07-07 05:40:08 +02:00
dancingCycle e9a9afbb6e feat(csv-read2objects): disable header encoding 2023-07-07 05:39:06 +02:00
dancingCycle f4582051e8 feat(csv-read2objects): adjust encoding to ISO-8859-1 2023-07-07 05:33:46 +02:00
dancingCycle a8d96fbeaa feat(webpack): When using the HTML5 History API, the index.html page will likely have to be served in place of any 404 responses. Enable devServer.historyApiFallback by setting it to true. 2023-06-26 05:50:45 +02:00
dancingCycle 023c002b2a feat(input-csv-twice): add alert to axios post callback 2023-06-26 05:48:36 +02:00
dancingCycle 22187e6564 feat(input-csv-twice): initial commit 2023-06-23 08:43:16 +02:00
dancingCycle aece34978e refactor(crud): adjust format 2023-06-22 10:02:22 +02:00
dancingCycle 94c8319a23 chore(form-csv-form-data): remove project 2023-06-22 09:41:11 +02:00
dancingCycle 51ec176e64 feat(csv-read2objects): app axios.post for csv object 2023-06-22 09:28:24 +02:00
dancingCycle 2bcc3775dd refactor(csv-read2objects): adjust format 2023-06-22 09:20:18 +02:00
dancingCycle d6b5f4b308 feat(csv-read2objects): initial commit 2023-06-22 06:30:51 +02:00
dancingCycle e63f058e35 refactor(csv-column-read2dom): get rid of excess file app/components/input.jsx 2023-06-22 06:28:55 +02:00
dancingCycle 98497ec1d6 refactor(webpack-react): make package.json static 2023-06-21 10:18:39 +02:00
dancingCycle 36c80d76be feat(csv-column-read2dom): initial commit 2023-06-21 10:17:32 +02:00
dancingCycle 37d34c89a3 feat(csv-read2dom): initial commit 2023-06-21 09:46:29 +02:00
dancingCycle 844df75b0a feat(form-csv-form-data): initial commit 2023-06-19 10:47:11 +02:00
dancingCycle 6f5c154050 feat(keycloak): initial commit 2023-05-24 11:15:36 +02:00
dancingCycle 818e18bf0a feat(webpack-react): update Loader dependencies 2023-04-21 13:33:22 +02:00
dancingCycle ff851f61c1 feat(webpack-react): update Webpack dependencies 2023-04-21 13:32:24 +02:00
dancingCycle 49729b803c feat(webpack-react): update Babel dependencies 2023-04-21 13:31:18 +02:00
dancingCycle 159c61a544 feat(webpack-react): update webpack dependencies 2023-04-21 13:27:26 +02:00
dancingCycle 0fc097b072 feat(crud): add lat and lon to Home page 2023-04-21 13:19:25 +02:00
dancingCycle 249dd82d97 feat(react-crud): refactor 2023-04-12 15:33:49 +02:00
dancingCycle 5cf964b74d feat(crud): add create page 2023-04-12 15:32:53 +02:00
dancingCycle 2228eb090b feat(crud): add update page 2023-04-12 12:10:50 +02:00
dancingCycle 5d7b0b4125 feat(crud): adjust home page 2023-04-06 17:53:37 +02:00
dancingCycle c92bd86ac5 feat(crud): add axios 2023-04-06 17:52:21 +02:00
dancingCycle 9863881e60 feat: remove react-bootstrap 2023-04-06 17:05:47 +02:00
dancingCycle 23e30ac60e feat(react-crud): add delete and home page 2023-04-05 19:13:28 +02:00
dancingCycle 174cd6383a feat(react-router-v6-g4g): adjust create and read page 2023-04-05 17:52:56 +02:00
dancingCycle b31698835d feat(react-router-v6): add create and read page 2023-04-04 18:56:02 +02:00
dancingCycle 4d8df95e32 feat(react-router-v6-g4g): initial commit 2023-04-04 17:57:11 +02:00
dancingCycle f4f2c0dbde feat(react-router-v6): initial commit 2023-04-04 16:11:18 +02:00
dancingCycle f95d7b7352 feat(react-crud): initial commit 2023-04-04 14:21:22 +02:00
dancingCycle a76c15d4a8 feat(react-bootstrap): adjust form 2023-03-08 11:46:34 +01:00
dancingCycle 16c5306099 feat(react-bootstrap): initial commit 2023-03-07 11:52:01 +01:00
dancingCycle ce34dcdde5 feat(axios-overpass-api): initial commit 2023-02-07 22:38:06 +01:00
dancingCycle 601d361bab chore: adjust dev config 2022-09-15 15:35:43 +02:00
renovate[bot] 4e57712e1a chore(deps): update dependency webpack to v5.74.0 2022-09-15 14:36:11 +02:00
renovate[bot] 994ea6ccd4 fix(deps): update dependency axios to ^0.27.0 2022-09-15 14:35:46 +02:00
renovate[bot] f644e9f41b chore(deps): update babel monorepo 2022-09-15 14:35:18 +02:00
renovate[bot] 54bed64aad fix(deps): update dependency react-bootstrap to v2.5.0 2022-09-15 14:34:06 +02:00
renovate[bot] c69faa5420 chore(deps): update dependency webpack-dev-server to v4.10.1 2022-09-15 14:33:32 +02:00
dancingCycle aaf767bd03 feat(leaflet): add vehicle positions to map 2022-09-14 22:41:47 +02:00
dancingCycle 8914909972 feat(leaflet): convert coordinates 2022-09-14 22:15:48 +02:00
dancingCycle bde18f1b2a feat(leaflet): add svg loader according to https://www.pluralsight.com/guides/how-to-load-svg-with-react-and-webpack 2022-09-14 21:25:30 +02:00
dancingCycle df3c4eedda feat(leaflet): add marker 2022-09-14 21:12:45 +02:00
dancingCycle 69b304a03e feat(leaflet): https://stackoverflow.com/questions/40365440/react-leaflet-map-not-correctly-displayed 2022-09-14 20:21:45 +02:00
dancingCycle 4d89166ae8 feat(leaflet): https://react-leaflet.js.org/docs/start-setup/ 2022-09-14 15:33:48 +02:00
dancingCycle 6e78f00b87 feat(leaflet): https://react-leaflet.js.org/docs/start-installation/ 2022-09-14 15:29:32 +02:00
dancingCycle 96f8d54ae3 feat(leaflet): initial commit 2022-09-14 15:14:45 +02:00
dancingCycle 15f98a481f feat(pbf): add map component 2022-09-14 15:09:44 +02:00
dancingCycle 16abe8b37a feat(pbf): read more from pbf 2022-09-14 14:20:27 +02:00
dancingCycle 6fb285e9de chore(pbf): bump version to v0.4.0 2022-09-14 11:29:33 +02:00
dancingCycle 7427f4029a feat(pbf): read more from pbf 2022-09-14 11:28:58 +02:00
dancingCycle 2e50472bb9 feat(gtfs-realtime-bindings): initial commit 2022-09-13 23:02:25 +02:00
dancingCycle 3d98a37f4c chore(pbf): bump version to v0.3.0 2022-09-13 23:00:13 +02:00
dancingCycle f93734790c feat(pbf): read pbf 2022-09-13 22:59:29 +02:00
dancingCycle 575461e037 chore(pbf): add gtfs-r js sources 2022-09-13 15:30:00 +02:00
dancingCycle e26a9c3342 chore(pbf): bump version to v0.2.0 2022-09-13 15:18:17 +02:00
dancingCycle bf9d0029cf feat(pbf): add axios get call to home page 2022-09-13 15:16:58 +02:00
dancingCycle f820f3e8da feat(axios): adjust function axiosGetVehiclePosition 2022-09-13 14:58:29 +02:00
dancingCycle 8b234c6be9 feat(axios): add function axiosGetVehiclePosition 2022-09-08 13:55:14 +02:00
dancingCycle c9df2b7134 chore(axios): add .gitignore 2022-09-08 13:43:09 +02:00
dancingCycle 2f02eea778 feat(pbf): initial commit 2022-09-08 13:41:44 +02:00
467 changed files with 276116 additions and 7577 deletions

View File

@ -18,14 +18,14 @@
"build": "webpack --config config/webpack.prod.js"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-loader": "8.2.5",
"html-webpack-plugin": "5.5.0",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3",
"webpack-dev-server": "4.10.1",
"webpack-merge": "5.8.0"
},
"dependencies": {

View File

@ -19,14 +19,14 @@
"build": "webpack --config config/webpack.prod.js"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-loader": "8.2.5",
"html-webpack-plugin": "5.5.0",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3",
"webpack-dev-server": "4.10.1",
"webpack-merge": "5.8.0"
},
"dependencies": {

View File

@ -19,14 +19,14 @@
"build": "webpack --config config/webpack.prod.js"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-loader": "8.2.5",
"html-webpack-plugin": "5.5.0",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3",
"webpack-dev-server": "4.10.1",
"webpack-merge": "5.8.0"
},
"dependencies": {

View File

@ -0,0 +1,6 @@
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}

107
axios-overpass-api/.gitignore vendored Normal file
View File

@ -0,0 +1,107 @@
# Others
build*
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# Next.js build output
.next
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port

View File

@ -0,0 +1,10 @@
import React from 'react';
import Home from './pages/home';
export default function App() {
return (
<div>
<h1>App</h1>
<Home />
</div>
)
}

View File

@ -0,0 +1,65 @@
import React from 'react';
import axios from 'axios';
import qs from 'qs';
var data = qs.stringify({
'data': '[bbox:51.990800124058914,10.045623779296875,52.552976197007524,11.01104736328125][out:json];(node["shop"="second_hand"];way["shop"="second_hand"];relation["shop"="second_hand"];);out center;'
});
var config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://overpass-api.de/api/interpreter',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data : data
};
function myFunction(value,key) {
//console.log("key: "+key+",type: "+value.type);
if(value.tags.name===undefined){
console.log('ERROR: OSM element does NOT include name tag');
}else if(value.type==='node'){
console.log('node');
console.log('name: '+value.tags.name);
console.log('lat: '+value.lat);
console.log('lon: '+value.lon);
}else if(value.type==='way'){
console.log('way');
console.log('name: '+value.tags.name);
console.log('lat: '+value.center.lat);
console.log('lon: '+value.center.lon);
}else{
console.log('ERROR: OSM element NOT supported');
}
}
function post () {
console.log('post() started...');
console.log('data: '+data);
axios(config)
.then(function (response) {
//log JSON
const dataObj=response.data;
//console.log("dataObj: "+dataObj);
const elemAry=dataObj.elements;
const elemAryLength=elemAry.length;
console.log("no: "+elemAryLength)
elemAry.forEach(myFunction);
})
.catch(function (error) {
console.log(error);
});
console.log('post() done.');
}
export default function Map() {
return (
<>
<p>Map</ p>
<button onClick={post}>post</button>
</>
);
}

View File

@ -0,0 +1,16 @@
import React from 'react';
import Hello from '../components/hello';
import Map from '../components/map';
import '../style.css';
const Home = () => {
return (
<>
<h2>Home</h2>
<h3>(React.js Lambda Function Component)</h3>
<Hello msg="Hello World!" />
<Map />
</>
);
}
export default Home

View File

@ -0,0 +1,41 @@
//generate a HTML5 file including all webpack bundles in the body using script tags
const HtmlWebpackPlugin = require('html-webpack-plugin');
//path is used to resolve properly across the OS
const path = require('path');
module.exports = {
//bundle *.js from this entry point
entry: path.resolve(__dirname, '../app/index.jsx'),
//create output file to be linked to index.html
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, '../dist'),
clean: true,
},
module: {
rules: [
{
//test all *.js using babel-loader
//test all *.jsx (e.g. React.js) using babel-loader
test: /\.(js|jsx)$/,
exclude: /node_modules/,
include: path.resolve(__dirname, '../app'),
use: ['babel-loader'],
},
{
//test all *.css using style-loader and css-loader
test: /\.css$/i,
use: ["style-loader", "css-loader"],
},
]
},
resolve: {
extensions: ['*', '.js', '.jsx'],
},
plugins: [
// create a plugin instance so that you can use it several times anywhere
new HtmlWebpackPlugin({
title: 'Production',
template: path.resolve(__dirname, "../public/index.html")
}),
],
};

View File

@ -0,0 +1,14 @@
//path is used to resolve properly across the OS
const path = require('path');
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
//merge() calls in the environment-specific configuration to include commons
module.exports = merge(common, {
//set development mode
mode: 'development',
//enable strong source mapping
devtool: 'inline-source-map',
devServer: {
static: path.resolve(__dirname, '../dist'),
},
});

View File

@ -0,0 +1,8 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
module.exports = merge(common, {
mode: 'production',
//source maps encouraged in production
//choose mapping with fairly quick build speed like source-map
devtool: 'source-map',
});

11207
axios-overpass-api/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,40 @@
{
"private": true,
"name": "react-example",
"description": "React.js example",
"version": "0.1.0",
"main": "index.js",
"keywords": [
"react",
"webpack"
],
"author": "Software Ingenieur Begerad <dialog@SwIngBe.de>",
"license": "GPL-3.0-or-later",
"engines": {
"node": ">=10"
},
"scripts": {
"start": "webpack serve --config config/webpack.dev.js",
"build": "webpack --config config/webpack.prod.js"
},
"devDependencies": {
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-loader": "8.2.5",
"css-loader": "6.7.1",
"html-webpack-plugin": "5.5.0",
"style-loader": "3.3.1",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.10.1",
"webpack-merge": "5.8.0"
},
"dependencies": {
"axios": "1.3.2",
"prop-types": "15.8.1",
"qs": "6.11.0",
"react": "18.2.0",
"react-dom": "18.2.0"
}
}

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>React Example</title>
</head>
<body>
<div id="root"></div>
</body>
</html>

107
axios/.gitignore vendored Normal file
View File

@ -0,0 +1,107 @@
# Others
build*
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# Next.js build output
.next
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port

420
axios/package-lock.json generated
View File

@ -9,13 +9,13 @@
"version": "1.0.1",
"license": "GPL-3.0-or-later",
"dependencies": {
"axios": "^0.21.4",
"axios": "^0.27.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-eslint": "10.1.0",
"babel-loader": "8.2.5",
@ -29,9 +29,9 @@
"less-loader": "10.2.0",
"prettier": "2.7.1",
"style-loader": "3.3.1",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3"
"webpack-dev-server": "4.10.1"
}
},
"node_modules/@ampproject/remapping": {
@ -69,21 +69,21 @@
}
},
"node_modules/@babel/core": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz",
"integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
"integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-compilation-targets": "^7.18.9",
"@babel/helper-module-transforms": "^7.18.9",
"@babel/helpers": "^7.18.9",
"@babel/parser": "^7.18.9",
"@babel/template": "^7.18.6",
"@babel/traverse": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/template": "^7.18.10",
"@babel/traverse": "^7.18.13",
"@babel/types": "^7.18.13",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@ -99,12 +99,12 @@
}
},
"node_modules/@babel/generator": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
"integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
"dev": true,
"dependencies": {
"@babel/types": "^7.18.9",
"@babel/types": "^7.18.13",
"@jridgewell/gen-mapping": "^0.3.2",
"jsesc": "^2.5.1"
},
@ -207,15 +207,13 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
"integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
"integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
"dependencies": {
"@babel/helper-compilation-targets": "^7.13.0",
"@babel/helper-module-imports": "^7.12.13",
"@babel/helper-plugin-utils": "^7.13.0",
"@babel/traverse": "^7.13.0",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
"resolve": "^1.14.2",
@ -405,6 +403,15 @@
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
"integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
@ -467,9 +474,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@ -511,14 +518,14 @@
}
},
"node_modules/@babel/plugin-proposal-async-generator-functions": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz",
"integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
"integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/helper-remap-async-to-generator": "^7.18.6",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-plugin-utils": "^7.18.9",
"@babel/helper-remap-async-to-generator": "^7.18.9",
"@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
@ -1509,12 +1516,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
"integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
"integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.18.6"
"@babel/helper-plugin-utils": "^7.18.9"
},
"engines": {
"node": ">=6.9.0"
@ -1540,9 +1547,9 @@
}
},
"node_modules/@babel/preset-env": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz",
"integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
"integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.18.8",
@ -1551,7 +1558,7 @@
"@babel/helper-validator-option": "^7.18.6",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
"@babel/plugin-proposal-async-generator-functions": "^7.18.6",
"@babel/plugin-proposal-async-generator-functions": "^7.18.10",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-class-static-block": "^7.18.6",
"@babel/plugin-proposal-dynamic-import": "^7.18.6",
@ -1611,13 +1618,13 @@
"@babel/plugin-transform-sticky-regex": "^7.18.6",
"@babel/plugin-transform-template-literals": "^7.18.9",
"@babel/plugin-transform-typeof-symbol": "^7.18.9",
"@babel/plugin-transform-unicode-escapes": "^7.18.6",
"@babel/plugin-transform-unicode-escapes": "^7.18.10",
"@babel/plugin-transform-unicode-regex": "^7.18.6",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.18.9",
"babel-plugin-polyfill-corejs2": "^0.3.1",
"babel-plugin-polyfill-corejs3": "^0.5.2",
"babel-plugin-polyfill-regenerator": "^0.3.1",
"@babel/types": "^7.18.10",
"babel-plugin-polyfill-corejs2": "^0.3.2",
"babel-plugin-polyfill-corejs3": "^0.5.3",
"babel-plugin-polyfill-regenerator": "^0.4.0",
"core-js-compat": "^3.22.1",
"semver": "^6.3.0"
},
@ -1677,33 +1684,33 @@
}
},
"node_modules/@babel/template": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
"integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.18.6",
"@babel/parser": "^7.18.6",
"@babel/types": "^7.18.6"
"@babel/parser": "^7.18.10",
"@babel/types": "^7.18.10"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
"integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-function-name": "^7.18.9",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/parser": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/types": "^7.18.13",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@ -1712,11 +1719,12 @@
}
},
"node_modules/@babel/types": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
"integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.18.10",
"@babel/helper-validator-identifier": "^7.18.6",
"to-fast-properties": "^2.0.0"
},
@ -2448,12 +2456,18 @@
"node": ">=8"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
"version": "0.21.4",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dependencies": {
"follow-redirects": "^1.14.0"
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
}
},
"node_modules/babel-eslint": {
@ -2506,13 +2520,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
"integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
"integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.13.11",
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/compat-data": "^7.17.7",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"semver": "^6.1.1"
},
"peerDependencies": {
@ -2520,12 +2534,12 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
"integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
"integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"core-js-compat": "^3.21.0"
},
"peerDependencies": {
@ -2533,12 +2547,12 @@
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
"integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
"integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.3.1"
"@babel/helper-define-polyfill-provider": "^0.3.2"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
@ -2862,6 +2876,17 @@
"integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
"dev": true
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/commander": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
@ -3198,6 +3223,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@ -4195,6 +4228,19 @@
}
}
},
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@ -5502,7 +5548,6 @@
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
@ -5511,7 +5556,6 @@
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"dependencies": {
"mime-db": "1.52.0"
},
@ -7583,9 +7627,9 @@
}
},
"node_modules/webpack": {
"version": "5.73.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz",
"integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==",
"version": "5.74.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
"integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
@ -7593,11 +7637,11 @@
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.9.3",
"enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -7610,7 +7654,7 @@
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"bin": {
@ -7762,9 +7806,9 @@
}
},
"node_modules/webpack-dev-server": {
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz",
"integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==",
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz",
"integrity": "sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw==",
"dev": true,
"dependencies": {
"@types/bonjour": "^3.5.9",
@ -8060,21 +8104,21 @@
"dev": true
},
"@babel/core": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz",
"integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
"integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
"dev": true,
"requires": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-compilation-targets": "^7.18.9",
"@babel/helper-module-transforms": "^7.18.9",
"@babel/helpers": "^7.18.9",
"@babel/parser": "^7.18.9",
"@babel/template": "^7.18.6",
"@babel/traverse": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/template": "^7.18.10",
"@babel/traverse": "^7.18.13",
"@babel/types": "^7.18.13",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@ -8083,12 +8127,12 @@
}
},
"@babel/generator": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
"integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
"dev": true,
"requires": {
"@babel/types": "^7.18.9",
"@babel/types": "^7.18.13",
"@jridgewell/gen-mapping": "^0.3.2",
"jsesc": "^2.5.1"
},
@ -8163,15 +8207,13 @@
}
},
"@babel/helper-define-polyfill-provider": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
"integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
"integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
"requires": {
"@babel/helper-compilation-targets": "^7.13.0",
"@babel/helper-module-imports": "^7.12.13",
"@babel/helper-plugin-utils": "^7.13.0",
"@babel/traverse": "^7.13.0",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
"resolve": "^1.14.2",
@ -8313,6 +8355,12 @@
"@babel/types": "^7.18.6"
}
},
"@babel/helper-string-parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
"integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
"dev": true
},
"@babel/helper-validator-identifier": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
@ -8360,9 +8408,9 @@
}
},
"@babel/parser": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"dev": true
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
@ -8386,14 +8434,14 @@
}
},
"@babel/plugin-proposal-async-generator-functions": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz",
"integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
"integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
"requires": {
"@babel/helper-environment-visitor": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/helper-remap-async-to-generator": "^7.18.6",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-plugin-utils": "^7.18.9",
"@babel/helper-remap-async-to-generator": "^7.18.9",
"@babel/plugin-syntax-async-generators": "^7.8.4"
}
},
@ -9027,12 +9075,12 @@
}
},
"@babel/plugin-transform-unicode-escapes": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
"integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
"integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.18.6"
"@babel/helper-plugin-utils": "^7.18.9"
}
},
"@babel/plugin-transform-unicode-regex": {
@ -9046,9 +9094,9 @@
}
},
"@babel/preset-env": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz",
"integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
"integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.18.8",
@ -9057,7 +9105,7 @@
"@babel/helper-validator-option": "^7.18.6",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
"@babel/plugin-proposal-async-generator-functions": "^7.18.6",
"@babel/plugin-proposal-async-generator-functions": "^7.18.10",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-class-static-block": "^7.18.6",
"@babel/plugin-proposal-dynamic-import": "^7.18.6",
@ -9117,13 +9165,13 @@
"@babel/plugin-transform-sticky-regex": "^7.18.6",
"@babel/plugin-transform-template-literals": "^7.18.9",
"@babel/plugin-transform-typeof-symbol": "^7.18.9",
"@babel/plugin-transform-unicode-escapes": "^7.18.6",
"@babel/plugin-transform-unicode-escapes": "^7.18.10",
"@babel/plugin-transform-unicode-regex": "^7.18.6",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.18.9",
"babel-plugin-polyfill-corejs2": "^0.3.1",
"babel-plugin-polyfill-corejs3": "^0.5.2",
"babel-plugin-polyfill-regenerator": "^0.3.1",
"@babel/types": "^7.18.10",
"babel-plugin-polyfill-corejs2": "^0.3.2",
"babel-plugin-polyfill-corejs3": "^0.5.3",
"babel-plugin-polyfill-regenerator": "^0.4.0",
"core-js-compat": "^3.22.1",
"semver": "^6.3.0"
}
@ -9165,40 +9213,41 @@
}
},
"@babel/template": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
"integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.18.6",
"@babel/parser": "^7.18.6",
"@babel/types": "^7.18.6"
"@babel/parser": "^7.18.10",
"@babel/types": "^7.18.10"
}
},
"@babel/traverse": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
"integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-function-name": "^7.18.9",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/parser": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/types": "^7.18.13",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
"integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
"dev": true,
"requires": {
"@babel/helper-string-parser": "^7.18.10",
"@babel/helper-validator-identifier": "^7.18.6",
"to-fast-properties": "^2.0.0"
}
@ -9831,12 +9880,18 @@
"integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"axios": {
"version": "0.21.4",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"requires": {
"follow-redirects": "^1.14.0"
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
}
},
"babel-eslint": {
@ -9875,33 +9930,33 @@
}
},
"babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
"integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
"integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.13.11",
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/compat-data": "^7.17.7",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"semver": "^6.1.1"
}
},
"babel-plugin-polyfill-corejs3": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
"integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
"integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"core-js-compat": "^3.21.0"
}
},
"babel-plugin-polyfill-regenerator": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
"integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
"integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.3.1"
"@babel/helper-define-polyfill-provider": "^0.3.2"
}
},
"balanced-match": {
@ -10147,6 +10202,14 @@
"integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
"dev": true
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
@ -10392,6 +10455,11 @@
"object-keys": "^1.1.1"
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@ -11145,6 +11213,16 @@
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
},
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
},
"forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@ -12080,14 +12158,12 @@
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
},
"mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"requires": {
"mime-db": "1.52.0"
}
@ -13648,9 +13724,9 @@
}
},
"webpack": {
"version": "5.73.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz",
"integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==",
"version": "5.74.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
"integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
@ -13658,11 +13734,11 @@
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.9.3",
"enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -13675,7 +13751,7 @@
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"dependencies": {
@ -13788,9 +13864,9 @@
}
},
"webpack-dev-server": {
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz",
"integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==",
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz",
"integrity": "sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw==",
"dev": true,
"requires": {
"@types/bonjour": "^3.5.9",

View File

@ -13,13 +13,13 @@
"author": "Stefan Begerad",
"license": "GPL-3.0-or-later",
"dependencies": {
"axios": "^0.21.4",
"axios": "^0.27.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-eslint": "10.1.0",
"babel-loader": "8.2.5",
@ -33,8 +33,8 @@
"less-loader": "10.2.0",
"prettier": "2.7.1",
"style-loader": "3.3.1",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3"
"webpack-dev-server": "4.10.1"
}
}

View File

@ -1,7 +1,7 @@
import React from 'react';
import './style/main.less';
import axios from 'axios';
/*
function axiosGet () {
console.log('axiosGet() started...');
@ -36,6 +36,31 @@ function axiosGet () {
});
console.log('axiosGet() done.');
}
*/
function axiosGetVehiclePosition () {
console.log('axiosGetVehiclePosition() started...');
//axios.defaults.baseURL = 'https://test-tarifmatrix.vbn.de:4245';
//axios.defaults.baseURL = 'https://tarifmatrix.vbn.de:4445';
axios.defaults.baseURL = 'https://soll.vbn.de';
//axios.defaults.headers.get['Access-Control-Allow-Origin'] = '*';
axios
.get('vehicle-positions')
//handle rsp in async manner
.then((response) => {
if (response.data) {
console.log('axiosGetVehiclePosition() response.data: ', response.data);
} else {
console.log('axiosGetVehiclePosition() response.data unavailable ');
}
})
.catch(function (error) {
console.log(error);
});
console.log('axiosGetVehiclePosition() done.');
}
/*
*component Main
@ -47,7 +72,7 @@ class Main extends React.Component {
return (
<div>
<p>main</p>
<button onClick={axiosGet}>axios</button>
<button onClick={axiosGetVehiclePosition}>axios</button>
</div>
);
}

View File

@ -18,14 +18,14 @@
"build": "webpack --config config/webpack.prod.js"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-loader": "8.2.5",
"html-webpack-plugin": "5.5.0",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3",
"webpack-dev-server": "4.10.1",
"webpack-merge": "5.8.0"
},
"dependencies": {

14
cnt-cmpnnt/.babelrc Normal file
View File

@ -0,0 +1,14 @@
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
[
"@babel/plugin-transform-runtime",
{
"regenerator": true
}
]
]
}

19
cnt-cmpnnt/.eslintrc Normal file
View File

@ -0,0 +1,19 @@
{
"parser": "@babel/eslint-parser",
"extends": "eslint:recommended",
"env": {
"es6": 1,
"node": 1
},
"parserOptions": {
"ecmaVersion": 2020
},
"ignorePatterns": [
"node_modules",
"dist"
],
"rules": {
"no-console": "error",
"no-mixed-spaces-and-tabs": 0
}
}

107
cnt-cmpnnt/.gitignore vendored Normal file
View File

@ -0,0 +1,107 @@
# Others
build*
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# Next.js build output
.next
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port

2
cnt-cmpnnt/.npmrc Normal file
View File

@ -0,0 +1,2 @@
# .npmrc
engine-strict=true

View File

@ -0,0 +1,50 @@
// generate a HTML5 file including all webpack bundles in the body using script tags
const HtmlWebpackPlugin = require('html-webpack-plugin');
// path is used to resolve properly across the OS
const path = require('path');
module.exports = {
// bundle *.js from this entry point
entry: path.resolve(__dirname, '../src/index.jsx'),
// create output file to be linked to index.html
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, '../dist'),
clean: true,
},
module: {
rules: [
{
// test all *.js using babel-loader
// test all *.jsx (e.g. React.js) using babel-loader
test: /\.(js|jsx)$/,
exclude: /node_modules/,
include: path.resolve(__dirname, '../src'),
use: {
loader: 'babel-loader',
options: {
presets: [
'@babel/preset-env',
'@babel/preset-react',
],
},
},
},
{
// test all *.css using style-loader and css-loader
test: /\.css$/i,
use: ['style-loader', 'css-loader'],
},
],
},
resolve: {
extensions: ['*', '.js', '.jsx'],
},
plugins: [
// create a plugin instance so that you can use it several times anywhere
new HtmlWebpackPlugin({
title: 'Production',
template: path.resolve(__dirname, '../public/index.html'),
}),
],
};

View File

@ -0,0 +1,20 @@
// path is used to resolve properly across the OS
const path = require('path');
const { merge } = require('webpack-merge');
const common = require('./webpack.common');
// merge() calls in the environment-specific configuration to include commons
module.exports = merge(common, {
// set development mode
mode: 'development',
// enable strong source mapping
devtool: 'inline-source-map',
devServer: {
static: path.resolve(__dirname, '../dist'),
/*
When using the HTML5 History API,
the index.html page will likely have to be served in place of any 404 responses.
Enable devServer.historyApiFallback by setting it to true.
*/
historyApiFallback: true,
},
});

View File

@ -0,0 +1,9 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.common');
module.exports = merge(common, {
mode: 'production',
// source maps encouraged in production
// choose mapping with fairly quick build speed like source-map
devtool: 'source-map',
});

8500
cnt-cmpnnt/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

47
cnt-cmpnnt/package.json Normal file
View File

@ -0,0 +1,47 @@
{
"private": true,
"name": "react-example",
"description": "React.js example",
"version": "0.1.0",
"main": "index.js",
"keywords": [
"react",
"webpack"
],
"author": "Software Ingenieur Begerad <dialog@SwIngBe.de>",
"license": "GPL-3.0-or-later",
"engines": {
"node": ">=18.17.0"
},
"scripts": {
"start": "webpack serve --config config/webpack.dev.js",
"build": "webpack --config config/webpack.prod.js",
"test": "echo \"Error: no test specified\" && exit 1",
"lint": "eslint .",
"lint:fix": "eslint --fix ."
},
"devDependencies": {
"@babel/core": "7.23.9",
"@babel/eslint-parser": "7.23.10",
"@babel/plugin-transform-runtime": "7.23.9",
"@babel/preset-env": "7.23.9",
"@babel/preset-react": "7.23.3",
"@babel/runtime": "7.23.9",
"babel-loader": "9.1.3",
"css-loader": "6.10.0",
"eslint": "8.56.0",
"eslint-webpack-plugin": "4.0.1",
"style-loader": "3.3.4",
"webpack": "5.90.2",
"webpack-cli": "5.1.4",
"webpack-dev-server": "5.0.1"
},
"dependencies": {
"axios": "1.6.8",
"html-webpack-plugin": "5.6.0",
"prop-types": "15.8.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"webpack-merge": "5.10.0"
}
}

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>React Example</title>
</head>
<body>
<div id="root"></div>
</body>
</html>

17
cnt-cmpnnt/readme.md Normal file
View File

@ -0,0 +1,17 @@
# React.js Example
## Table of Contents
0. [General](#general)
1. [Links](#links)
# General
# Links
* [React setup with webpack for beginners](https://dev.to/deepanjangh/react-setup-with-webpack-for-beginners-2a8k)
* [Production](https://webpack.js.org/guides/production/)
* [Setup Development and Production Environment for React App](https://medium.com/freestoneinfotech/setup-development-and-production-environment-for-react-app-397c4cc9e382)
* [HtmlWebpackPlugin](https://webpack.js.org/plugins/html-webpack-plugin/)
* [load CSS](https://masteringjs.io/tutorials/webpack/css-loader)
* [load CSS](https://webpack.js.org/loaders/css-loader/)
* [load CSS](https://blog.jakoblind.no/css-modules-webpack/)

View File

@ -0,0 +1,32 @@
import axios from 'axios';
import React, { useEffect, useState } from 'react';
import config from '../config';
import {getAbsEntityCount} from '../utils/axios-utils';
export default function AbsEntityCount() {
const [absEntityCount, setAbsCount] = useState(null);
const handleAbsEntityCount = async () => {
let absEntityCount = null;
try {
absEntityCount = await getAbsEntityCount(`${config.API}stops-count`);
} catch (err) {
console.error('handleAbsEntityCount(): err.message: ' + err.message);
}
setAbsCount(absEntityCount);
};
useEffect(() => {
handleAbsEntityCount();
}, []);
return (
<>
<p>
Abs Count: {absEntityCount ? absEntityCount : 'loading...'}&nbsp;
</p>
</>
);
};

View File

@ -0,0 +1,17 @@
import React from 'react';
import PropTypes from 'prop-types';
//destructure props
const Hello = ({msg}) => {
return (
<>
<div>{msg}</div>
</>
);
}
export default Hello
Hello.propTypes = {
msg: PropTypes.string,
};

3
cnt-cmpnnt/src/config.js Normal file
View File

@ -0,0 +1,3 @@
export default {
API: 'https://test-api-data.vbn.de/data/',
};

17
cnt-cmpnnt/src/index.jsx Normal file
View File

@ -0,0 +1,17 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './main';
//TODO remove debugging
if (process.env.NODE_ENV !== 'production') {
console.log('development mode');
}
//since react 18
import { createRoot } from 'react-dom/client';
//create root container
const root = createRoot(document.getElementById("root"));
//render root app
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);

14
cnt-cmpnnt/src/main.jsx Normal file
View File

@ -0,0 +1,14 @@
import React from 'react';
import Home from './pages/home';
import AbsEntityCount from './components/abs-entity-count';
export default function App() {
return (
<div>
<h1>React.js</h1>
<AbsEntityCount />
<Home />
</div>
)
}

View File

@ -0,0 +1,20 @@
{
"queries": [
{
"title": "Second hand shops",
"query": "https://overpass-api.de/api/interpreter?data=[out:json][timeout:60];relation(62531);map_to_area;nwr[shop=second_hand](area)->.shops;nwr[second_hand=yes](area)->.secondHands;(.shops;.secondHands;);out body center qt;"
},
{
"title": "Organic bakeries",
"query": "https://overpass-api.de/api/interpreter?data=[out:json][timeout:60];relation(62531);map_to_area;nwr[shop=bakery][organic=yes](area);out body center qt;"
},
{
"title": "Organic only shops",
"query": "https://overpass-api.de/api/interpreter?data=[out:json][timeout:60];relation(62531);map_to_area;nwr[shop][organic=only](area);out body center qt;"
},
{
"title": "Public bookcases",
"query": "https://overpass-api.de/api/interpreter?data=[out:json][timeout:60];relation(62531);map_to_area;nwr[amenity=public_bookcase](area);out body center qt;"
}
]
}

View File

@ -0,0 +1,32 @@
import React from 'react';
import Hello from '../components/hello';
import '../style.css';
// import JSON
import jsonOsmQuery from '../osm-query.json';
const Home = () => {
const rryOsmQuery = jsonOsmQuery.queries;
return (
<>
<h2>Home</h2>
<h3>(React.js Lambda Function Component)</h3>
<Hello msg="Hello World!" />
<div className='container'>
<p>Blog RryOsmQuery</p>
<div className='rryOsmQuery'>
{rryOsmQuery.map((query) => (
<div className='query' key={query.id}>
<p className='title'>{query.title}</p>
<p className='content'>{query.query}</p>
</div>
))}
</div>
</div>
</>
);
}
export default Home

3
cnt-cmpnnt/src/style.css Normal file
View File

@ -0,0 +1,3 @@
h1 { color: red; }
h2 { color: green; }
h3 { color: blue; }

View File

@ -0,0 +1,18 @@
import axios from 'axios';
/**
* HTTP GET request for absolute entity count
* @param url recipient of the request
*/
export async function getAbsEntityCount(url) {
try {
const res = await axios.get(url);
const count = res.data[0].count;
console.log('getAbsEntityCount(): count: ', count);
return count;
} catch (err) {
console.error('getAbsEntityCount(): err.message: ' + err.message);
return null;
}
};

View File

@ -13,8 +13,8 @@
"react-dom": "^18.0.0"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-eslint": "10.1.0",
"babel-loader": "8.2.5",
@ -28,9 +28,9 @@
"less-loader": "10.2.0",
"prettier": "2.7.1",
"style-loader": "3.3.1",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3"
"webpack-dev-server": "4.10.1"
}
},
"node_modules/@ampproject/remapping": {
@ -68,21 +68,21 @@
}
},
"node_modules/@babel/core": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz",
"integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
"integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-compilation-targets": "^7.18.9",
"@babel/helper-module-transforms": "^7.18.9",
"@babel/helpers": "^7.18.9",
"@babel/parser": "^7.18.9",
"@babel/template": "^7.18.6",
"@babel/traverse": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/template": "^7.18.10",
"@babel/traverse": "^7.18.13",
"@babel/types": "^7.18.13",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@ -98,12 +98,12 @@
}
},
"node_modules/@babel/generator": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
"integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
"dev": true,
"dependencies": {
"@babel/types": "^7.18.9",
"@babel/types": "^7.18.13",
"@jridgewell/gen-mapping": "^0.3.2",
"jsesc": "^2.5.1"
},
@ -206,15 +206,13 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
"integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
"integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
"dependencies": {
"@babel/helper-compilation-targets": "^7.13.0",
"@babel/helper-module-imports": "^7.12.13",
"@babel/helper-plugin-utils": "^7.13.0",
"@babel/traverse": "^7.13.0",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
"resolve": "^1.14.2",
@ -404,6 +402,15 @@
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
"integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
@ -466,9 +473,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@ -510,14 +517,14 @@
}
},
"node_modules/@babel/plugin-proposal-async-generator-functions": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz",
"integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
"integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/helper-remap-async-to-generator": "^7.18.6",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-plugin-utils": "^7.18.9",
"@babel/helper-remap-async-to-generator": "^7.18.9",
"@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
@ -1508,12 +1515,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
"integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
"integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.18.6"
"@babel/helper-plugin-utils": "^7.18.9"
},
"engines": {
"node": ">=6.9.0"
@ -1539,9 +1546,9 @@
}
},
"node_modules/@babel/preset-env": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz",
"integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
"integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.18.8",
@ -1550,7 +1557,7 @@
"@babel/helper-validator-option": "^7.18.6",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
"@babel/plugin-proposal-async-generator-functions": "^7.18.6",
"@babel/plugin-proposal-async-generator-functions": "^7.18.10",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-class-static-block": "^7.18.6",
"@babel/plugin-proposal-dynamic-import": "^7.18.6",
@ -1610,13 +1617,13 @@
"@babel/plugin-transform-sticky-regex": "^7.18.6",
"@babel/plugin-transform-template-literals": "^7.18.9",
"@babel/plugin-transform-typeof-symbol": "^7.18.9",
"@babel/plugin-transform-unicode-escapes": "^7.18.6",
"@babel/plugin-transform-unicode-escapes": "^7.18.10",
"@babel/plugin-transform-unicode-regex": "^7.18.6",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.18.9",
"babel-plugin-polyfill-corejs2": "^0.3.1",
"babel-plugin-polyfill-corejs3": "^0.5.2",
"babel-plugin-polyfill-regenerator": "^0.3.1",
"@babel/types": "^7.18.10",
"babel-plugin-polyfill-corejs2": "^0.3.2",
"babel-plugin-polyfill-corejs3": "^0.5.3",
"babel-plugin-polyfill-regenerator": "^0.4.0",
"core-js-compat": "^3.22.1",
"semver": "^6.3.0"
},
@ -1676,33 +1683,33 @@
}
},
"node_modules/@babel/template": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
"integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.18.6",
"@babel/parser": "^7.18.6",
"@babel/types": "^7.18.6"
"@babel/parser": "^7.18.10",
"@babel/types": "^7.18.10"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
"integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-function-name": "^7.18.9",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/parser": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/types": "^7.18.13",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@ -1711,11 +1718,12 @@
}
},
"node_modules/@babel/types": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
"integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.18.10",
"@babel/helper-validator-identifier": "^7.18.6",
"to-fast-properties": "^2.0.0"
},
@ -2497,13 +2505,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
"integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
"integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.13.11",
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/compat-data": "^7.17.7",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"semver": "^6.1.1"
},
"peerDependencies": {
@ -2511,12 +2519,12 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
"integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
"integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"core-js-compat": "^3.21.0"
},
"peerDependencies": {
@ -2524,12 +2532,12 @@
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
"integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
"integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.3.1"
"@babel/helper-define-polyfill-provider": "^0.3.2"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
@ -7575,9 +7583,9 @@
}
},
"node_modules/webpack": {
"version": "5.73.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz",
"integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==",
"version": "5.74.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
"integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
@ -7585,11 +7593,11 @@
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.9.3",
"enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -7602,7 +7610,7 @@
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"bin": {
@ -7754,9 +7762,9 @@
}
},
"node_modules/webpack-dev-server": {
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz",
"integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==",
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz",
"integrity": "sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw==",
"dev": true,
"dependencies": {
"@types/bonjour": "^3.5.9",
@ -8052,21 +8060,21 @@
"dev": true
},
"@babel/core": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz",
"integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
"integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
"dev": true,
"requires": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-compilation-targets": "^7.18.9",
"@babel/helper-module-transforms": "^7.18.9",
"@babel/helpers": "^7.18.9",
"@babel/parser": "^7.18.9",
"@babel/template": "^7.18.6",
"@babel/traverse": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/template": "^7.18.10",
"@babel/traverse": "^7.18.13",
"@babel/types": "^7.18.13",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@ -8075,12 +8083,12 @@
}
},
"@babel/generator": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
"integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
"dev": true,
"requires": {
"@babel/types": "^7.18.9",
"@babel/types": "^7.18.13",
"@jridgewell/gen-mapping": "^0.3.2",
"jsesc": "^2.5.1"
},
@ -8155,15 +8163,13 @@
}
},
"@babel/helper-define-polyfill-provider": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
"integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
"integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
"requires": {
"@babel/helper-compilation-targets": "^7.13.0",
"@babel/helper-module-imports": "^7.12.13",
"@babel/helper-plugin-utils": "^7.13.0",
"@babel/traverse": "^7.13.0",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
"resolve": "^1.14.2",
@ -8305,6 +8311,12 @@
"@babel/types": "^7.18.6"
}
},
"@babel/helper-string-parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
"integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
"dev": true
},
"@babel/helper-validator-identifier": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
@ -8352,9 +8364,9 @@
}
},
"@babel/parser": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"dev": true
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
@ -8378,14 +8390,14 @@
}
},
"@babel/plugin-proposal-async-generator-functions": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz",
"integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
"integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
"requires": {
"@babel/helper-environment-visitor": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/helper-remap-async-to-generator": "^7.18.6",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-plugin-utils": "^7.18.9",
"@babel/helper-remap-async-to-generator": "^7.18.9",
"@babel/plugin-syntax-async-generators": "^7.8.4"
}
},
@ -9019,12 +9031,12 @@
}
},
"@babel/plugin-transform-unicode-escapes": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
"integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
"integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.18.6"
"@babel/helper-plugin-utils": "^7.18.9"
}
},
"@babel/plugin-transform-unicode-regex": {
@ -9038,9 +9050,9 @@
}
},
"@babel/preset-env": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz",
"integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
"integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.18.8",
@ -9049,7 +9061,7 @@
"@babel/helper-validator-option": "^7.18.6",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
"@babel/plugin-proposal-async-generator-functions": "^7.18.6",
"@babel/plugin-proposal-async-generator-functions": "^7.18.10",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-class-static-block": "^7.18.6",
"@babel/plugin-proposal-dynamic-import": "^7.18.6",
@ -9109,13 +9121,13 @@
"@babel/plugin-transform-sticky-regex": "^7.18.6",
"@babel/plugin-transform-template-literals": "^7.18.9",
"@babel/plugin-transform-typeof-symbol": "^7.18.9",
"@babel/plugin-transform-unicode-escapes": "^7.18.6",
"@babel/plugin-transform-unicode-escapes": "^7.18.10",
"@babel/plugin-transform-unicode-regex": "^7.18.6",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.18.9",
"babel-plugin-polyfill-corejs2": "^0.3.1",
"babel-plugin-polyfill-corejs3": "^0.5.2",
"babel-plugin-polyfill-regenerator": "^0.3.1",
"@babel/types": "^7.18.10",
"babel-plugin-polyfill-corejs2": "^0.3.2",
"babel-plugin-polyfill-corejs3": "^0.5.3",
"babel-plugin-polyfill-regenerator": "^0.4.0",
"core-js-compat": "^3.22.1",
"semver": "^6.3.0"
}
@ -9157,40 +9169,41 @@
}
},
"@babel/template": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
"integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.18.6",
"@babel/parser": "^7.18.6",
"@babel/types": "^7.18.6"
"@babel/parser": "^7.18.10",
"@babel/types": "^7.18.10"
}
},
"@babel/traverse": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
"integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-function-name": "^7.18.9",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/parser": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/types": "^7.18.13",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
"integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
"dev": true,
"requires": {
"@babel/helper-string-parser": "^7.18.10",
"@babel/helper-validator-identifier": "^7.18.6",
"to-fast-properties": "^2.0.0"
}
@ -9859,33 +9872,33 @@
}
},
"babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
"integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
"integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.13.11",
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/compat-data": "^7.17.7",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"semver": "^6.1.1"
}
},
"babel-plugin-polyfill-corejs3": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
"integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
"integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"core-js-compat": "^3.21.0"
}
},
"babel-plugin-polyfill-regenerator": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
"integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
"integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.3.1"
"@babel/helper-define-polyfill-provider": "^0.3.2"
}
},
"balanced-match": {
@ -13633,9 +13646,9 @@
}
},
"webpack": {
"version": "5.73.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz",
"integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==",
"version": "5.74.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
"integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
@ -13643,11 +13656,11 @@
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.9.3",
"enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -13660,7 +13673,7 @@
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"dependencies": {
@ -13773,9 +13786,9 @@
}
},
"webpack-dev-server": {
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz",
"integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==",
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz",
"integrity": "sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw==",
"dev": true,
"requires": {
"@types/bonjour": "^3.5.9",

View File

@ -17,8 +17,8 @@
"react-dom": "^18.0.0"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-eslint": "10.1.0",
"babel-loader": "8.2.5",
@ -32,8 +32,8 @@
"less-loader": "10.2.0",
"prettier": "2.7.1",
"style-loader": "3.3.1",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3"
"webpack-dev-server": "4.10.1"
}
}

2
crud/.gitignore vendored
View File

@ -1,5 +1,5 @@
# Others
package-lock.json
dist*
build*
# Logs

10101
crud/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -17,18 +17,18 @@
"start": "webpack serve --config ./webpack.config.js --mode development"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-loader": "8.2.5",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3"
"webpack-dev-server": "4.10.1"
},
"dependencies": {
"axios": "1.3.5",
"prop-types": "15.8.1",
"react": "18.2.0",
"react-bootstrap": "2.4.0",
"react-dom": "18.2.0",
"react-router-dom": "6.3.0"
}

View File

@ -1,9 +1,11 @@
import React from 'react'
import { BrowserRouter as Router,Route, Routes }
from 'react-router-dom';
import { BrowserRouter as Router,Route, Routes } from 'react-router-dom';
import Create from './components/create';
import CreateRgnCycle from './components/create-rgn-cycle';
import Edit from './components/edit';
import Home from './components/home';
import Update from './components/update';
function App() {
return (
@ -12,7 +14,9 @@ function App() {
<Routes>
<Route path='/' element={<Home/>}/>
<Route path='/create' element={<Create/>}/>
<Route path='/create-rgncycle' element={<CreateRgnCycle/>}/>
<Route path='/edit' element={<Edit/>}/>
<Route path='/update' element={<Update/>}/>
</Routes>
</Router>
</div>

View File

@ -0,0 +1,78 @@
import React, { useState } from 'react';
import { v4 as uuid } from 'uuid';
import { Link, useNavigate } from 'react-router-dom';
export default function Create() {
// Making usestate for setting and
// fetching a value in jsx
const [name, setName] = useState('');
// Using useNavigation for redirecting to pages
let history = useNavigate();
async function createItem(e){
e.preventDefault();
//console.log("Home:createItem() name: " + name);
const url='https://v1rgncy.api.swingbe.de/entities/create';
//console.log('Home:createItem() url: ' + url);
let data = new FormData();
data.append('name',name);
return fetch(url, {
method: "POST",
mode: "cors",
body: data
})
.then(response => {
if (!response.ok) {
console.error('Home:createItem() rsp error: ' + response);
}else{
//console.log('Home:createItem() rsp fine');
// We need to re-render the page for getting
// the results so redirect to same page.
history('/')
//console.log('Home:createItem() Done.');
}
})
.catch((error) => {
console.error('Home:createItem() error: ' + error);
// We need to re-render the page for getting
// the results so redirect to same page.
//console.log('Home:createItem() Done.');
});
};
return (
<div>
<h1>Create</h1>
<form
onSubmit={e => createItem(e)}
>
<label>
Enter name (input:{name}):
<input
onChange={e => setName(name => e.target.value)}
type="text"
value={name}
placeholder="Enter Name"
required
/>
</label>
<button
onClick={e => createItem(e)}
type="submit"
>
Create
</button>
<Link
to='/'
>
<button>
Home
</button>
</Link>
</form>
</div>
);
};

View File

@ -1,11 +1,9 @@
import React, { useState } from 'react'
import { Button, Form } from 'react-bootstrap'
//TODO import 'bootstrap/dist/css/bootstrap.min.css';
import array from './array';
import { v4 as uuid } from 'uuid';
import { Link, useNavigate } from 'react-router-dom';
function Create() {
export default function Create() {
// Making usestate for setting and
// fetching a value in jsx
@ -33,45 +31,44 @@ function Create() {
}
return (
<div >
<Form className="d-grid gap-2" style={{margin:'15rem'}}>
{/* Fetching a value from input textfirld
in a setname using usestate*/}
<Form.Group className="mb-3" controlId="formBasicName">
<Form.Control onChange={e => setname(e.target.value)}
type="text"
placeholder="Enter Name" required/>
</Form.Group>
{/* Fetching a value from input textfirld in
a setage using usestate*/}
<Form.Group className="mb-3" controlId="formBasicAge">
<Form.Control onChange={e => setage(e.target.value)}
type="text"
placeholder="Age" required/>
</Form.Group>
{/* handing a onclick event in button for
firing a function */}
<Button
onClick={e => handelSubmit(e)}
variant="primary" type="submit">
Submit
</Button>
{/* Redirecting back to home page */}
<Link className="d-grid gap-2" to='/'>
<Button variant="info" size="lg">
Home
</Button>
</Link>
</Form>
</div>
)
}
export default Create
return (
<div>
<h1>Create</h1>
<form
onSubmit={e => handelSubmit(e)}
>
<label>
Enter name (input:{name}):
<input
onChange={e => setname(e.target.value)}
type="text"
placeholder="Enter Name"
required
/>
</label>
<label>
Enter name (input:{age}):
<input
onChange={e => setage(e.target.value)}
type="text"
placeholder="Enter Age"
required
/>
</label>
<button
onClick={e => handelSubmit(e)}
type="submit"
>
Create
</button>
<Link
to='/'
>
<button>
Home
</button>
</Link>
</form>
</div>
);
};

View File

@ -1,12 +1,9 @@
import React, { useEffect, useState } from 'react'
import { Button, Form } from 'react-bootstrap';
//TODO import 'bootstrap/dist/css/bootstrap.min.css';
import array from './array';
import { Link} from 'react-router-dom';
import {useNavigate} from 'react-router-dom';
function Edit() {
export default function Edit() {
// Here usestate has been used in order
// to set and get values from the jsx
@ -43,39 +40,43 @@ function Edit() {
setage(localStorage.getItem('Age'))
setid(localStorage.getItem('id'))
}, [])
return (
<div>
<Form className="d-grid gap-2" style={{margin:'15rem'}}>
{/* setting a name from the input textfiled */}
<Form.Group className="mb-3" controlId="formBasicEmail">
<Form.Control value={name}
onChange={e => setname(e.target.value)}
type="text" placeholder="Enter Name" />
</Form.Group>
{/* setting a age from the input textfiled */}
<Form.Group className="mb-3" controlId="formBasicPassword">
<Form.Control value={age}
onChange={e => setage(e.target.value)}
type="text" placeholder="Age" />
</Form.Group>
{/* Hadinling an onclick event running an edit logic */}
<Button
onClick={e => handelSubmit(e)}
variant="primary" type="submit" size="lg">
Update
</Button>
{/* Redirecting to main page after editing */}
<Link className="d-grid gap-2" to='/'>
<Button variant="warning" size="lg">Home</Button>
</Link>
</Form>
</div>
)
}
export default Edit
return(
<div>
<h1>Update</h1>
<form
onSubmit={e => handelSubmit(e)}
>
<label>
Enter name (input:{name}):
<input
onChange={e => setname(e.target.value)}
type="text"
placeholder="Enter Name"
/>
</label>
<label>
Enter name (input:{age}):
<input
value={age}
onChange={e => setage(e.target.value)}
type="text"
placeholder="Enter Age"
/>
</label>
<button
onClick={e => handelSubmit(e)}
type="submit"
>
Update
</button>
<Link
to='/'
>
<button>
Home
</button>
</Link>
</form>
</div>
);
};

View File

@ -1,76 +1,177 @@
import React from 'react'
import { Button,Table } from 'react-bootstrap'
//TODO import 'bootstrap/dist/css/bootstrap.min.css';
import array from './array';
import React, {useEffect,useState} from 'react'
import { Link, useNavigate } from 'react-router-dom';
import axios from 'axios';
function Home() {
export default function Home(){
//get data
const getData=()=>{
axios
.get('https://v1rgncy.api.swingbe.de/entities/info')
.then((response) => {
setData(response.data);
})
.catch((err) => {
console.error('Home:getData(): error: ' + err);
});
};
//store data
const [data,setData]=useState([]);
//get data when app loads
useEffect(()=>{
getData();
},[]);
let history = useNavigate()
// You may skip this part if you're
// using react-context api or redux
function setID(id,name,age){
localStorage.setItem('id', id);
localStorage.setItem('Name', name);
localStorage.setItem('Age', age);
}
function setRgnCycle(id,name){
//console.log('Home:setRgnCycle() id: ' + id);
//console.log('Home:setRgnCycle() name: ' + name);
//TODO Study localStorage!
localStorage.setItem('rgnCycleId', id);
localStorage.setItem('rgnCycleName', name);
}
async function deleteItem(id){
//console.log("Home:deleteItem():");
//console.log("Home:deleteItem() id: " + id);
let url = 'https://v1rgncy.api.swingbe.de/entities/' + id + '/delete';
//console.log('Home:deleteItem() url: ' + url);
return fetch(url, {
method: "POST",
mode: "cors"
})
.then(response => {
if (!response.ok) {
console.error('Home:deleteItem() rsp error: ' + error);
}else{
//TODO Why is data not updated automatically?
getData();
// We need to re-render the page for getting
// the results so redirect to same page.
history('/')
//console.log('Home:deleteItem() Done.');
}
})
.catch((error) => {
console.error('Home:deleteItem() error: ' + error);
// We need to re-render the page for getting
// the results so redirect to same page.
history('/')
});
};
//TODO Why is this function not working?
//post
const postRgnCycle=(id)=>{
console.log('Home:postRgnCycle() Start...');
console.log('Home:postRgnCycle() id: ' + id);
let url = 'https://v1rgncy.api.swingbe.de/entities/' + id + '/delete';
console.log('Home:postRgnCycle() url: ' + url);
let config = {
method: 'post',
maxBodyLength: Infinity,
url: url,
headers: { }
};
axios.request(config)
.then((response) => {
console.log('Home:postRgnCycle() Deleted...');
})
.catch((error) => {
console.error('Home:postRgnCycle() error: ' + error);
});
// We need to re-render the page for getting
// the results so redirect to same page.
history('/')
console.log('Home:postRgnCycle() Done.');
};
//TODO Why is this function not working?
//delete record using api
const deleteRgnCycle=(id)=>{
console.log('Home:deleteRgnCycle() Start...');
console.log('Home:deleteRgnCycle() id: ' + id);
let url = 'https://v1rgncy.api.swingbe.de/entities/' + id + '/delete';
console.log('Home:deleteRgnCycle() url: ' + url);
axios
.post(url)
.then((response) => {
console.log('Home:deleteRgnCycle() Deleted...');
})
.catch((err) => {
console.log('Home:deleteRgnCycle() error: ' + err);
});
// We need to re-render the page for getting
// the results so redirect to same page.
history('/')
console.log('Home:deleteRgnCycle() Done.');
};
let history = useNavigate()
// You may skip this part if you're
// using react-context api or redux
function setID(id,name,age){
localStorage.setItem('id', id);
localStorage.setItem('Name', name);
localStorage.setItem('Age', age);
}
// Deleted function - functionality
// for deleting the entry
function deleted(id){
var index = array.map(function(e) { return e.id; }).indexOf(id);
// deleting the entry with index
array.splice(index,1)
// We need to re-render the page for getting
// the results so redirect to same page.
history('/')
}
return (
<div style={{margin:'10rem'}}>
<Table striped bordered hover size="sm">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
{/* Mapping though every element in the array
and showing the data in the form of table */}
{array.map((item) => {
return(
<tr>
<td>{item.Name}</td>
<td>{item.Age}</td>
{/* getting theid,name, and age for storing these
value in the jsx with onclick event */}
<td><Link to={`/edit`}><Button onClick={(e) =>
setID(item.id,item.Name,item.Age)} variant="info">
Update</Button></Link></td>
{/* Using thr deleted function passing
the id of an entry */}
<td><Button onClick={e => deleted(item.id)}
variant="danger">Delete</Button></td>
</tr>
)})}
</tbody>
</Table>
{/* Button for redirecting to create page for
insertion of values */}
<Link className="d-grid gap-2" to='/create'>
<Button variant="warning" size="lg">Create</Button>
</Link>
</div>
)
}
export default Home
return (
<div>
<h1>RgnCycle</h1>
<table>
<thead>
<tr>
<th>id</th>
<th>name</th>
<th>lat</th>
<th>lon</th>
</tr>
</thead>
<tbody>
{data.map((item,key) => {
return(
<tr
key={key}
>
<td>{item[0]}</td>
<td>{item[1]}</td>
<td>{item[2]}</td>
<td>{item[3]}</td>
<td>
<Link
to={`/update`}
>
<button
onClick={(e) =>
setRgnCycle(item[0],item[1])
}
>
Update
</button>
</Link>
</td>
<td>
<button
onClick={e => deleteItem(item[0])
}
>
Delete
</button>
</td>
</tr>
)})}
</tbody>
</table>
<Link
to='/create-rgncycle'
>
<button
>
Create
</button>
</Link>
</div>
);
};

View File

@ -0,0 +1,142 @@
import React, { useEffect, useState } from 'react'
import { Link} from 'react-router-dom';
import {useNavigate} from 'react-router-dom';
import axios from 'axios';
export default function Update() {
// Here usestate has been used in order
// to set and get values from the jsx
const [name, setName] = useState('');
const[id,setId] = useState('');
// used for navigation with logic in javascript
let history = useNavigate()
async function updateItem(e){
e.preventDefault();
//console.log("Home:updateItem() id: " + id);
//console.log("Home:updateItem() name: " + name);
const url='https://v1rgncy.api.swingbe.de/entities/'+id+'/update';
//console.log('Home:updateItem() url: ' + url);
let data = new FormData();
data.append('name',name);
return fetch(url, {
method: "POST",
mode: "cors",
body: data
})
.then(response => {
if (!response.ok) {
console.error('Home:updateItem() rsp error: ' + response);
}else{
//console.log('Home:updateItem() rsp fine');
// We need to re-render the page for getting
// the results so redirect to same page.
history('/')
//console.log('Home:updateItem() Done.');
}
})
.catch((error) => {
console.error('Home:updateItem() error: ' + error);
// We need to re-render the page for getting
// the results so redirect to same page.
//console.log('Home:updateItem() Done.');
});
};
//TODO Why is this function not working?
const postData = (e) => {
e.preventDefault();
console.log('postData() id: '+id);
console.log('postData() name: '+name);
const url='https://v1rgncy.api.swingbe.de/entities/'+id+'/update';
console.log('postData() url: '+url);
let data = new FormData();
data.append('name',name);
let config = {
method: 'post',
headers: {
'Content-Type': 'text/plain',
},
maxBodyLength: Infinity,
url: url,
data : data
};
axios.request(config)
.then(rsp => {
if (!rsp.ok) {
console.error('Home:postData() rsp error: ' + JSON.stringify(rsp));
}else{
//console.log('Home:postData() rsp fine');
// We need to re-render the page for getting
// the results so redirect to same page.
history('/')
//console.log('Home:postData() Done.');
}
console.log('postData() rsp: ' + rsp.data)
})
.catch((error) => {
console.error('postData() axios error: '+error);
});
};
//TODO Why is this function not working?
const postUpdate = (e) => {
e.preventDefault();
console.log('postUpdate() id: '+id);
console.log('postUpdate() name: '+name);
const url='https://v1rgncy.api.swingbe.de/entities/'+id+'/update';
console.log('postUpdate() url: '+url);
let data = new FormData();
data.append('name',name);
//const data = { 'name': name};
//const data = 'name='+name;
console.log('postUpdate() data: '+data);
const headers = {
'Content-Type': 'text/plain',
};
axios.post(url, data, {headers})
.then(rsp => {
console.log('postData() rsp: ' + rsp.data)
})
.catch((error) => {
console.error('postData() axios error: '+error);
});
};
useEffect(() => {
setName(localStorage.getItem('rgnCycleName'))
setId(localStorage.getItem('rgnCycleId'))
}, [])
return(
<div>
<h1>Update</h1>
<form
onSubmit={e => updateItem(e)}
>
<label>
Enter name (input:{name}):
<input
onChange={e => setName(name => e.target.value)}
type="text"
value={name}
placeholder="Enter Name"
/>
</label>
<button
onClick={e => updateItem(e)}
type="submit"
>
Update
</button>
<Link
to='/'
>
<button>
Home
</button>
</Link>
</form>
</div>
);
};

View File

@ -0,0 +1,6 @@
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}

107
csv-column-read2dom/.gitignore vendored Normal file
View File

@ -0,0 +1,107 @@
# Others
build*
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# Next.js build output
.next
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port

View File

@ -0,0 +1,18 @@
# React.js Example
## Table of Contents
0. [General](#general)
1. [Links](#links)
# General
# Links
* [React setup with webpack for beginners](https://dev.to/deepanjangh/react-setup-with-webpack-for-beginners-2a8k)
* [Production](https://webpack.js.org/guides/production/)
* [Setup Development and Production Environment for React App](https://medium.com/freestoneinfotech/setup-development-and-production-environment-for-react-app-397c4cc9e382)
* [HtmlWebpackPlugin](https://webpack.js.org/plugins/html-webpack-plugin/)
* [load CSS](https://masteringjs.io/tutorials/webpack/css-loader)
* [load CSS](https://webpack.js.org/loaders/css-loader/)
* [load CSS](https://blog.jakoblind.no/css-modules-webpack/)
* [How to Read CSV files in React.js ?](https://www.geeksforgeeks.org/how-to-read-csv-files-in-react-js/)

View File

@ -0,0 +1,10 @@
import React from 'react';
import Home from './pages/home';
export default function App() {
return (
<div>
<h1>App</h1>
<Home />
</div>
)
}

View File

@ -0,0 +1,87 @@
import React, { useState } from "react";
import Papa from "papaparse";
// Allowed extensions for input file
const allowedExtensions = ["csv"];
const Csv = () => {
// This state will store the parsed data
const [data, setData] = useState([]);
// This state will contain the error when
// correct file extension is not used
const [error, setError] = useState("");
// It will store the file uploaded by the user
const [file, setFile] = useState("");
// This function will be called when
// the file input changes
const handleFileChange = (e) => {
setError("");
// Check if user has entered the file
if (e.target.files.length) {
const inputFile = e.target.files[0];
// Check the file extensions, if it not
// included in the allowed extensions
// we show the error
const fileExtension = inputFile?.type.split("/")[1];
if (!allowedExtensions.includes(fileExtension)) {
setError("Please input a csv file");
return;
}
// If input type is correct set the state
setFile(inputFile);
}
};
const handleParse = () => {
// If user clicks the parse button without
// a file we show a error
if (!file) return setError("Enter a valid file");
// Initialize a reader which allows user
// to read any file or blob.
const reader = new FileReader();
// Event listener on reader when the file
// loads, we parse it and set the data.
reader.onload = async ({ target }) => {
const csv = Papa.parse(target.result, { header: true });
const parsedData = csv?.data;
const columns = Object.keys(parsedData[0]);
setData(columns);
};
reader.readAsText(file);
};
return (
<div>
<label
htmlFor="csvInput"
style={{ display: "block" }}
>
Enter CSV File:
</label>
<input
onChange={handleFileChange}
id="csvInput"
name="file"
type="File"
/>
<div>
<button onClick={handleParse}>Parse</button>
</div>
<div style={{ marginTop: "3rem" }}>
{error ? error : data.map((col,
idx) => <div key={idx}>{col}</div>)}
</div>
</div>
);
};
export default Csv;

View File

@ -0,0 +1,17 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './app';
//TODO remove debugging
if (process.env.NODE_ENV !== 'production') {
console.log('development mode');
}
//since react 18
import { createRoot } from 'react-dom/client';
//create root container
const root = createRoot(document.getElementById("root"));
//render root app
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);

View File

@ -0,0 +1,15 @@
import React from 'react';
import Csv from '../components/csv';
import '../style.css';
const Home = () => {
return (
<>
<h2>Home</h2>
<Csv />
</>
);
}
export default Home

View File

@ -0,0 +1,3 @@
h1 { color: red; }
h2 { color: green; }
h3 { color: blue; }

View File

@ -0,0 +1,41 @@
//generate a HTML5 file including all webpack bundles in the body using script tags
const HtmlWebpackPlugin = require('html-webpack-plugin');
//path is used to resolve properly across the OS
const path = require('path');
module.exports = {
//bundle *.js from this entry point
entry: path.resolve(__dirname, '../app/index.jsx'),
//create output file to be linked to index.html
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, '../dist'),
clean: true,
},
module: {
rules: [
{
//test all *.js using babel-loader
//test all *.jsx (e.g. React.js) using babel-loader
test: /\.(js|jsx)$/,
exclude: /node_modules/,
include: path.resolve(__dirname, '../app'),
use: ['babel-loader'],
},
{
//test all *.css using style-loader and css-loader
test: /\.css$/i,
use: ["style-loader", "css-loader"],
},
]
},
resolve: {
extensions: ['*', '.js', '.jsx'],
},
plugins: [
// create a plugin instance so that you can use it several times anywhere
new HtmlWebpackPlugin({
title: 'Production',
template: path.resolve(__dirname, "../public/index.html")
}),
],
};

View File

@ -0,0 +1,14 @@
//path is used to resolve properly across the OS
const path = require('path');
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
//merge() calls in the environment-specific configuration to include commons
module.exports = merge(common, {
//set development mode
mode: 'development',
//enable strong source mapping
devtool: 'inline-source-map',
devServer: {
static: path.resolve(__dirname, '../dist'),
},
});

View File

@ -0,0 +1,8 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
module.exports = merge(common, {
mode: 'production',
//source maps encouraged in production
//choose mapping with fairly quick build speed like source-map
devtool: 'source-map',
});

10844
csv-column-read2dom/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,38 @@
{
"private": true,
"name": "react-example",
"description": "React.js example",
"version": "0.1.0",
"main": "index.js",
"keywords": [
"react",
"webpack"
],
"author": "Software Ingenieur Begerad <dialog@SwIngBe.de>",
"license": "GPL-3.0-or-later",
"engines": {
"node": ">=10"
},
"scripts": {
"start": "webpack serve --config config/webpack.dev.js",
"build": "webpack --config config/webpack.prod.js"
},
"devDependencies": {
"@babel/core": "7.21.4",
"@babel/preset-env": "7.21.4",
"@babel/preset-react": "7.18.6",
"babel-loader": "9.1.2",
"css-loader": "6.7.3",
"html-webpack-plugin": "5.5.1",
"style-loader": "3.3.2",
"webpack": "5.80.0",
"webpack-cli": "5.0.1",
"webpack-dev-server": "4.13.3",
"webpack-merge": "5.8.0"
},
"dependencies": {
"papaparse": "5.4.1",
"react": "18.2.0",
"react-dom": "18.2.0"
}
}

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>React Example</title>
</head>
<body>
<div id="root"></div>
</body>
</html>

6
csv-read2dom/.babelrc Normal file
View File

@ -0,0 +1,6 @@
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}

107
csv-read2dom/.gitignore vendored Normal file
View File

@ -0,0 +1,107 @@
# Others
build*
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# Next.js build output
.next
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port

18
csv-read2dom/README.md Normal file
View File

@ -0,0 +1,18 @@
# React.js Example
## Table of Contents
0. [General](#general)
1. [Links](#links)
# General
# Links
* [React setup with webpack for beginners](https://dev.to/deepanjangh/react-setup-with-webpack-for-beginners-2a8k)
* [Production](https://webpack.js.org/guides/production/)
* [Setup Development and Production Environment for React App](https://medium.com/freestoneinfotech/setup-development-and-production-environment-for-react-app-397c4cc9e382)
* [HtmlWebpackPlugin](https://webpack.js.org/plugins/html-webpack-plugin/)
* [load CSS](https://masteringjs.io/tutorials/webpack/css-loader)
* [load CSS](https://webpack.js.org/loaders/css-loader/)
* [load CSS](https://blog.jakoblind.no/css-modules-webpack/)
* [How to upload and read CSV files in React.js?](https://stackoverflow.com/questions/44769051/how-to-upload-and-read-csv-files-in-react-js)

10
csv-read2dom/app/app.jsx Normal file
View File

@ -0,0 +1,10 @@
import React from 'react';
import Home from './pages/home';
export default function App() {
return (
<div>
<h1>App</h1>
<Home />
</div>
)
}

View File

@ -0,0 +1,27 @@
import React from 'react';
const Input = () => {
const handleChange = (e) => {
const reader = new FileReader();
reader.onload = () => {
// @ts-ignore
document.getElementById('out').innerHTML = reader.result;
};
// start reading the file. When it is done, calls the onload event defined above.
// @ts-ignore
reader.readAsBinaryString(document.getElementById('csv-input').files[0]);
};
return (
<>
<h3>Input</h3>
<input
accept=".csv"
id="csv-input"
onChange={handleChange}
type="file"
/>
<pre id="out"><p>File contents will appear here</p></pre>
</>
);
};
export default Input;

View File

@ -0,0 +1,17 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './app';
//TODO remove debugging
if (process.env.NODE_ENV !== 'production') {
console.log('development mode');
}
//since react 18
import { createRoot } from 'react-dom/client';
//create root container
const root = createRoot(document.getElementById("root"));
//render root app
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);

View File

@ -0,0 +1,15 @@
import React from 'react';
import Input from '../components/input';
import '../style.css';
const Home = () => {
return (
<>
<h2>Home</h2>
<Input />
</>
);
}
export default Home

View File

@ -0,0 +1,3 @@
h1 { color: red; }
h2 { color: green; }
h3 { color: blue; }

View File

@ -0,0 +1,41 @@
//generate a HTML5 file including all webpack bundles in the body using script tags
const HtmlWebpackPlugin = require('html-webpack-plugin');
//path is used to resolve properly across the OS
const path = require('path');
module.exports = {
//bundle *.js from this entry point
entry: path.resolve(__dirname, '../app/index.jsx'),
//create output file to be linked to index.html
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, '../dist'),
clean: true,
},
module: {
rules: [
{
//test all *.js using babel-loader
//test all *.jsx (e.g. React.js) using babel-loader
test: /\.(js|jsx)$/,
exclude: /node_modules/,
include: path.resolve(__dirname, '../app'),
use: ['babel-loader'],
},
{
//test all *.css using style-loader and css-loader
test: /\.css$/i,
use: ["style-loader", "css-loader"],
},
]
},
resolve: {
extensions: ['*', '.js', '.jsx'],
},
plugins: [
// create a plugin instance so that you can use it several times anywhere
new HtmlWebpackPlugin({
title: 'Production',
template: path.resolve(__dirname, "../public/index.html")
}),
],
};

View File

@ -0,0 +1,14 @@
//path is used to resolve properly across the OS
const path = require('path');
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
//merge() calls in the environment-specific configuration to include commons
module.exports = merge(common, {
//set development mode
mode: 'development',
//enable strong source mapping
devtool: 'inline-source-map',
devServer: {
static: path.resolve(__dirname, '../dist'),
},
});

View File

@ -0,0 +1,8 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
module.exports = merge(common, {
mode: 'production',
//source maps encouraged in production
//choose mapping with fairly quick build speed like source-map
devtool: 'source-map',
});

10833
csv-read2dom/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

37
csv-read2dom/package.json Normal file
View File

@ -0,0 +1,37 @@
{
"private": true,
"name": "react-example",
"description": "React.js example",
"version": "0.1.0",
"main": "index.js",
"keywords": [
"react",
"webpack"
],
"author": "Software Ingenieur Begerad <dialog@SwIngBe.de>",
"license": "GPL-3.0-or-later",
"engines": {
"node": ">=10"
},
"scripts": {
"start": "webpack serve --config config/webpack.dev.js",
"build": "webpack --config config/webpack.prod.js"
},
"devDependencies": {
"@babel/core": "7.21.4",
"@babel/preset-env": "7.21.4",
"@babel/preset-react": "7.18.6",
"babel-loader": "9.1.2",
"css-loader": "6.7.3",
"html-webpack-plugin": "5.5.1",
"style-loader": "3.3.2",
"webpack": "5.80.0",
"webpack-cli": "5.0.1",
"webpack-dev-server": "4.13.3",
"webpack-merge": "5.8.0"
},
"dependencies": {
"react": "18.2.0",
"react-dom": "18.2.0"
}
}

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>React Example</title>
</head>
<body>
<div id="root"></div>
</body>
</html>

6
csv-read2object/.babelrc Normal file
View File

@ -0,0 +1,6 @@
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}

107
csv-read2object/.gitignore vendored Normal file
View File

@ -0,0 +1,107 @@
# Others
build*
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# Next.js build output
.next
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port

18
csv-read2object/README.md Normal file
View File

@ -0,0 +1,18 @@
# React.js Example
## Table of Contents
0. [General](#general)
1. [Links](#links)
# General
# Links
* [React setup with webpack for beginners](https://dev.to/deepanjangh/react-setup-with-webpack-for-beginners-2a8k)
* [Production](https://webpack.js.org/guides/production/)
* [Setup Development and Production Environment for React App](https://medium.com/freestoneinfotech/setup-development-and-production-environment-for-react-app-397c4cc9e382)
* [HtmlWebpackPlugin](https://webpack.js.org/plugins/html-webpack-plugin/)
* [load CSS](https://masteringjs.io/tutorials/webpack/css-loader)
* [load CSS](https://webpack.js.org/loaders/css-loader/)
* [load CSS](https://blog.jakoblind.no/css-modules-webpack/)
* [How to Read CSV files in React.js ?](https://www.geeksforgeeks.org/how-to-read-csv-files-in-react-js/)

View File

@ -0,0 +1,10 @@
import React from 'react';
import Home from './pages/home';
export default function App() {
return (
<div>
<h1>App</h1>
<Home />
</div>
)
}

View File

@ -0,0 +1,90 @@
import React, { useState } from "react";
import Papa from "papaparse";
import axios from 'axios';
const allowedExtensions = ["csv"];
const CsvReader = () => {
const [data, setData] = useState([]);
const [error, setError] = useState("");
const [file, setFile] = useState("");
const handleChange = (e) => {
setError("");
//check if user has entered the file
if (e.target.files.length) {
const inputFile = e.target.files[0];
//check the file extensions
const fileExtension = inputFile?.type.split("/")[1];
if (!allowedExtensions.includes(fileExtension)) {
setError("Please input a csv file");
}else{
setFile(inputFile);
console.log('handleChange() file updated');
}
}
};
const post = async (requestBody) => {
console.log('post() start...');
console.log('post() requestBody: ' + JSON.stringify(requestBody));
console.log('post() before post');
/*If you pass a JavaScript object as the 2nd parameter to the axios.post() function, Axios will automatically serialize the object to JSON for you. Axios will also set the Content-Type header to 'application/json', so web frameworks like Express can automatically parse it.*/
const data = await axios.post('http://localhost:3000/', requestBody).then(res => res.data);
console.log('post() after post');
console.log('post() json data: ' + JSON.stringify(data));
console.log('post() done.');
};
const handleParse = () => {
console.log('handleParse() start ...');
if (!file) {
console.log('handleParse() file NOT valid');
return setError("Enter a valid file");
} else {
console.log('handleParse() file valid');
Papa.parse(file, {
complete: updateData,
header: false,
encoding: 'ISO-8859-1'
});
}
console.log('handleParse() done.');
};
const updateData = (result) => {
console.log('updateData() start...');
let data = result.data;
setData(data);
post(data);
console.log('updateData() done.');
};
return(
<div className="csv-reader">
<h3>CsvReader</h3>
<label
htmlFor="csv-input"
>
Enter CSV File:
</label>
<input
className="csv-input"
id="csv-input"
type="file"
name="file"
placeholfer={null}
onChange={handleChange}
/>
<div>
<button onClick={handleParse}>Parse</button>
</div>
<div>
{error ? error : data.map((value, idx) => {
return <div key={idx}>
{JSON.stringify(value)}
</div>}
)}
</div>
</div>
);
};
export default CsvReader;

View File

@ -0,0 +1,17 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './app';
//TODO remove debugging
if (process.env.NODE_ENV !== 'production') {
console.log('development mode');
}
//since react 18
import { createRoot } from 'react-dom/client';
//create root container
const root = createRoot(document.getElementById("root"));
//render root app
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);

View File

@ -0,0 +1,15 @@
import React from 'react';
import Csv from '../components/csv-reader';
import '../style.css';
const Home = () => {
return (
<>
<h2>Home</h2>
<Csv />
</>
);
}
export default Home

View File

@ -0,0 +1,3 @@
h1 { color: red; }
h2 { color: green; }
h3 { color: blue; }

View File

@ -0,0 +1,41 @@
//generate a HTML5 file including all webpack bundles in the body using script tags
const HtmlWebpackPlugin = require('html-webpack-plugin');
//path is used to resolve properly across the OS
const path = require('path');
module.exports = {
//bundle *.js from this entry point
entry: path.resolve(__dirname, '../app/index.jsx'),
//create output file to be linked to index.html
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, '../dist'),
clean: true,
},
module: {
rules: [
{
//test all *.js using babel-loader
//test all *.jsx (e.g. React.js) using babel-loader
test: /\.(js|jsx)$/,
exclude: /node_modules/,
include: path.resolve(__dirname, '../app'),
use: ['babel-loader'],
},
{
//test all *.css using style-loader and css-loader
test: /\.css$/i,
use: ["style-loader", "css-loader"],
},
]
},
resolve: {
extensions: ['*', '.js', '.jsx'],
},
plugins: [
// create a plugin instance so that you can use it several times anywhere
new HtmlWebpackPlugin({
title: 'Production',
template: path.resolve(__dirname, "../public/index.html")
}),
],
};

View File

@ -0,0 +1,14 @@
//path is used to resolve properly across the OS
const path = require('path');
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
//merge() calls in the environment-specific configuration to include commons
module.exports = merge(common, {
//set development mode
mode: 'development',
//enable strong source mapping
devtool: 'inline-source-map',
devServer: {
static: path.resolve(__dirname, '../dist'),
},
});

View File

@ -0,0 +1,8 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
module.exports = merge(common, {
mode: 'production',
//source maps encouraged in production
//choose mapping with fairly quick build speed like source-map
devtool: 'source-map',
});

10934
csv-read2object/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,39 @@
{
"private": true,
"name": "react-example",
"description": "React.js example",
"version": "0.1.0",
"main": "index.js",
"keywords": [
"react",
"webpack"
],
"author": "Software Ingenieur Begerad <dialog@SwIngBe.de>",
"license": "GPL-3.0-or-later",
"engines": {
"node": ">=10"
},
"scripts": {
"start": "webpack serve --config config/webpack.dev.js",
"build": "webpack --config config/webpack.prod.js"
},
"devDependencies": {
"@babel/core": "7.21.4",
"@babel/preset-env": "7.21.4",
"@babel/preset-react": "7.18.6",
"babel-loader": "9.1.2",
"css-loader": "6.7.3",
"html-webpack-plugin": "5.5.1",
"style-loader": "3.3.2",
"webpack": "5.80.0",
"webpack-cli": "5.0.1",
"webpack-dev-server": "4.13.3",
"webpack-merge": "5.8.0"
},
"dependencies": {
"axios": "1.4.0",
"papaparse": "5.4.1",
"react": "18.2.0",
"react-dom": "18.2.0"
}
}

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>React Example</title>
</head>
<body>
<div id="root"></div>
</body>
</html>

View File

@ -15,16 +15,16 @@
"react-dom": "18.2.0"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-loader": "8.2.5",
"css-loader": "6.7.1",
"html-webpack-plugin": "5.5.0",
"style-loader": "3.3.1",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3",
"webpack-dev-server": "4.10.1",
"webpack-merge": "5.8.0"
},
"engines": {
@ -66,21 +66,21 @@
}
},
"node_modules/@babel/core": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz",
"integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
"integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-compilation-targets": "^7.18.9",
"@babel/helper-module-transforms": "^7.18.9",
"@babel/helpers": "^7.18.9",
"@babel/parser": "^7.18.9",
"@babel/template": "^7.18.6",
"@babel/traverse": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/template": "^7.18.10",
"@babel/traverse": "^7.18.13",
"@babel/types": "^7.18.13",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@ -96,12 +96,12 @@
}
},
"node_modules/@babel/generator": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
"integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
"dev": true,
"dependencies": {
"@babel/types": "^7.18.9",
"@babel/types": "^7.18.13",
"@jridgewell/gen-mapping": "^0.3.2",
"jsesc": "^2.5.1"
},
@ -204,15 +204,13 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
"integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
"integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
"dependencies": {
"@babel/helper-compilation-targets": "^7.13.0",
"@babel/helper-module-imports": "^7.12.13",
"@babel/helper-plugin-utils": "^7.13.0",
"@babel/traverse": "^7.13.0",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
"resolve": "^1.14.2",
@ -402,6 +400,15 @@
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
"integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
@ -464,9 +471,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@ -508,14 +515,14 @@
}
},
"node_modules/@babel/plugin-proposal-async-generator-functions": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz",
"integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
"integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/helper-remap-async-to-generator": "^7.18.6",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-plugin-utils": "^7.18.9",
"@babel/helper-remap-async-to-generator": "^7.18.9",
"@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
@ -1506,12 +1513,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
"integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
"integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.18.6"
"@babel/helper-plugin-utils": "^7.18.9"
},
"engines": {
"node": ">=6.9.0"
@ -1537,9 +1544,9 @@
}
},
"node_modules/@babel/preset-env": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz",
"integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
"integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.18.8",
@ -1548,7 +1555,7 @@
"@babel/helper-validator-option": "^7.18.6",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
"@babel/plugin-proposal-async-generator-functions": "^7.18.6",
"@babel/plugin-proposal-async-generator-functions": "^7.18.10",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-class-static-block": "^7.18.6",
"@babel/plugin-proposal-dynamic-import": "^7.18.6",
@ -1608,13 +1615,13 @@
"@babel/plugin-transform-sticky-regex": "^7.18.6",
"@babel/plugin-transform-template-literals": "^7.18.9",
"@babel/plugin-transform-typeof-symbol": "^7.18.9",
"@babel/plugin-transform-unicode-escapes": "^7.18.6",
"@babel/plugin-transform-unicode-escapes": "^7.18.10",
"@babel/plugin-transform-unicode-regex": "^7.18.6",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.18.9",
"babel-plugin-polyfill-corejs2": "^0.3.1",
"babel-plugin-polyfill-corejs3": "^0.5.2",
"babel-plugin-polyfill-regenerator": "^0.3.1",
"@babel/types": "^7.18.10",
"babel-plugin-polyfill-corejs2": "^0.3.2",
"babel-plugin-polyfill-corejs3": "^0.5.3",
"babel-plugin-polyfill-regenerator": "^0.4.0",
"core-js-compat": "^3.22.1",
"semver": "^6.3.0"
},
@ -1674,33 +1681,33 @@
}
},
"node_modules/@babel/template": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
"integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.18.6",
"@babel/parser": "^7.18.6",
"@babel/types": "^7.18.6"
"@babel/parser": "^7.18.10",
"@babel/types": "^7.18.10"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
"integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-function-name": "^7.18.9",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/parser": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/types": "^7.18.13",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@ -1709,11 +1716,12 @@
}
},
"node_modules/@babel/types": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
"integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.18.10",
"@babel/helper-validator-identifier": "^7.18.6",
"to-fast-properties": "^2.0.0"
},
@ -2364,13 +2372,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
"integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
"integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.13.11",
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/compat-data": "^7.17.7",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"semver": "^6.1.1"
},
"peerDependencies": {
@ -2378,12 +2386,12 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
"integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
"integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"core-js-compat": "^3.21.0"
},
"peerDependencies": {
@ -2391,12 +2399,12 @@
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
"integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
"integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.3.1"
"@babel/helper-define-polyfill-provider": "^0.3.2"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
@ -6045,9 +6053,9 @@
}
},
"node_modules/webpack": {
"version": "5.73.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz",
"integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==",
"version": "5.74.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
"integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
@ -6055,11 +6063,11 @@
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.9.3",
"enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -6072,7 +6080,7 @@
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"bin": {
@ -6224,9 +6232,9 @@
}
},
"node_modules/webpack-dev-server": {
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz",
"integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==",
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz",
"integrity": "sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw==",
"dev": true,
"dependencies": {
"@types/bonjour": "^3.5.9",
@ -6476,21 +6484,21 @@
"dev": true
},
"@babel/core": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz",
"integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
"integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
"dev": true,
"requires": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-compilation-targets": "^7.18.9",
"@babel/helper-module-transforms": "^7.18.9",
"@babel/helpers": "^7.18.9",
"@babel/parser": "^7.18.9",
"@babel/template": "^7.18.6",
"@babel/traverse": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/template": "^7.18.10",
"@babel/traverse": "^7.18.13",
"@babel/types": "^7.18.13",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@ -6499,12 +6507,12 @@
}
},
"@babel/generator": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
"integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
"dev": true,
"requires": {
"@babel/types": "^7.18.9",
"@babel/types": "^7.18.13",
"@jridgewell/gen-mapping": "^0.3.2",
"jsesc": "^2.5.1"
},
@ -6579,15 +6587,13 @@
}
},
"@babel/helper-define-polyfill-provider": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
"integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
"integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
"requires": {
"@babel/helper-compilation-targets": "^7.13.0",
"@babel/helper-module-imports": "^7.12.13",
"@babel/helper-plugin-utils": "^7.13.0",
"@babel/traverse": "^7.13.0",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
"resolve": "^1.14.2",
@ -6729,6 +6735,12 @@
"@babel/types": "^7.18.6"
}
},
"@babel/helper-string-parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
"integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
"dev": true
},
"@babel/helper-validator-identifier": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
@ -6776,9 +6788,9 @@
}
},
"@babel/parser": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"dev": true
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
@ -6802,14 +6814,14 @@
}
},
"@babel/plugin-proposal-async-generator-functions": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz",
"integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
"integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
"requires": {
"@babel/helper-environment-visitor": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/helper-remap-async-to-generator": "^7.18.6",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-plugin-utils": "^7.18.9",
"@babel/helper-remap-async-to-generator": "^7.18.9",
"@babel/plugin-syntax-async-generators": "^7.8.4"
}
},
@ -7443,12 +7455,12 @@
}
},
"@babel/plugin-transform-unicode-escapes": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
"integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
"integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.18.6"
"@babel/helper-plugin-utils": "^7.18.9"
}
},
"@babel/plugin-transform-unicode-regex": {
@ -7462,9 +7474,9 @@
}
},
"@babel/preset-env": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz",
"integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
"integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.18.8",
@ -7473,7 +7485,7 @@
"@babel/helper-validator-option": "^7.18.6",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
"@babel/plugin-proposal-async-generator-functions": "^7.18.6",
"@babel/plugin-proposal-async-generator-functions": "^7.18.10",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-class-static-block": "^7.18.6",
"@babel/plugin-proposal-dynamic-import": "^7.18.6",
@ -7533,13 +7545,13 @@
"@babel/plugin-transform-sticky-regex": "^7.18.6",
"@babel/plugin-transform-template-literals": "^7.18.9",
"@babel/plugin-transform-typeof-symbol": "^7.18.9",
"@babel/plugin-transform-unicode-escapes": "^7.18.6",
"@babel/plugin-transform-unicode-escapes": "^7.18.10",
"@babel/plugin-transform-unicode-regex": "^7.18.6",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.18.9",
"babel-plugin-polyfill-corejs2": "^0.3.1",
"babel-plugin-polyfill-corejs3": "^0.5.2",
"babel-plugin-polyfill-regenerator": "^0.3.1",
"@babel/types": "^7.18.10",
"babel-plugin-polyfill-corejs2": "^0.3.2",
"babel-plugin-polyfill-corejs3": "^0.5.3",
"babel-plugin-polyfill-regenerator": "^0.4.0",
"core-js-compat": "^3.22.1",
"semver": "^6.3.0"
}
@ -7581,40 +7593,41 @@
}
},
"@babel/template": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
"integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.18.6",
"@babel/parser": "^7.18.6",
"@babel/types": "^7.18.6"
"@babel/parser": "^7.18.10",
"@babel/types": "^7.18.10"
}
},
"@babel/traverse": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
"integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-function-name": "^7.18.9",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/parser": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/types": "^7.18.13",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
"integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
"dev": true,
"requires": {
"@babel/helper-string-parser": "^7.18.10",
"@babel/helper-validator-identifier": "^7.18.6",
"to-fast-properties": "^2.0.0"
}
@ -8183,33 +8196,33 @@
}
},
"babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
"integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
"integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.13.11",
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/compat-data": "^7.17.7",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"semver": "^6.1.1"
}
},
"babel-plugin-polyfill-corejs3": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
"integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
"integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"core-js-compat": "^3.21.0"
}
},
"babel-plugin-polyfill-regenerator": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
"integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
"integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.3.1"
"@babel/helper-define-polyfill-provider": "^0.3.2"
}
},
"balanced-match": {
@ -10936,9 +10949,9 @@
}
},
"webpack": {
"version": "5.73.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz",
"integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==",
"version": "5.74.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
"integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
@ -10946,11 +10959,11 @@
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.9.3",
"enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -10963,7 +10976,7 @@
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"dependencies": {
@ -11063,9 +11076,9 @@
}
},
"webpack-dev-server": {
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz",
"integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==",
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz",
"integrity": "sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw==",
"dev": true,
"requires": {
"@types/bonjour": "^3.5.9",

View File

@ -18,16 +18,16 @@
"build": "webpack --config config/webpack.prod.js"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-loader": "8.2.5",
"css-loader": "6.7.1",
"html-webpack-plugin": "5.5.0",
"style-loader": "3.3.1",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3",
"webpack-dev-server": "4.10.1",
"webpack-merge": "5.8.0"
},
"dependencies": {

View File

@ -9,13 +9,13 @@
"version": "1.0.1",
"license": "GPL-3.0-or-later",
"dependencies": {
"axios": "^0.21.4",
"axios": "^0.27.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-eslint": "10.1.0",
"babel-loader": "8.2.5",
@ -29,9 +29,9 @@
"less-loader": "10.2.0",
"prettier": "2.7.1",
"style-loader": "3.3.1",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3"
"webpack-dev-server": "4.10.1"
}
},
"node_modules/@ampproject/remapping": {
@ -69,21 +69,21 @@
}
},
"node_modules/@babel/core": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz",
"integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
"integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-compilation-targets": "^7.18.9",
"@babel/helper-module-transforms": "^7.18.9",
"@babel/helpers": "^7.18.9",
"@babel/parser": "^7.18.9",
"@babel/template": "^7.18.6",
"@babel/traverse": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/template": "^7.18.10",
"@babel/traverse": "^7.18.13",
"@babel/types": "^7.18.13",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@ -99,12 +99,12 @@
}
},
"node_modules/@babel/generator": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
"integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
"dev": true,
"dependencies": {
"@babel/types": "^7.18.9",
"@babel/types": "^7.18.13",
"@jridgewell/gen-mapping": "^0.3.2",
"jsesc": "^2.5.1"
},
@ -207,15 +207,13 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
"integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
"integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
"dependencies": {
"@babel/helper-compilation-targets": "^7.13.0",
"@babel/helper-module-imports": "^7.12.13",
"@babel/helper-plugin-utils": "^7.13.0",
"@babel/traverse": "^7.13.0",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
"resolve": "^1.14.2",
@ -405,6 +403,15 @@
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
"integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
@ -467,9 +474,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@ -511,14 +518,14 @@
}
},
"node_modules/@babel/plugin-proposal-async-generator-functions": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz",
"integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
"integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
"dependencies": {
"@babel/helper-environment-visitor": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/helper-remap-async-to-generator": "^7.18.6",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-plugin-utils": "^7.18.9",
"@babel/helper-remap-async-to-generator": "^7.18.9",
"@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
@ -1509,12 +1516,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
"integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
"integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.18.6"
"@babel/helper-plugin-utils": "^7.18.9"
},
"engines": {
"node": ">=6.9.0"
@ -1540,9 +1547,9 @@
}
},
"node_modules/@babel/preset-env": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz",
"integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
"integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.18.8",
@ -1551,7 +1558,7 @@
"@babel/helper-validator-option": "^7.18.6",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
"@babel/plugin-proposal-async-generator-functions": "^7.18.6",
"@babel/plugin-proposal-async-generator-functions": "^7.18.10",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-class-static-block": "^7.18.6",
"@babel/plugin-proposal-dynamic-import": "^7.18.6",
@ -1611,13 +1618,13 @@
"@babel/plugin-transform-sticky-regex": "^7.18.6",
"@babel/plugin-transform-template-literals": "^7.18.9",
"@babel/plugin-transform-typeof-symbol": "^7.18.9",
"@babel/plugin-transform-unicode-escapes": "^7.18.6",
"@babel/plugin-transform-unicode-escapes": "^7.18.10",
"@babel/plugin-transform-unicode-regex": "^7.18.6",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.18.9",
"babel-plugin-polyfill-corejs2": "^0.3.1",
"babel-plugin-polyfill-corejs3": "^0.5.2",
"babel-plugin-polyfill-regenerator": "^0.3.1",
"@babel/types": "^7.18.10",
"babel-plugin-polyfill-corejs2": "^0.3.2",
"babel-plugin-polyfill-corejs3": "^0.5.3",
"babel-plugin-polyfill-regenerator": "^0.4.0",
"core-js-compat": "^3.22.1",
"semver": "^6.3.0"
},
@ -1677,33 +1684,33 @@
}
},
"node_modules/@babel/template": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
"integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.18.6",
"@babel/parser": "^7.18.6",
"@babel/types": "^7.18.6"
"@babel/parser": "^7.18.10",
"@babel/types": "^7.18.10"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
"integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-function-name": "^7.18.9",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/parser": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/types": "^7.18.13",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@ -1712,11 +1719,12 @@
}
},
"node_modules/@babel/types": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
"integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.18.10",
"@babel/helper-validator-identifier": "^7.18.6",
"to-fast-properties": "^2.0.0"
},
@ -2448,12 +2456,18 @@
"node": ">=8"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
"version": "0.21.4",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dependencies": {
"follow-redirects": "^1.14.0"
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
}
},
"node_modules/babel-eslint": {
@ -2506,13 +2520,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
"integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
"integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.13.11",
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/compat-data": "^7.17.7",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"semver": "^6.1.1"
},
"peerDependencies": {
@ -2520,12 +2534,12 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
"integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
"integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"core-js-compat": "^3.21.0"
},
"peerDependencies": {
@ -2533,12 +2547,12 @@
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
"integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
"integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.3.1"
"@babel/helper-define-polyfill-provider": "^0.3.2"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
@ -2862,6 +2876,17 @@
"integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
"dev": true
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/commander": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
@ -3198,6 +3223,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@ -4195,6 +4228,19 @@
}
}
},
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@ -5502,7 +5548,6 @@
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
@ -5511,7 +5556,6 @@
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"dependencies": {
"mime-db": "1.52.0"
},
@ -7583,9 +7627,9 @@
}
},
"node_modules/webpack": {
"version": "5.73.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz",
"integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==",
"version": "5.74.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
"integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
@ -7593,11 +7637,11 @@
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.9.3",
"enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -7610,7 +7654,7 @@
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"bin": {
@ -7762,9 +7806,9 @@
}
},
"node_modules/webpack-dev-server": {
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz",
"integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==",
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz",
"integrity": "sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw==",
"dev": true,
"dependencies": {
"@types/bonjour": "^3.5.9",
@ -8060,21 +8104,21 @@
"dev": true
},
"@babel/core": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz",
"integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz",
"integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==",
"dev": true,
"requires": {
"@ampproject/remapping": "^2.1.0",
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-compilation-targets": "^7.18.9",
"@babel/helper-module-transforms": "^7.18.9",
"@babel/helpers": "^7.18.9",
"@babel/parser": "^7.18.9",
"@babel/template": "^7.18.6",
"@babel/traverse": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/template": "^7.18.10",
"@babel/traverse": "^7.18.13",
"@babel/types": "^7.18.13",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@ -8083,12 +8127,12 @@
}
},
"@babel/generator": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz",
"integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz",
"integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==",
"dev": true,
"requires": {
"@babel/types": "^7.18.9",
"@babel/types": "^7.18.13",
"@jridgewell/gen-mapping": "^0.3.2",
"jsesc": "^2.5.1"
},
@ -8163,15 +8207,13 @@
}
},
"@babel/helper-define-polyfill-provider": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
"integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz",
"integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==",
"dev": true,
"requires": {
"@babel/helper-compilation-targets": "^7.13.0",
"@babel/helper-module-imports": "^7.12.13",
"@babel/helper-plugin-utils": "^7.13.0",
"@babel/traverse": "^7.13.0",
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
"resolve": "^1.14.2",
@ -8313,6 +8355,12 @@
"@babel/types": "^7.18.6"
}
},
"@babel/helper-string-parser": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz",
"integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==",
"dev": true
},
"@babel/helper-validator-identifier": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
@ -8360,9 +8408,9 @@
}
},
"@babel/parser": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==",
"dev": true
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
@ -8386,14 +8434,14 @@
}
},
"@babel/plugin-proposal-async-generator-functions": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz",
"integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz",
"integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==",
"dev": true,
"requires": {
"@babel/helper-environment-visitor": "^7.18.6",
"@babel/helper-plugin-utils": "^7.18.6",
"@babel/helper-remap-async-to-generator": "^7.18.6",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-plugin-utils": "^7.18.9",
"@babel/helper-remap-async-to-generator": "^7.18.9",
"@babel/plugin-syntax-async-generators": "^7.8.4"
}
},
@ -9027,12 +9075,12 @@
}
},
"@babel/plugin-transform-unicode-escapes": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz",
"integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
"integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.18.6"
"@babel/helper-plugin-utils": "^7.18.9"
}
},
"@babel/plugin-transform-unicode-regex": {
@ -9046,9 +9094,9 @@
}
},
"@babel/preset-env": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz",
"integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz",
"integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.18.8",
@ -9057,7 +9105,7 @@
"@babel/helper-validator-option": "^7.18.6",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
"@babel/plugin-proposal-async-generator-functions": "^7.18.6",
"@babel/plugin-proposal-async-generator-functions": "^7.18.10",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-class-static-block": "^7.18.6",
"@babel/plugin-proposal-dynamic-import": "^7.18.6",
@ -9117,13 +9165,13 @@
"@babel/plugin-transform-sticky-regex": "^7.18.6",
"@babel/plugin-transform-template-literals": "^7.18.9",
"@babel/plugin-transform-typeof-symbol": "^7.18.9",
"@babel/plugin-transform-unicode-escapes": "^7.18.6",
"@babel/plugin-transform-unicode-escapes": "^7.18.10",
"@babel/plugin-transform-unicode-regex": "^7.18.6",
"@babel/preset-modules": "^0.1.5",
"@babel/types": "^7.18.9",
"babel-plugin-polyfill-corejs2": "^0.3.1",
"babel-plugin-polyfill-corejs3": "^0.5.2",
"babel-plugin-polyfill-regenerator": "^0.3.1",
"@babel/types": "^7.18.10",
"babel-plugin-polyfill-corejs2": "^0.3.2",
"babel-plugin-polyfill-corejs3": "^0.5.3",
"babel-plugin-polyfill-regenerator": "^0.4.0",
"core-js-compat": "^3.22.1",
"semver": "^6.3.0"
}
@ -9165,40 +9213,41 @@
}
},
"@babel/template": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz",
"integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==",
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
"integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.18.6",
"@babel/parser": "^7.18.6",
"@babel/types": "^7.18.6"
"@babel/parser": "^7.18.10",
"@babel/types": "^7.18.10"
}
},
"@babel/traverse": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz",
"integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz",
"integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.18.9",
"@babel/generator": "^7.18.13",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-function-name": "^7.18.9",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/parser": "^7.18.9",
"@babel/types": "^7.18.9",
"@babel/parser": "^7.18.13",
"@babel/types": "^7.18.13",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz",
"integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==",
"version": "7.18.13",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz",
"integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==",
"dev": true,
"requires": {
"@babel/helper-string-parser": "^7.18.10",
"@babel/helper-validator-identifier": "^7.18.6",
"to-fast-properties": "^2.0.0"
}
@ -9831,12 +9880,18 @@
"integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
"dev": true
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"axios": {
"version": "0.21.4",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"requires": {
"follow-redirects": "^1.14.0"
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
}
},
"babel-eslint": {
@ -9875,33 +9930,33 @@
}
},
"babel-plugin-polyfill-corejs2": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
"integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz",
"integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.13.11",
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/compat-data": "^7.17.7",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"semver": "^6.1.1"
}
},
"babel-plugin-polyfill-corejs3": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
"integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz",
"integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==",
"dev": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.3.1",
"@babel/helper-define-polyfill-provider": "^0.3.2",
"core-js-compat": "^3.21.0"
}
},
"babel-plugin-polyfill-regenerator": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
"integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz",
"integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==",
"dev": true,
"requires": {
"@babel/helper-define-polyfill-provider": "^0.3.1"
"@babel/helper-define-polyfill-provider": "^0.3.2"
}
},
"balanced-match": {
@ -10147,6 +10202,14 @@
"integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
"dev": true
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
@ -10392,6 +10455,11 @@
"object-keys": "^1.1.1"
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@ -11145,6 +11213,16 @@
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
},
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
},
"forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@ -12080,14 +12158,12 @@
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
},
"mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"requires": {
"mime-db": "1.52.0"
}
@ -13648,9 +13724,9 @@
}
},
"webpack": {
"version": "5.73.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz",
"integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==",
"version": "5.74.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz",
"integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
@ -13658,11 +13734,11 @@
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
"acorn": "^8.4.1",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.9.3",
"enhanced-resolve": "^5.10.0",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
@ -13675,7 +13751,7 @@
"schema-utils": "^3.1.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.3",
"watchpack": "^2.3.1",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"dependencies": {
@ -13788,9 +13864,9 @@
}
},
"webpack-dev-server": {
"version": "4.9.3",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz",
"integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==",
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.10.1.tgz",
"integrity": "sha512-FIzMq3jbBarz3ld9l7rbM7m6Rj1lOsgq/DyLGMX/fPEB1UBUPtf5iL/4eNfhx8YYJTRlzfv107UfWSWcBK5Odw==",
"dev": true,
"requires": {
"@types/bonjour": "^3.5.9",

View File

@ -13,13 +13,13 @@
"author": "Stefan Begerad",
"license": "GPL-3.0-or-later",
"dependencies": {
"axios": "^0.21.4",
"axios": "^0.27.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
"devDependencies": {
"@babel/core": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/core": "7.18.13",
"@babel/preset-env": "7.18.10",
"@babel/preset-react": "7.18.6",
"babel-eslint": "10.1.0",
"babel-loader": "8.2.5",
@ -33,8 +33,8 @@
"less-loader": "10.2.0",
"prettier": "2.7.1",
"style-loader": "3.3.1",
"webpack": "5.73.0",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.9.3"
"webpack-dev-server": "4.10.1"
}
}

Some files were not shown because too many files have changed in this diff Show More