Add new dev script

This commit is contained in:
Nikita Karamov 2024-02-05 20:00:46 +01:00
parent af53ef10dd
commit c7bbb6da1b
No known key found for this signature in database
GPG Key ID: 41D6F71EE78E77CD
5 changed files with 259 additions and 99 deletions

3
.gitignore vendored
View File

@ -1,4 +1,5 @@
dev/
/dev/*
!/dev/index.html
dist/
.idea/
node_modules/

145
dev/index.html Normal file
View File

@ -0,0 +1,145 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Shareon Demo Page</title>
<style>
body {
max-width: 800px;
margin: 0 auto;
font-family: sans-serif;
}
code {
font-family: monospace;
font-size: 1em;
}
.shareon.specimen {
font-weight: 600;
}
</style>
<link rel="stylesheet" href="shareon.css" />
</head>
<body>
<main>
<h1>Shareon Demo Page</h1>
<section>
<h2><code>&lt;a&gt;</code></h2>
<div class="shareon">
<a class="facebook"></a>
<a class="fediverse"></a>
<a class="linkedin"></a>
<a class="mastodon"></a>
<a class="messenger" data-fb-app-id="3619024578167617"></a>
<a class="odnoklassniki"></a>
<a class="pinterest"></a>
<a class="pocket"></a>
<a class="reddit"></a>
<a class="teams"></a>
<a class="telegram"></a>
<a class="tumblr"></a>
<a class="twitter"></a>
<a class="viber"></a>
<a class="vkontakte"></a>
<a class="whatsapp"></a>
<a class="copy-url"></a>
<a class="email"></a>
<a class="print"></a>
<a class="web-share"></a>
</div>
</section>
<section>
<h2><code>&lt;button&gt;</code></h2>
<div class="shareon">
<button class="facebook"></button>
<button class="fediverse"></button>
<button class="linkedin"></button>
<button class="mastodon"></button>
<button class="messenger" data-fb-app-id="3619024578167617"></button>
<button class="odnoklassniki"></button>
<button class="pinterest"></button>
<button class="pocket"></button>
<button class="reddit"></button>
<button class="teams"></button>
<button class="telegram"></button>
<button class="tumblr"></button>
<button class="twitter"></button>
<button class="viber"></button>
<button class="vkontakte"></button>
<button class="whatsapp"></button>
<button class="copy-url"></button>
<button class="email"></button>
<button class="print"></button>
<button class="web-share"></button>
</div>
</section>
<section>
<h2><code>&lt;a&gt;</code> with custom params</h2>
<div
class="shareon"
data-title="shareon demo page test"
data-url="https://demo.shareon.js.org"
data-text="hey check this out"
>
<a class="facebook"></a>
<a class="fediverse" data-s2f-instance="share2fedi.vercel.app"></a>
<a class="linkedin"></a>
<a class="mastodon" data-via="@NickKaramoff@fosstodon.org"></a>
<a class="messenger" data-fb-app-id="3619024578167617"></a>
<a class="odnoklassniki"></a>
<a class="pinterest"></a>
<a class="pocket"></a>
<a class="reddit"></a>
<a class="teams"></a>
<a class="telegram"></a>
<a class="tumblr"></a>
<a class="twitter" data-via="nickkaramoff"></a>
<a class="viber"></a>
<a class="vkontakte"></a>
<a class="whatsapp"></a>
<a class="copy-url"></a>
<a class="email"></a>
<a class="web-share"></a>
</div>
</section>
<section>
<h2>Specimen</h2>
<div class="shareon specimen">
<a class="facebook"></a>
<a class="fediverse"></a>
<a class="linkedin"></a>
<a class="mastodon">Toot</a>
<a class="messenger" data-fb-app-id="3619024578167617"></a>
<a class="odnoklassniki"></a>
<a class="pinterest">Pin</a>
<br />
<a class="pocket"></a>
<a class="reddit"></a>
<a class="teams"></a>
<a class="telegram"></a>
<a class="tumblr"></a>
<a class="twitter">Tweet</a>
<a class="viber"></a>
<br />
<a class="vkontakte">Поделиться</a>
<a class="whatsapp"></a>
<a class="copy-url"></a>
<a class="email"></a>
<a class="web-share">Share</a>
</div>
</section>
</main>
<script type="module">
new EventSource("/esbuild")
.addEventListener("change", () => location.reload())
import { init } from "./shareon.js";
init();
</script>
</body>
</html>

View File

@ -43,7 +43,7 @@
],
"scripts": {
"build": "vite build",
"dev": "vite",
"dev": "node script/dev",
"lint": "prettier --check . && eslint .",
"size": "size-limit",
"test": "pnpm run lint && pnpm run build && pnpm run size",
@ -56,6 +56,7 @@
"@size-limit/preset-small-lib": "^11.0.2",
"autoprefixer": "^10.4.17",
"clean-publish": "^4.2.0",
"esbuild": "^0.20.0",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-unicorn": "^50.0.1",

View File

@ -14,6 +14,9 @@ devDependencies:
clean-publish:
specifier: ^4.2.0
version: 4.2.0
esbuild:
specifier: ^0.20.0
version: 0.20.0
eslint:
specifier: ^8.56.0
version: 8.56.0
@ -86,6 +89,15 @@ packages:
dev: true
optional: true
/@esbuild/aix-ppc64@0.20.0:
resolution: {integrity: sha512-fGFDEctNh0CcSwsiRPxiaqX0P5rq+AqE0SRhYGZ4PX46Lg1FNR6oCxJghf8YgY0WQEgQuh3lErUFE4KxLeRmmw==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [aix]
requiresBuild: true
dev: true
optional: true
/@esbuild/android-arm64@0.19.12:
resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
engines: {node: '>=12'}
@ -95,8 +107,8 @@ packages:
dev: true
optional: true
/@esbuild/android-arm64@0.19.8:
resolution: {integrity: sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==}
/@esbuild/android-arm64@0.20.0:
resolution: {integrity: sha512-aVpnM4lURNkp0D3qPoAzSG92VXStYmoVPOgXveAUoQBWRSuQzt51yvSju29J6AHPmwY1BjH49uR29oyfH1ra8Q==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
@ -113,8 +125,8 @@ packages:
dev: true
optional: true
/@esbuild/android-arm@0.19.8:
resolution: {integrity: sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==}
/@esbuild/android-arm@0.20.0:
resolution: {integrity: sha512-3bMAfInvByLHfJwYPJRlpTeaQA75n8C/QKpEaiS4HrFWFiJlNI0vzq/zCjBrhAYcPyVPG7Eo9dMrcQXuqmNk5g==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
@ -131,8 +143,8 @@ packages:
dev: true
optional: true
/@esbuild/android-x64@0.19.8:
resolution: {integrity: sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==}
/@esbuild/android-x64@0.20.0:
resolution: {integrity: sha512-uK7wAnlRvjkCPzh8jJ+QejFyrP8ObKuR5cBIsQZ+qbMunwR8sbd8krmMbxTLSrDhiPZaJYKQAU5Y3iMDcZPhyQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@ -149,8 +161,8 @@ packages:
dev: true
optional: true
/@esbuild/darwin-arm64@0.19.8:
resolution: {integrity: sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==}
/@esbuild/darwin-arm64@0.20.0:
resolution: {integrity: sha512-AjEcivGAlPs3UAcJedMa9qYg9eSfU6FnGHJjT8s346HSKkrcWlYezGE8VaO2xKfvvlZkgAhyvl06OJOxiMgOYQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
@ -167,8 +179,8 @@ packages:
dev: true
optional: true
/@esbuild/darwin-x64@0.19.8:
resolution: {integrity: sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==}
/@esbuild/darwin-x64@0.20.0:
resolution: {integrity: sha512-bsgTPoyYDnPv8ER0HqnJggXK6RyFy4PH4rtsId0V7Efa90u2+EifxytE9pZnsDgExgkARy24WUQGv9irVbTvIw==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@ -185,8 +197,8 @@ packages:
dev: true
optional: true
/@esbuild/freebsd-arm64@0.19.8:
resolution: {integrity: sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==}
/@esbuild/freebsd-arm64@0.20.0:
resolution: {integrity: sha512-kQ7jYdlKS335mpGbMW5tEe3IrQFIok9r84EM3PXB8qBFJPSc6dpWfrtsC/y1pyrz82xfUIn5ZrnSHQQsd6jebQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
@ -203,8 +215,8 @@ packages:
dev: true
optional: true
/@esbuild/freebsd-x64@0.19.8:
resolution: {integrity: sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==}
/@esbuild/freebsd-x64@0.20.0:
resolution: {integrity: sha512-uG8B0WSepMRsBNVXAQcHf9+Ko/Tr+XqmK7Ptel9HVmnykupXdS4J7ovSQUIi0tQGIndhbqWLaIL/qO/cWhXKyQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@ -221,8 +233,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-arm64@0.19.8:
resolution: {integrity: sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==}
/@esbuild/linux-arm64@0.20.0:
resolution: {integrity: sha512-uTtyYAP5veqi2z9b6Gr0NUoNv9F/rOzI8tOD5jKcCvRUn7T60Bb+42NDBCWNhMjkQzI0qqwXkQGo1SY41G52nw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
@ -239,8 +251,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-arm@0.19.8:
resolution: {integrity: sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==}
/@esbuild/linux-arm@0.20.0:
resolution: {integrity: sha512-2ezuhdiZw8vuHf1HKSf4TIk80naTbP9At7sOqZmdVwvvMyuoDiZB49YZKLsLOfKIr77+I40dWpHVeY5JHpIEIg==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
@ -257,8 +269,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-ia32@0.19.8:
resolution: {integrity: sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==}
/@esbuild/linux-ia32@0.20.0:
resolution: {integrity: sha512-c88wwtfs8tTffPaoJ+SQn3y+lKtgTzyjkD8NgsyCtCmtoIC8RDL7PrJU05an/e9VuAke6eJqGkoMhJK1RY6z4w==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
@ -275,8 +287,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-loong64@0.19.8:
resolution: {integrity: sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==}
/@esbuild/linux-loong64@0.20.0:
resolution: {integrity: sha512-lR2rr/128/6svngnVta6JN4gxSXle/yZEZL3o4XZ6esOqhyR4wsKyfu6qXAL04S4S5CgGfG+GYZnjFd4YiG3Aw==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
@ -293,8 +305,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-mips64el@0.19.8:
resolution: {integrity: sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==}
/@esbuild/linux-mips64el@0.20.0:
resolution: {integrity: sha512-9Sycc+1uUsDnJCelDf6ZNqgZQoK1mJvFtqf2MUz4ujTxGhvCWw+4chYfDLPepMEvVL9PDwn6HrXad5yOrNzIsQ==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
@ -311,8 +323,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-ppc64@0.19.8:
resolution: {integrity: sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==}
/@esbuild/linux-ppc64@0.20.0:
resolution: {integrity: sha512-CoWSaaAXOZd+CjbUTdXIJE/t7Oz+4g90A3VBCHLbfuc5yUQU/nFDLOzQsN0cdxgXd97lYW/psIIBdjzQIwTBGw==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
@ -329,8 +341,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-riscv64@0.19.8:
resolution: {integrity: sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==}
/@esbuild/linux-riscv64@0.20.0:
resolution: {integrity: sha512-mlb1hg/eYRJUpv8h/x+4ShgoNLL8wgZ64SUr26KwglTYnwAWjkhR2GpoKftDbPOCnodA9t4Y/b68H4J9XmmPzA==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
@ -347,8 +359,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-s390x@0.19.8:
resolution: {integrity: sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==}
/@esbuild/linux-s390x@0.20.0:
resolution: {integrity: sha512-fgf9ubb53xSnOBqyvWEY6ukBNRl1mVX1srPNu06B6mNsNK20JfH6xV6jECzrQ69/VMiTLvHMicQR/PgTOgqJUQ==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
@ -365,8 +377,8 @@ packages:
dev: true
optional: true
/@esbuild/linux-x64@0.19.8:
resolution: {integrity: sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==}
/@esbuild/linux-x64@0.20.0:
resolution: {integrity: sha512-H9Eu6MGse++204XZcYsse1yFHmRXEWgadk2N58O/xd50P9EvFMLJTQLg+lB4E1cF2xhLZU5luSWtGTb0l9UeSg==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
@ -383,8 +395,8 @@ packages:
dev: true
optional: true
/@esbuild/netbsd-x64@0.19.8:
resolution: {integrity: sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==}
/@esbuild/netbsd-x64@0.20.0:
resolution: {integrity: sha512-lCT675rTN1v8Fo+RGrE5KjSnfY0x9Og4RN7t7lVrN3vMSjy34/+3na0q7RIfWDAj0e0rCh0OL+P88lu3Rt21MQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@ -401,8 +413,8 @@ packages:
dev: true
optional: true
/@esbuild/openbsd-x64@0.19.8:
resolution: {integrity: sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==}
/@esbuild/openbsd-x64@0.20.0:
resolution: {integrity: sha512-HKoUGXz/TOVXKQ+67NhxyHv+aDSZf44QpWLa3I1lLvAwGq8x1k0T+e2HHSRvxWhfJrFxaaqre1+YyzQ99KixoA==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@ -419,8 +431,8 @@ packages:
dev: true
optional: true
/@esbuild/sunos-x64@0.19.8:
resolution: {integrity: sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==}
/@esbuild/sunos-x64@0.20.0:
resolution: {integrity: sha512-GDwAqgHQm1mVoPppGsoq4WJwT3vhnz/2N62CzhvApFD1eJyTroob30FPpOZabN+FgCjhG+AgcZyOPIkR8dfD7g==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@ -437,8 +449,8 @@ packages:
dev: true
optional: true
/@esbuild/win32-arm64@0.19.8:
resolution: {integrity: sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==}
/@esbuild/win32-arm64@0.20.0:
resolution: {integrity: sha512-0vYsP8aC4TvMlOQYozoksiaxjlvUcQrac+muDqj1Fxy6jh9l9CZJzj7zmh8JGfiV49cYLTorFLxg7593pGldwQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
@ -455,8 +467,8 @@ packages:
dev: true
optional: true
/@esbuild/win32-ia32@0.19.8:
resolution: {integrity: sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==}
/@esbuild/win32-ia32@0.20.0:
resolution: {integrity: sha512-p98u4rIgfh4gdpV00IqknBD5pC84LCub+4a3MO+zjqvU5MVXOc3hqR2UgT2jI2nh3h8s9EQxmOsVI3tyzv1iFg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
@ -473,8 +485,8 @@ packages:
dev: true
optional: true
/@esbuild/win32-x64@0.19.8:
resolution: {integrity: sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==}
/@esbuild/win32-x64@0.20.0:
resolution: {integrity: sha512-NgJnesu1RtWihtTtXGFMU5YSE6JyyHPMxCwBZK7a6/8d31GuSo9l0Ss7w1Jw5QnKUawG6UEehs883kcXf5fYwg==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@ -710,7 +722,6 @@ packages:
/acorn@8.11.2:
resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: true
/ajv@6.12.6:
@ -756,7 +767,6 @@ packages:
/autoprefixer@10.4.17(postcss@8.4.34):
resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==}
engines: {node: ^10 || ^12 || >=14}
hasBin: true
peerDependencies:
postcss: ^8.1.0
dependencies:
@ -795,7 +805,6 @@ packages:
/browserslist@4.22.3:
resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001584
electron-to-chromium: 1.4.657
@ -862,7 +871,6 @@ packages:
/clean-publish@4.2.0:
resolution: {integrity: sha512-dqZF5y6KtlkYhbnJoXiOCP4L1TPdI7HtuDysslUrbI8vLPu65ZjVO3pu5xp4qH0X2cWdDN/La04woe6fg4LNSw==}
engines: {node: '>= 16.0.0'}
hasBin: true
dependencies:
cross-spawn: 7.0.3
fast-glob: 3.3.0
@ -928,7 +936,6 @@ packages:
/cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
hasBin: true
dev: true
/csso@5.0.5:
@ -978,7 +985,6 @@ packages:
/esbuild@0.19.12:
resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
'@esbuild/aix-ppc64': 0.19.12
@ -1006,34 +1012,34 @@ packages:
'@esbuild/win32-x64': 0.19.12
dev: true
/esbuild@0.19.8:
resolution: {integrity: sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==}
/esbuild@0.20.0:
resolution: {integrity: sha512-6iwE3Y2RVYCME1jLpBqq7LQWK3MW6vjV2bZy6gt/WrqkY+WE74Spyc0ThAOYpMtITvnjX09CrC6ym7A/m9mebA==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
'@esbuild/android-arm': 0.19.8
'@esbuild/android-arm64': 0.19.8
'@esbuild/android-x64': 0.19.8
'@esbuild/darwin-arm64': 0.19.8
'@esbuild/darwin-x64': 0.19.8
'@esbuild/freebsd-arm64': 0.19.8
'@esbuild/freebsd-x64': 0.19.8
'@esbuild/linux-arm': 0.19.8
'@esbuild/linux-arm64': 0.19.8
'@esbuild/linux-ia32': 0.19.8
'@esbuild/linux-loong64': 0.19.8
'@esbuild/linux-mips64el': 0.19.8
'@esbuild/linux-ppc64': 0.19.8
'@esbuild/linux-riscv64': 0.19.8
'@esbuild/linux-s390x': 0.19.8
'@esbuild/linux-x64': 0.19.8
'@esbuild/netbsd-x64': 0.19.8
'@esbuild/openbsd-x64': 0.19.8
'@esbuild/sunos-x64': 0.19.8
'@esbuild/win32-arm64': 0.19.8
'@esbuild/win32-ia32': 0.19.8
'@esbuild/win32-x64': 0.19.8
'@esbuild/aix-ppc64': 0.20.0
'@esbuild/android-arm': 0.20.0
'@esbuild/android-arm64': 0.20.0
'@esbuild/android-x64': 0.20.0
'@esbuild/darwin-arm64': 0.20.0
'@esbuild/darwin-x64': 0.20.0
'@esbuild/freebsd-arm64': 0.20.0
'@esbuild/freebsd-x64': 0.20.0
'@esbuild/linux-arm': 0.20.0
'@esbuild/linux-arm64': 0.20.0
'@esbuild/linux-ia32': 0.20.0
'@esbuild/linux-loong64': 0.20.0
'@esbuild/linux-mips64el': 0.20.0
'@esbuild/linux-ppc64': 0.20.0
'@esbuild/linux-riscv64': 0.20.0
'@esbuild/linux-s390x': 0.20.0
'@esbuild/linux-x64': 0.20.0
'@esbuild/netbsd-x64': 0.20.0
'@esbuild/openbsd-x64': 0.20.0
'@esbuild/sunos-x64': 0.20.0
'@esbuild/win32-arm64': 0.20.0
'@esbuild/win32-ia32': 0.20.0
'@esbuild/win32-x64': 0.20.0
dev: true
/escalade@3.1.2:
@ -1053,7 +1059,6 @@ packages:
/eslint-config-prettier@9.1.0(eslint@8.56.0):
resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
dependencies:
@ -1103,7 +1108,6 @@ packages:
/eslint@8.56.0:
resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
'@eslint-community/regexpp': 4.10.0
@ -1446,20 +1450,17 @@ packages:
/js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
dependencies:
argparse: 2.0.1
dev: true
/jsesc@0.5.0:
resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
hasBin: true
dev: true
/jsesc@3.0.2:
resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
engines: {node: '>=6'}
hasBin: true
dev: true
/json-buffer@3.0.1:
@ -1558,7 +1559,6 @@ packages:
/mime@2.5.2:
resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==}
engines: {node: '>=4.0.0'}
hasBin: true
dev: true
/min-indent@1.0.1:
@ -1585,13 +1585,11 @@ packages:
/nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
dev: true
/nanoid@5.0.5:
resolution: {integrity: sha512-/Veqm+QKsyMY3kqi4faWplnY1u+VuKO3dD2binyPIybP31DRO29bPF+1mszgLnrR2KqSLceFLBNw0zmvDzN1QQ==}
engines: {node: ^18 || >=20}
hasBin: true
dev: true
/nanospinner@1.1.0:
@ -1807,7 +1805,6 @@ packages:
/prettier@3.2.5:
resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
engines: {node: '>=14'}
hasBin: true
dev: true
/punycode@2.3.1:
@ -1847,12 +1844,10 @@ packages:
/regexp-tree@0.1.27:
resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
hasBin: true
dev: true
/regjsparser@0.10.0:
resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
hasBin: true
dependencies:
jsesc: 0.5.0
dev: true
@ -1864,7 +1859,6 @@ packages:
/resolve@1.22.8:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
dependencies:
is-core-module: 2.13.1
path-parse: 1.0.7
@ -1878,7 +1872,6 @@ packages:
/rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
hasBin: true
dependencies:
glob: 7.2.3
dev: true
@ -1886,7 +1879,6 @@ packages:
/rollup@4.6.1:
resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.6.1
'@rollup/rollup-android-arm64': 4.6.1
@ -1911,18 +1903,15 @@ packages:
/semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
hasBin: true
dev: true
/semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
dev: true
/semver@7.6.0:
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
engines: {node: '>=10'}
hasBin: true
dependencies:
lru-cache: 6.0.0
dev: true
@ -1942,7 +1931,6 @@ packages:
/size-limit@11.0.2:
resolution: {integrity: sha512-iFZ8iTR/3zPqxSwEIdGnTVYVU0F2nhodLQG/G6zpi/NxECYAK9ntq2lNr+prXH7h3gyBjx2Umt2D/oS2Qzz+eg==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
dependencies:
bytes-iec: 3.1.1
chokidar: 3.5.3
@ -2062,7 +2050,6 @@ packages:
/update-browserslist-db@1.0.13(browserslist@4.22.3):
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
@ -2091,7 +2078,6 @@ packages:
/vite@5.0.12:
resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@types/node': ^18.0.0 || >=20.0.0
less: '*'
@ -2116,7 +2102,7 @@ packages:
terser:
optional: true
dependencies:
esbuild: 0.19.8
esbuild: 0.19.12
postcss: 8.4.34
rollup: 4.6.1
optionalDependencies:
@ -2126,7 +2112,6 @@ packages:
/which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
hasBin: true
dependencies:
isexe: 2.0.0
dev: true

28
script/dev Executable file
View File

@ -0,0 +1,28 @@
#!/usr/bin/env node
import * as path from "node:path";
import * as esbuild from "esbuild";
const dir = path.join(".", "dev");
const ctx = await esbuild.context({
entryPoints: [path.join(".", "src", "index.js")],
entryNames: "[dir]/shareon",
bundle: true,
sourcemap: true,
outdir: dir,
format: "esm",
loader: {
".svg": "dataurl",
},
});
await ctx.watch();
const { host, port } = await ctx.serve({
host: "127.0.0.1",
port: 9001,
servedir: dir,
});
console.info("Serving at", new URL(`http://${host}:${port}`).toString());