Compare commits
7 Commits
0.1.0
...
dev/link-t
Author | SHA1 | Date | |
---|---|---|---|
64e1492d76 | |||
6c69245bda | |||
![]() |
05704ac899 | ||
ebf5f3524f | |||
![]() |
ad91e6f7a2 | ||
15017dcfb3 | |||
![]() |
f613e60b3e |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,5 @@
|
||||
.vscode/*
|
||||
dist/*
|
||||
node_modules/*
|
||||
release/*
|
||||
|
||||
|
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Max P.
|
||||
Copyright (c) 2023 M. Passarello
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
33
bump-version.js
Normal file
33
bump-version.js
Normal file
@@ -0,0 +1,33 @@
|
||||
//bump-version.js
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const packageJsonPath = path.join(__dirname, 'package.json');
|
||||
const packageJson = require(packageJsonPath);
|
||||
|
||||
// Bestimmen des Versionsteils, der erhöht werden soll
|
||||
const versionPart = process.argv[2]; // 'major', 'minor', 'patch'
|
||||
|
||||
let versionParts = packageJson.version.split('.').map(part => parseInt(part));
|
||||
|
||||
switch (versionPart) {
|
||||
case 'major':
|
||||
versionParts[0]++;
|
||||
versionParts[1] = 0;
|
||||
versionParts[2] = 0;
|
||||
break;
|
||||
case 'minor':
|
||||
versionParts[1]++;
|
||||
versionParts[2] = 0;
|
||||
break;
|
||||
case 'patch':
|
||||
default:
|
||||
versionParts[2]++;
|
||||
break;
|
||||
}
|
||||
|
||||
packageJson.version = versionParts.join('.');
|
||||
|
||||
// Zurückschreiben der package.json
|
||||
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
||||
console.log(`Version updated to ${packageJson.version}`);
|
17
copy-release-docs.js
Normal file
17
copy-release-docs.js
Normal file
@@ -0,0 +1,17 @@
|
||||
//copy-release-docs.js
|
||||
// Zweck: Kopiert die Dateien aus dem Ordner "public" in den Ordner "docs" und die Datei "dist/bundle.js" in den Ordner "docs/bundle.js"
|
||||
const copy = require('fs-extra').copy;
|
||||
|
||||
// Funktion zum Kopieren von Dateien
|
||||
async function copyFiles() {
|
||||
try {
|
||||
await copy('public', 'docs');
|
||||
await copy('dist/bundle.js', 'docs/bundle.js');
|
||||
console.log('Dateien erfolgreich kopiert.');
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Kopieren der Dateien:', error);
|
||||
}
|
||||
}
|
||||
|
||||
// Kopiervorgang starten
|
||||
copyFiles();
|
2
docs/bundle.js
Normal file
2
docs/bundle.js
Normal file
@@ -0,0 +1,2 @@
|
||||
(()=>{"use strict";var e={953:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,n){this.reminderPrefix="Erinnerung: ",this.icsContent=e,this.reminderDays=t,this.reminderHours=n}modifyEvents(){return this.icsContent.replace(/BEGIN:VEVENT.*?END:VEVENT/gs,(e=>{const t=e.match(/SUMMARY:(.*)\r\n/),n=t?t[1]:"",r=this.createTriggerValue(),o=this.createVAlarmString(this.reminderPrefix+n,r);return e.replace(/END:VEVENT/,o+"END:VEVENT")}))}createVAlarmString(e,t){let n="BEGIN:VALARM\r\n";return n+="ACTION:DISPLAY\r\n",n+=`DESCRIPTION:${e}\r\n`,n+=`TRIGGER:${t}\r\n`,n+="END:VALARM\r\n",n}createTriggerValue(){const e=0===this.reminderHours?0:24-this.reminderHours;return`-P${this.reminderDays}DT${e}H0M0S`}}},519:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(n(953));function s(e){!function(){const e=document.getElementById("download-area");e&&e.classList.remove("show-download-area")}();const t=document.getElementById("ical-upload"),n=document.getElementById("reminder-days-select"),r=document.getElementById("reminder-hours-select"),s=parseInt(n.value,10),d=parseInt(r.value,10),i=t.files?t.files[0]:null;if(i){console.log("File uploaded:",i.name);const e=new FileReader;e.onload=e=>{var t;const n=null===(t=e.target)||void 0===t?void 0:t.result;if("string"==typeof n){console.log("File content readable..");const e=new o.default(n,s,d).modifyEvents(),t=function(e){const t=e.lastIndexOf(".");return-1===t?e+" with reminders":e.substring(0,t)+" with reminders"+e.substring(t)}(i.name),r=new Blob([e],{type:"text/calendar"});!function(e,t){const n=document.getElementById("download-area"),r=document.getElementById("download-button");n&&r&&(r.href=t,r.download=e,setTimeout((()=>n.classList.add("show-download-area")),0),document.getElementById("work-button").disabled=!0)}(t,URL.createObjectURL(r))}},e.readAsText(i)}}document.addEventListener("DOMContentLoaded",(()=>{console.log("Loading the WebApp...");const e=document.getElementById("work-button");document.getElementById("ical-upload").addEventListener("change",(()=>{e.disabled=!1})),e.addEventListener("click",s)}))}},t={};!function n(r){var o=t[r];if(void 0!==o)return o.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}(519)})();
|
||||
//# sourceMappingURL=bundle.js.map
|
31
docs/github-corner.css
Normal file
31
docs/github-corner.css
Normal file
@@ -0,0 +1,31 @@
|
||||
.github-corner:hover .octo-arm {
|
||||
animation: octocat-wave 560ms ease-in-out
|
||||
}
|
||||
|
||||
@keyframes octocat-wave {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
transform: rotate(0)
|
||||
}
|
||||
|
||||
20%,
|
||||
60% {
|
||||
transform: rotate(-25deg)
|
||||
}
|
||||
|
||||
40%,
|
||||
80% {
|
||||
transform: rotate(10deg)
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:500px) {
|
||||
.github-corner:hover .octo-arm {
|
||||
animation: none
|
||||
}
|
||||
|
||||
.github-corner .octo-arm {
|
||||
animation: octocat-wave 560ms ease-in-out
|
||||
}
|
||||
}
|
170
docs/index.css
Normal file
170
docs/index.css
Normal file
@@ -0,0 +1,170 @@
|
||||
html {
|
||||
min-height: 100vh;
|
||||
min-width: 100vw;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100vw;
|
||||
min-height: 100vh;
|
||||
height: auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
|
||||
#app-content {
|
||||
width: 60%;
|
||||
max-width: 880px;
|
||||
padding: 30px 40px;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #ffffff;
|
||||
background-image: linear-gradient(to right, #ffffff, #e6e6e6);
|
||||
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
|
||||
border-radius: 25px;
|
||||
}
|
||||
|
||||
#app-content .header {
|
||||
width: 90%;
|
||||
height: auto;
|
||||
margin-bottom: 10px;
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
||||
#app-content .logo {
|
||||
width: 30%;
|
||||
height: auto;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#app-content .description {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#working-area .areas {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
#reminder-setting-area .reminder-days,
|
||||
#reminder-setting-area .reminder-hours {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#upload-area .button,
|
||||
#upload-area .file-input {
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 15px;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
transition: background-color 0.3s, box-shadow 0.3s;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#upload-area .button:hover,
|
||||
#upload-area .file-input:hover {
|
||||
background-color: #007BFF;
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
#upload-area .file-input {
|
||||
display: block;
|
||||
width: 80%;
|
||||
color: #555;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
#upload-area .button {
|
||||
background-color: #28a745;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#upload-area .button:disabled {
|
||||
background-color: #cccccc;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
#upload-area #ical-upload {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
#upload-area #ical-upload-label {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#upload-area #ical-upload-label:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
#app-content #download-area {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
height: 0;
|
||||
opacity: 0;
|
||||
transition: height 1.5s ease, opacity 0.5s ease;
|
||||
}
|
||||
|
||||
#app-content #download-area.show-download-area {
|
||||
height: 175px;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#app-content #download-button {
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
padding: 10px 20px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
margin: 4px 2px;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
#app-content #download-button:hover {
|
||||
background-color: #45a049;
|
||||
}
|
||||
|
||||
#app-content #footer {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
h1,
|
||||
a {
|
||||
text-wrap: nowrap;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
h1 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
#app-content #download-area.show-download-area {
|
||||
height: 290px;
|
||||
}
|
||||
}
|
134
docs/index.html
Normal file
134
docs/index.html
Normal file
@@ -0,0 +1,134 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>AbfallAlarm</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Responsive design meta tag -->
|
||||
<meta name="description" content="AbfallAlarm, eine benutzerfreundliche WebApp, die darauf abzielt, das Leben der
|
||||
Bürger von Arnsberg zu vereinfachen.">
|
||||
<link rel="stylesheet" href="./index.css">
|
||||
<link rel="stylesheet" href="./github-corner.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href="https://github.com/PxaMMaxP/AbfallAlarm" class="github-corner" aria-label="View source on GitHub"><svg
|
||||
width="80" height="80" viewBox="0 0 250 250"
|
||||
style="fill:#64CEAA; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true">
|
||||
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
|
||||
<path
|
||||
d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
|
||||
fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
|
||||
<path
|
||||
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
|
||||
fill="currentColor" class="octo-body"></path>
|
||||
</svg></a>
|
||||
|
||||
|
||||
<div id="app-content">
|
||||
<!-- Header Section -->
|
||||
<div class="header">
|
||||
<h1>Abfall Alarm</h1>
|
||||
</div>
|
||||
|
||||
<!-- Logo Section -->
|
||||
<div class="logo">
|
||||
<img src="logo.svg" alt="Abfall Alarm Logo">
|
||||
</div>
|
||||
|
||||
<!-- Description Text -->
|
||||
<div class="description">
|
||||
<p><b>Abfall Alarm</b> ist eine intuitive und benutzerfreundliche WebApp, die darauf abzielt, das Leben der
|
||||
Bürger von Arnsberg zu vereinfachen, indem sie eine zuverlässige Erinnerungsfunktion für den städtischen
|
||||
Abfallkalender bietet.</p>
|
||||
|
||||
<p>Mit dieser App können Nutzer ihre iCalendar (.ics) Dateien für den Abfallkalender der Stadt Arnsberg
|
||||
hochladen und automatisch Erinnerungen für jeden Abholtermin hinzufügen.</p>
|
||||
|
||||
<p>Laden Sie sich bitte zuerst eine entsprechende <b>iCal-Datei</b> von der Stadt Arnsberg herunter:
|
||||
<a href="https://web.c-trace.de/arnsberg-abfallkalender/(S(ujf4cewvsnomrdo0l5zcrkph))/"
|
||||
target="_blank">Quelle</a>. Kommen Sie danach zurück und folgen Sie den Anweisungen unten.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Working Area -->
|
||||
<div class="working-area">
|
||||
<!-- Reminder Settings -->
|
||||
<div id="reminder-setting-area" class="areas">
|
||||
<h2>1. Erinnerung einstellen</h2>
|
||||
<p>Wählen Sie aus, wann Sie an die Abfuhr erinnert werden möchten.</p>
|
||||
<div class="reminder-days">
|
||||
<label for="reminder-days-select">Tage vor Abfuhr erinnern:</label>
|
||||
<select id="reminder-days-select">
|
||||
<!-- Options for days -->
|
||||
<option value="0">Am Tag selbst</option>
|
||||
<option value="1" selected>1 Tag</option>
|
||||
<option value="2">2 Tage</option>
|
||||
<option value="3">3 Tage</option>
|
||||
<option value="4">4 Tage</option>
|
||||
<option value="5">5 Tage</option>
|
||||
<option value="6">6 Tage</option>
|
||||
<option value="7">7 Tage</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="reminder-hours">
|
||||
<label for="reminder-hours-select">Uhrzeit:</label>
|
||||
<select id="reminder-hours-select">
|
||||
<!-- Options for hours -->
|
||||
<option value="0">00:00 Uhr</option>
|
||||
<option value="1">01:00 Uhr</option>
|
||||
<option value="2">02:00 Uhr</option>
|
||||
<option value="3">03:00 Uhr</option>
|
||||
<option value="4">04:00 Uhr</option>
|
||||
<option value="5">05:00 Uhr</option>
|
||||
<option value="6">06:00 Uhr</option>
|
||||
<option value="7">07:00 Uhr</option>
|
||||
<option value="8">08:00 Uhr</option>
|
||||
<option value="9">09:00 Uhr</option>
|
||||
<option value="10">10:00 Uhr</option>
|
||||
<option value="11">11:00 Uhr</option>
|
||||
<option value="12" selected>12:00 Uhr</option>
|
||||
<option value="13">13:00 Uhr</option>
|
||||
<option value="14">14:00 Uhr</option>
|
||||
<option value="15">15:00 Uhr</option>
|
||||
<option value="16">16:00 Uhr</option>
|
||||
<option value="17">17:00 Uhr</option>
|
||||
<option value="18">18:00 Uhr</option>
|
||||
<option value="19">19:00 Uhr</option>
|
||||
<option value="20">20:00 Uhr</option>
|
||||
<option value="21">21:00 Uhr</option>
|
||||
<option value="22">22:00 Uhr</option>
|
||||
<option value="23">23:00 Uhr</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Upload Section -->
|
||||
<div id="upload-area" class="areas">
|
||||
<h2>2. Abfallkalender hochladen</h2>
|
||||
<p>Wählen Sie Ihren Abfallkalender aus und klicken Sie danach auf den 'Kalender bearbeiten'-Button.</p>
|
||||
<!-- Hidden upload field for .ical file and label as a button replacement -->
|
||||
<input type="file" id="ical-upload" accept=".ics">
|
||||
<label for="ical-upload" id="ical-upload-label" class="button file-input">Datei auswählen...</label>
|
||||
<button id="work-button" class="button" disabled>Kalender bearbeiten..</button>
|
||||
</div>
|
||||
|
||||
<!-- Download Section -->
|
||||
<div id="download-area" class="areas">
|
||||
<h2>3. Abfallkalender inkl. Erinnerungen herunterladen</h2>
|
||||
<p>Wenn Sie Ihren Abfallkalender inkl. Erinnerungen herunterladen möchten, klicken Sie auf den
|
||||
folgenden Button.</p>
|
||||
<a id="download-button">Herunterladen</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer Section -->
|
||||
<div id="footer">
|
||||
M. Passarello | <a href="https://github.com/PxaMMaxP" target="_blank">Github Profil</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="./bundle.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
41
docs/logo.svg
Normal file
41
docs/logo.svg
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Creator: CorelDRAW 2019 (64-Bit) -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
|
||||
viewBox="174 330 710 715"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
|
||||
<defs>
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.fil1 {fill:#363636}
|
||||
.fil5 {fill:#383838}
|
||||
.fil2 {fill:#79929E}
|
||||
.fil4 {fill:#9DBACD}
|
||||
.fil3 {fill:#D04C7C}
|
||||
.fil6 {fill:#E0EEFE}
|
||||
.fil0 {fill:#E1EFFF}
|
||||
]]>
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Ebene_x0020_1">
|
||||
<metadata id="CorelCorpID_0Corel-Layer"/>
|
||||
<g id="_1996037455472">
|
||||
<path class="fil0" d="M366.28 926.47l25.19 0 -24.46 -267.19c-8.66,-3.19 -11.8,-1.89 -17.69,-8.14 -11.18,-11.85 -9.02,-43.36 6.61,-54.99 12.75,-9.48 24.1,-7.45 41.88,-7.45 16.29,0 32.59,0 48.89,0 1.47,-11.21 -5.22,-40.73 17.98,-45.72 7.52,-1.61 120,-1.61 127.47,0.01 7.76,1.68 14.46,8.81 16.55,16.11 2.4,8.41 0.21,20.25 1.44,29.6 16.75,0 33.5,0 50.25,0 17.63,0 29.17,-1.47 41.29,8.04 15,11.75 20.03,52.01 -2.21,59.95 -2.14,0.77 -3.36,0.74 -5.32,1.31 -6.45,1.87 5.19,-1.86 -2.22,0.74l-25.52 254.91 151.86 0.11c23.42,-0.77 35.23,-16.47 35.26,-40.35 0.03,-36.32 1.67,-365.52 -0.61,-377.57l-649 0c-2.35,12.38 -0.54,335.37 -0.59,372.13 -0.03,19.18 2.65,40.15 28.19,45.09 11.58,2.25 88.21,0.77 110.51,0.72 15.61,-0.04 21.18,-1.75 24.25,12.69z"/>
|
||||
<path class="fil1" d="M390.29 658.32l275.54 0c-4.71,73.71 -13.22,148.56 -20.04,222.14 -3.44,37.08 -6.84,73.76 -10.34,110.88 -0.99,10.52 -3.74,15.08 -14.44,15.38 -44.08,1.22 -106.41,-0.03 -152.45,-0.03 -29.19,0 -45.17,4.63 -47.14,-14.17 -3.85,-36.87 -6.95,-73.91 -10.3,-110.81 -6.73,-74.11 -15.44,-149.18 -20.83,-223.39zm-98.22 -325.05l9.41 0c3.86,0.53 7.62,1.71 11.1,3.6 18.09,9.83 18.56,22.88 18.56,42.66l46.26 0c0,-16.96 -0.28,-23.23 7.32,-33.49 5.93,-8 14.78,-12.16 25.07,-12.77l5.53 0c25.39,1.46 32.83,22.6 32.83,46.26l44.9 0c0,-15.24 0.39,-24.79 7.79,-33.02 6.76,-7.53 14.56,-11.94 22.55,-13.24l10.06 0c7.99,1.3 15.79,5.71 22.55,13.24 7.4,8.23 7.79,17.78 7.79,33.02l44.9 0c0,-14.38 1.39,-24.76 7.91,-32.91 6.03,-7.55 14.75,-12.15 23.76,-13.35l9.42 0c3.86,0.53 7.62,1.71 11.1,3.6 4.55,2.48 8.25,5.14 11.24,9.17 7.6,10.26 7.32,16.53 7.32,33.49l46.26 0c0,-19.78 0.47,-32.83 18.56,-42.66 3.48,-1.89 7.24,-3.07 11.1,-3.6l9.41 0c9.02,1.2 17.74,5.8 23.77,13.35 6.52,8.15 7.91,18.53 7.91,32.91 33.46,0 51.07,-1.04 70.19,25.04 2.08,2.85 3.32,4.67 4.67,7.58 3.79,8.22 5.05,15.48 5.41,23.86l0 23.79 0 371.43 0 53.2c-1.64,13.18 -6.11,24.82 -17.11,35.82 -23.79,23.79 -54.34,17.1 -89.01,17.1 -35.38,0 -70.75,0 -106.13,0 -0.68,8.21 -2.48,18.33 -2.71,27.22 -0.23,8.71 -2.37,18.39 -2.73,27.2 -1.09,26.74 -15.35,35.56 -33.26,38.1l-45.65 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -1.82 0 -1.83 0 -1.83 0 -1.83 0 -1.83 0 -28.47 0c-15.64,-1.24 -30.24,-6.43 -34.93,-25.04 -3.57,-14.19 -6.18,-73.43 -8.24,-78.36l-24.46 -267.19c-8.66,-3.19 -11.8,-1.89 -17.69,-8.14 -11.18,-11.85 -9.02,-43.36 6.61,-54.99 12.75,-9.48 24.1,-7.45 41.88,-7.45 16.29,0 32.59,0 48.89,0 1.47,-11.21 -5.22,-40.73 17.98,-45.72 7.52,-1.61 120,-1.61 127.47,0.01 7.76,1.68 14.46,8.81 16.55,16.11 2.4,8.41 0.21,20.25 1.44,29.6 16.75,0 33.5,0 50.25,0 17.63,0 29.17,-1.47 41.29,8.04 15,11.75 20.03,52.01 -2.21,59.95 -2.14,0.77 -3.36,0.74 -5.32,1.31 -6.45,1.87 5.19,-1.86 -2.22,0.74l-25.52 254.91 151.86 0.11c23.42,-0.77 35.23,-16.47 35.26,-40.35 0.03,-36.32 1.67,-365.52 -0.61,-377.57l-649 0c-2.35,12.38 -0.54,335.37 -0.59,372.13 -0.03,19.18 2.65,40.15 28.19,45.09 11.58,2.25 88.21,0.77 110.51,0.72 15.61,-0.04 21.18,-1.75 24.25,12.69 -2.71,7.1 -2.79,10.97 -16.04,10.94 -23.74,-0.06 -110.51,2.16 -128.25,-2.47 -10.34,-2.69 -17.71,-7.97 -24.95,-14.51 -1.46,-1.31 -4.31,-4.88 -5.67,-6.58 -1.73,-2.17 -3.77,-5.7 -5.27,-8.33 -5.64,-9.86 -5.97,-21.05 -5.98,-32.38l0 -0.55 0 -0.54 0 -364.63 0 -65.15c0.88,-13.75 2.83,-25.88 6.81,-32.8 5.93,-10.28 15.75,-20.25 26.75,-24.95 15.17,-6.47 26.32,-4.99 46.71,-4.99 0,-14.38 1.39,-24.76 7.91,-32.91 6.03,-7.55 14.75,-12.15 23.77,-13.35zm398.64 301.88l-325.56 0c-0.84,-29.9 8.38,-23.26 70.75,-23.26l231.29 0c20.96,-0.04 25.13,0.74 23.52,23.26zm-220.11 -69.7l115.93 0.59 -0.26 22.45 -4.79 0.24 -106.13 0.07 -4.95 -0.41 0.2 -22.94zm-267.28 -92.96c0,-41.26 -6.5,-74.84 57.9,-69.3 0.88,14.81 -0.31,22.44 7.87,32.91 13.62,17.42 40.14,18.06 55.19,-0.81 6.7,-8.41 6.03,-19.83 7.2,-32.38l45.74 0c1.09,13.59 0.12,24.55 7.65,33.12 16.36,18.62 41.76,17.12 55.16,-0.71 8.55,-11.37 6.41,-17.42 7.29,-32.36l45.9 -0.05c1.69,15.55 -0.36,21.03 7.56,32.83 4.47,6.67 14.86,13.55 27.64,13.55 34.55,-0.01 33.68,-32.43 35.2,-46.4l45.9 0.3c0.88,14.81 -0.32,22.44 7.87,32.91 13.62,17.42 40.14,18.06 55.19,-0.81 6.7,-8.41 6.03,-19.83 7.03,-32.38l45.91 0c1.09,13.59 0.12,24.55 7.65,33.12 6,6.82 14.88,13.46 27.91,13.25 13.31,-0.21 22.14,-7.16 27.25,-13.96 8.55,-11.37 6.41,-17.42 7.29,-32.13 21.49,-1.85 40.62,-0.19 50.15,12.75 11.11,15.09 7.75,35.3 7.75,56.55l-650.2 0zm553.76 -115.15c17.7,-6.2 15.16,17.4 15.16,28.99 0,12.15 4.06,35.19 -7.61,39.04 -19.31,6.36 -15.63,-21.2 -15.63,-29.51 0,-7.72 -0.09,-15.48 -0.04,-23.19 0.06,-9.17 0.83,-12.78 8.12,-15.33zm-115.93 -0.16c17.23,-5.23 14.99,16.18 14.99,29.15 0,11.6 4.1,35.02 -7.22,38.93 -21,7.26 -16.29,-28.09 -16.07,-52.57 0.07,-8.04 0.62,-13.17 8.3,-15.51zm-232.37 0.16c17.7,-6.2 15.16,17.4 15.16,28.99 0,12.15 4.06,35.19 -7.61,39.04 -19.31,6.36 -15.63,-21.2 -15.63,-29.51 0,-20.06 -3.39,-34.5 8.08,-38.52zm-115.93 -0.16c17.23,-5.23 14.99,16.18 14.99,29.15 0,11.6 4.1,35.02 -7.22,38.93 -18.44,6.38 -16.02,-16.9 -16.02,-29.4 0,-18.38 -3.41,-35.13 8.25,-38.68zm231.89 0.35c6.52,-2.78 12.99,1.67 14.65,6.92 1.23,3.87 0.66,16.84 0.66,21.88 0,12.25 3.64,34.91 -6.82,38.86 -18.76,7.08 -16.44,-16.29 -16.44,-29.33 0,-22.14 -3.4,-33.48 7.95,-38.33z"/>
|
||||
<path class="fil2" d="M516.92 972.73c-1.28,-13.11 -0.09,-180.65 -0.09,-209.53 0,-9.17 -2.86,-25.25 3.28,-31.46 7.48,-7.56 18.78,-2.56 19.82,7.35l0.08 209.15c0,9.18 2.85,25.19 -3.31,31.43 -6.95,7.05 -18.85,2.68 -19.78,-6.94zm102.85 -217.69c-4.45,45.92 -9.3,91.68 -13.76,137.43 -2.22,22.76 -4.67,45.44 -6.8,68.07 -1.02,10.78 -0.85,24.54 -14.62,22.63 -12.2,-1.69 -9.4,-15.1 -8.21,-26.81 4.64,-45.77 9.13,-91.54 13.73,-137.34 2.28,-22.65 4.54,-45.33 6.8,-68.03 1.13,-11.27 0.99,-24.12 14.22,-22.74 13.4,1.4 9.66,16.23 8.64,26.79zm-183.39 -6.8c-1.08,-10.7 0.52,-24.29 14.8,-19.39 9.39,3.21 8.34,17.42 9.48,28.9l20.69 206.71c1.13,10.64 -1.74,22.23 -14.67,18.29 -10.15,-3.09 -8.68,-18.44 -9.7,-28.45l-20.6 -206.06zm6.88 -65.41c5.5,-2.72 130.7,-1.18 154.55,-1.23 8.94,-0.01 16.38,-1.14 20.99,4.83 5.03,6.52 1.05,14.64 -4.42,17.13 -5.28,2.4 -131.75,1.14 -155.35,1.19 -34.7,0.08 -23.64,-18.03 -15.77,-21.92zm192.19 308.51c3.5,-37.12 6.9,-73.8 10.34,-110.88 6.82,-73.58 15.33,-148.43 20.04,-222.14l-275.54 0c5.39,74.21 14.1,149.28 20.83,223.39 3.35,36.9 6.45,73.94 10.3,110.81 1.97,18.8 17.95,14.17 47.14,14.17 46.04,0 108.37,1.25 152.45,0.03 10.7,-0.3 13.45,-4.86 14.44,-15.38z"/>
|
||||
<path class="fil3" d="M203.32 472.49l650.2 0c0,-21.25 3.36,-41.46 -7.75,-56.55 -9.53,-12.94 -28.66,-14.6 -50.15,-12.75 -0.88,14.71 1.26,20.76 -7.29,32.13 -5.11,6.8 -13.94,13.75 -27.25,13.96 -13.03,0.21 -21.91,-6.43 -27.91,-13.25 -7.53,-8.57 -6.56,-19.53 -7.65,-33.12l-45.91 0c-1,12.55 -0.33,23.97 -7.03,32.38 -15.05,18.87 -41.57,18.23 -55.19,0.81 -8.19,-10.47 -6.99,-18.1 -7.87,-32.91l-45.9 -0.3c-1.52,13.97 -0.65,46.39 -35.2,46.4 -12.78,0 -23.17,-6.88 -27.64,-13.55 -7.92,-11.8 -5.87,-17.28 -7.56,-32.83l-45.9 0.05c-0.88,14.94 1.26,20.99 -7.29,32.36 -13.4,17.83 -38.8,19.33 -55.16,0.71 -7.53,-8.57 -6.56,-19.53 -7.65,-33.12l-45.74 0c-1.17,12.55 -0.5,23.97 -7.2,32.38 -15.05,18.87 -41.57,18.23 -55.19,0.81 -8.18,-10.47 -6.99,-18.1 -7.87,-32.91 -64.4,-5.54 -57.9,28.04 -57.9,69.3z"/>
|
||||
<path class="fil4" d="M690.71 635.15c1.61,-22.52 -2.56,-23.3 -23.52,-23.26l-231.29 0c-62.37,0 -71.59,-6.64 -70.75,23.26l325.56 0z"/>
|
||||
<path class="fil5" d="M516.92 972.73c0.93,9.62 12.83,13.99 19.78,6.94 6.16,-6.24 3.31,-22.25 3.31,-31.43l-0.08 -209.15c-1.04,-9.91 -12.34,-14.91 -19.82,-7.35 -6.14,6.21 -3.28,22.29 -3.28,31.46 0,28.88 -1.19,196.42 0.09,209.53z"/>
|
||||
<path class="fil1" d="M456.98 954.3c1.02,10.01 -0.45,25.36 9.7,28.45 12.93,3.94 15.8,-7.65 14.67,-18.29l-20.69 -206.71c-1.14,-11.48 -0.09,-25.69 -9.48,-28.9 -14.28,-4.9 -15.88,8.69 -14.8,19.39l20.6 206.06z"/>
|
||||
<path class="fil1" d="M619.77 755.04c1.02,-10.56 4.76,-25.39 -8.64,-26.79 -13.23,-1.38 -13.09,11.47 -14.22,22.74 -2.26,22.7 -4.52,45.38 -6.8,68.03 -4.6,45.8 -9.09,91.57 -13.73,137.34 -1.19,11.71 -3.99,25.12 8.21,26.81 13.77,1.91 13.6,-11.85 14.62,-22.63 2.13,-22.63 4.58,-45.31 6.8,-68.07 4.46,-45.75 9.31,-91.51 13.76,-137.43z"/>
|
||||
<path class="fil1" d="M443.26 682.83c-7.87,3.89 -18.93,22 15.77,21.92 23.6,-0.05 150.07,1.21 155.35,-1.19 5.47,-2.49 9.45,-10.61 4.42,-17.13 -4.61,-5.97 -12.05,-4.84 -20.99,-4.83 -23.85,0.05 -149.05,-1.49 -154.55,1.23z"/>
|
||||
<polygon class="fil2" points="470.4,588.39 475.35,588.8 581.48,588.73 586.27,588.49 586.53,566.04 470.6,565.45 "/>
|
||||
<path class="fil6" d="M641.15 357.18c-7.68,2.34 -8.23,7.47 -8.3,15.51 -0.22,24.48 -4.93,59.83 16.07,52.57 11.32,-3.91 7.22,-27.33 7.22,-38.93 0,-12.97 2.24,-34.38 -14.99,-29.15z"/>
|
||||
<path class="fil6" d="M408.78 357.34c-11.47,4.02 -8.08,18.46 -8.08,38.52 0,8.31 -3.68,35.87 15.63,29.51 11.67,-3.85 7.61,-26.89 7.61,-39.04 0,-11.59 2.54,-35.19 -15.16,-28.99z"/>
|
||||
<path class="fil6" d="M292.85 357.18c-11.66,3.55 -8.25,20.3 -8.25,38.68 0,12.5 -2.42,35.78 16.02,29.4 11.32,-3.91 7.22,-27.33 7.22,-38.93 0,-12.97 2.24,-34.38 -14.99,-29.15z"/>
|
||||
<path class="fil6" d="M757.08 357.34c-7.29,2.55 -8.06,6.16 -8.12,15.33 -0.05,7.71 0.04,15.47 0.04,23.19 0,8.31 -3.68,35.87 15.63,29.51 11.67,-3.85 7.61,-26.89 7.61,-39.04 0,-11.59 2.54,-35.19 -15.16,-28.99z"/>
|
||||
<path class="fil6" d="M524.74 357.53c-11.35,4.85 -7.95,16.19 -7.95,38.33 0,13.04 -2.32,36.41 16.44,29.33 10.46,-3.95 6.82,-26.61 6.82,-38.86 0,-5.04 0.57,-18.01 -0.66,-21.88 -1.66,-5.25 -8.13,-9.7 -14.65,-6.92z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 10 KiB |
304
package-lock.json
generated
304
package-lock.json
generated
@@ -1,17 +1,19 @@
|
||||
{
|
||||
"name": "abfallalarm",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "abfallalarm",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.2",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fs-extra": "^11.2.0",
|
||||
"ical.js": "^1.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"archiver": "^6.0.1",
|
||||
"ts-loader": "^9.5.1",
|
||||
"typescript": "^5.3.3",
|
||||
"webpack": "^5.89.0",
|
||||
@@ -631,12 +633,99 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/archiver": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
|
||||
"integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"archiver-utils": "^4.0.1",
|
||||
"async": "^3.2.4",
|
||||
"buffer-crc32": "^0.2.1",
|
||||
"readable-stream": "^3.6.0",
|
||||
"readdir-glob": "^1.1.2",
|
||||
"tar-stream": "^3.0.0",
|
||||
"zip-stream": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/archiver-utils": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
|
||||
"integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"glob": "^8.0.0",
|
||||
"graceful-fs": "^4.2.0",
|
||||
"lazystream": "^1.0.0",
|
||||
"lodash": "^4.17.15",
|
||||
"normalize-path": "^3.0.0",
|
||||
"readable-stream": "^3.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/archiver-utils/node_modules/brace-expansion": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/archiver-utils/node_modules/glob": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
|
||||
"integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^5.0.1",
|
||||
"once": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/archiver-utils/node_modules/minimatch": {
|
||||
"version": "5.1.6",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
|
||||
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"brace-expansion": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/array-flatten": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
|
||||
"integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/async": {
|
||||
"version": "3.2.5",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
|
||||
"integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/b4a": {
|
||||
"version": "1.6.4",
|
||||
"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz",
|
||||
"integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/balanced-match": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||
@@ -757,6 +846,15 @@
|
||||
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer-crc32": {
|
||||
"version": "0.2.13",
|
||||
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
|
||||
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer-from": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||
@@ -902,6 +1000,21 @@
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/compress-commons": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
|
||||
"integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"crc-32": "^1.2.0",
|
||||
"crc32-stream": "^5.0.0",
|
||||
"normalize-path": "^3.0.0",
|
||||
"readable-stream": "^3.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/compressible": {
|
||||
"version": "2.0.18",
|
||||
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
|
||||
@@ -995,6 +1108,31 @@
|
||||
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/crc-32": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
|
||||
"integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"crc32": "bin/crc32.njs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/crc32-stream": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
|
||||
"integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"crc-32": "^1.2.0",
|
||||
"readable-stream": "^3.4.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-spawn": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
||||
@@ -1307,6 +1445,12 @@
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/fast-fifo": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
|
||||
"integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/fast-json-stable-stringify": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
||||
@@ -1424,6 +1568,19 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/fs-extra": {
|
||||
"version": "11.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
|
||||
"integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.2.0",
|
||||
"jsonfile": "^6.0.1",
|
||||
"universalify": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.14"
|
||||
}
|
||||
},
|
||||
"node_modules/fs-monkey": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz",
|
||||
@@ -1539,8 +1696,7 @@
|
||||
"node_modules/graceful-fs": {
|
||||
"version": "4.2.11",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
|
||||
},
|
||||
"node_modules/handle-thing": {
|
||||
"version": "2.0.1",
|
||||
@@ -1987,6 +2143,17 @@
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/jsonfile": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
|
||||
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
|
||||
"dependencies": {
|
||||
"universalify": "^2.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/kind-of": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||
@@ -2006,6 +2173,48 @@
|
||||
"shell-quote": "^1.8.1"
|
||||
}
|
||||
},
|
||||
"node_modules/lazystream": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
|
||||
"integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"readable-stream": "^2.0.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6.3"
|
||||
}
|
||||
},
|
||||
"node_modules/lazystream/node_modules/readable-stream": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
|
||||
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.3",
|
||||
"isarray": "~1.0.0",
|
||||
"process-nextick-args": "~2.0.0",
|
||||
"safe-buffer": "~5.1.1",
|
||||
"string_decoder": "~1.1.1",
|
||||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/lazystream/node_modules/safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/lazystream/node_modules/string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/loader-runner": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
|
||||
@@ -2027,6 +2236,12 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
@@ -2480,6 +2695,12 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/queue-tick": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
|
||||
"integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/randombytes": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
|
||||
@@ -2536,6 +2757,36 @@
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/readdir-glob": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
|
||||
"integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimatch": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/readdir-glob/node_modules/brace-expansion": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/readdir-glob/node_modules/minimatch": {
|
||||
"version": "5.1.6",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
|
||||
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"brace-expansion": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/readdirp": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||
@@ -3039,6 +3290,16 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/streamx": {
|
||||
"version": "2.15.6",
|
||||
"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz",
|
||||
"integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-fifo": "^1.1.0",
|
||||
"queue-tick": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/string_decoder": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||
@@ -3090,6 +3351,17 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/tar-stream": {
|
||||
"version": "3.1.6",
|
||||
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz",
|
||||
"integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"b4a": "^1.6.4",
|
||||
"fast-fifo": "^1.2.0",
|
||||
"streamx": "^2.15.0"
|
||||
}
|
||||
},
|
||||
"node_modules/terser": {
|
||||
"version": "5.26.0",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz",
|
||||
@@ -3221,6 +3493,14 @@
|
||||
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/universalify": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
|
||||
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/unpipe": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||
@@ -3712,6 +3992,20 @@
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/zip-stream": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
|
||||
"integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"archiver-utils": "^4.0.1",
|
||||
"compress-commons": "^5.0.1",
|
||||
"readable-stream": "^3.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
12
package.json
12
package.json
@@ -1,10 +1,16 @@
|
||||
{
|
||||
"name": "abfallalarm",
|
||||
"version": "0.1.0",
|
||||
"displayName": "AbfallAlarm",
|
||||
"version": "0.1.2",
|
||||
"description": "AbfallAlarm ist eine intuitive und benutzerfreundliche WebApp, die darauf abzielt, das Leben der Bürger von Arnsberg zu vereinfachen, indem sie eine zuverlässige Erinnerungsfunktion für den städtischen Abfallkalender bietet.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"build": "webpack --config webpack.config.js --mode production",
|
||||
"build:patch": "webpack --config webpack.config.js --mode production && npm run bump-version patch && npm run copy-release && npm run zip-release",
|
||||
"build:minor": "webpack --config webpack.config.js --mode production && npm run bump-version minor && npm run copy-release && npm run zip-release",
|
||||
"build:major": "webpack --config webpack.config.js --mode production && npm run bump-version major && npm run copy-release && npm run zip-release",
|
||||
"bump-version": "node bump-version.js",
|
||||
"copy-release": "node copy-release-docs.js",
|
||||
"zip-release": "node zip-release.js",
|
||||
"start": "webpack serve --config webpack.config.js --mode development",
|
||||
"stop": "sh stop-server.sh"
|
||||
},
|
||||
@@ -20,6 +26,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/PxaMMaxP/AbfallAlarm#readme",
|
||||
"devDependencies": {
|
||||
"archiver": "^6.0.1",
|
||||
"ts-loader": "^9.5.1",
|
||||
"typescript": "^5.3.3",
|
||||
"webpack": "^5.89.0",
|
||||
@@ -27,6 +34,7 @@
|
||||
"webpack-dev-server": "^4.15.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"fs-extra": "^11.2.0",
|
||||
"ical.js": "^1.5.0"
|
||||
}
|
||||
}
|
@@ -7,8 +7,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Responsive design meta tag -->
|
||||
<meta name="description" content="AbfallAlarm, eine benutzerfreundliche WebApp, die darauf abzielt, das Leben der
|
||||
Bürger von Arnsberg zu vereinfachen.">
|
||||
<link rel="stylesheet" href="/index.css">
|
||||
<link rel="stylesheet" href="/github-corner.css">
|
||||
<link rel="stylesheet" href="./index.css">
|
||||
<link rel="stylesheet" href="./github-corner.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -44,6 +44,11 @@
|
||||
|
||||
<p>Mit dieser App können Nutzer ihre iCalendar (.ics) Dateien für den Abfallkalender der Stadt Arnsberg
|
||||
hochladen und automatisch Erinnerungen für jeden Abholtermin hinzufügen.</p>
|
||||
|
||||
<p>Laden Sie sich bitte zuerst eine entsprechende <b>iCal-Datei</b> von der Stadt Arnsberg herunter:
|
||||
<a href="https://web.c-trace.de/arnsberg-abfallkalender/(S(ujf4cewvsnomrdo0l5zcrkph))/"
|
||||
target="_blank">Quelle</a>. Kommen Sie danach zurück und folgen Sie den Anweisungen unten.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Working Area -->
|
||||
@@ -123,7 +128,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/bundle.js"></script>
|
||||
<script src="./bundle.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
33
zip-release.js
Normal file
33
zip-release.js
Normal file
@@ -0,0 +1,33 @@
|
||||
const fs = require('fs');
|
||||
const archiver = require('archiver');
|
||||
const path = require('path');
|
||||
|
||||
const packageJsonPath = path.join(__dirname, 'package.json');
|
||||
const packageJson = require(packageJsonPath);
|
||||
|
||||
const outputFileName = `${packageJson.displayName}_v${packageJson.version}.zip`;
|
||||
const outputFilePath = path.join(__dirname, 'release', outputFileName);
|
||||
const sourceDirPath = path.join(__dirname, 'docs');
|
||||
|
||||
// Stellen Sie sicher, dass das Release-Verzeichnis existiert
|
||||
if (!fs.existsSync(path.join(__dirname, 'release'))) {
|
||||
fs.mkdirSync(path.join(__dirname, 'release'));
|
||||
}
|
||||
|
||||
// Erstellen des ZIP-Archivs
|
||||
const output = fs.createWriteStream(outputFilePath);
|
||||
const archive = archiver('zip', {
|
||||
zlib: { level: 9 } // Maximaler Kompressionsgrad
|
||||
});
|
||||
|
||||
output.on('close', function () {
|
||||
console.log(`Archiv ${outputFileName} erstellt: ${archive.pointer()} Bytes`);
|
||||
});
|
||||
|
||||
archive.on('error', function (err) {
|
||||
throw err;
|
||||
});
|
||||
|
||||
archive.pipe(output);
|
||||
archive.directory(sourceDirPath, false);
|
||||
archive.finalize();
|
Reference in New Issue
Block a user