Merge pull request 'devel' (#220) from devel into main

Reviewed-on: #220
This commit is contained in:
inhji 2023-07-19 23:11:19 +02:00
commit e273960c75
6 changed files with 180 additions and 152 deletions

View file

@ -41,16 +41,4 @@ const promise = esbuild.build(opts)
if (watch) { if (watch) {
esbuild.context(opts).then(ctx => ctx.watch()) esbuild.context(opts).then(ctx => ctx.watch())
} }
/*
if (watch) {
promise.then(_result => {
process.stdin.on('close', () => {
process.exit(0)
})
process.stdin.resume()
})
}
*/

194
assets/package-lock.json generated
View file

@ -33,9 +33,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@babel/runtime": { "node_modules/@babel/runtime": {
"version": "7.22.5", "version": "7.22.6",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz",
"integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==",
"dependencies": { "dependencies": {
"regenerator-runtime": "^0.13.11" "regenerator-runtime": "^0.13.11"
}, },
@ -44,9 +44,9 @@
} }
}, },
"node_modules/@esbuild/android-arm": { "node_modules/@esbuild/android-arm": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.14.tgz",
"integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==", "integrity": "sha512-blODaaL+lngG5bdK/t4qZcQvq2BBqrABmYwqPPcS5VRxrCSGHb9R/rA3fqxh7R18I7WU4KKv+NYkt22FDfalcg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -60,9 +60,9 @@
} }
}, },
"node_modules/@esbuild/android-arm64": { "node_modules/@esbuild/android-arm64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.14.tgz",
"integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==", "integrity": "sha512-rZ2v+Luba5/3D6l8kofWgTnqE+qsC/L5MleKIKFyllHTKHrNBMqeRCnZI1BtRx8B24xMYxeU32iIddRQqMsOsg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -76,9 +76,9 @@
} }
}, },
"node_modules/@esbuild/android-x64": { "node_modules/@esbuild/android-x64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.14.tgz",
"integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==", "integrity": "sha512-qSwh8y38QKl+1Iqg+YhvCVYlSk3dVLk9N88VO71U4FUjtiSFylMWK3Ugr8GC6eTkkP4Tc83dVppt2n8vIdlSGg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -92,9 +92,9 @@
} }
}, },
"node_modules/@esbuild/darwin-arm64": { "node_modules/@esbuild/darwin-arm64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.14.tgz",
"integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==", "integrity": "sha512-9Hl2D2PBeDYZiNbnRKRWuxwHa9v5ssWBBjisXFkVcSP5cZqzZRFBUWEQuqBHO4+PKx4q4wgHoWtfQ1S7rUqJ2Q==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -108,9 +108,9 @@
} }
}, },
"node_modules/@esbuild/darwin-x64": { "node_modules/@esbuild/darwin-x64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.14.tgz",
"integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==", "integrity": "sha512-ZnI3Dg4ElQ6tlv82qLc/UNHtFsgZSKZ7KjsUNAo1BF1SoYDjkGKHJyCrYyWjFecmXpvvG/KJ9A/oe0H12odPLQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -124,9 +124,9 @@
} }
}, },
"node_modules/@esbuild/freebsd-arm64": { "node_modules/@esbuild/freebsd-arm64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.14.tgz",
"integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==", "integrity": "sha512-h3OqR80Da4oQCIa37zl8tU5MwHQ7qgPV0oVScPfKJK21fSRZEhLE4IIVpmcOxfAVmqjU6NDxcxhYaM8aDIGRLw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -140,9 +140,9 @@
} }
}, },
"node_modules/@esbuild/freebsd-x64": { "node_modules/@esbuild/freebsd-x64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.14.tgz",
"integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==", "integrity": "sha512-ha4BX+S6CZG4BoH9tOZTrFIYC1DH13UTCRHzFc3GWX74nz3h/N6MPF3tuR3XlsNjMFUazGgm35MPW5tHkn2lzQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -156,9 +156,9 @@
} }
}, },
"node_modules/@esbuild/linux-arm": { "node_modules/@esbuild/linux-arm": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.14.tgz",
"integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==", "integrity": "sha512-5+7vehI1iqru5WRtJyU2XvTOvTGURw3OZxe3YTdE9muNNIdmKAVmSHpB3Vw2LazJk2ifEdIMt/wTWnVe5V98Kg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -172,9 +172,9 @@
} }
}, },
"node_modules/@esbuild/linux-arm64": { "node_modules/@esbuild/linux-arm64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.14.tgz",
"integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==", "integrity": "sha512-IXORRe22In7U65NZCzjwAUc03nn8SDIzWCnfzJ6t/8AvGx5zBkcLfknI+0P+hhuftufJBmIXxdSTbzWc8X/V4w==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -188,9 +188,9 @@
} }
}, },
"node_modules/@esbuild/linux-ia32": { "node_modules/@esbuild/linux-ia32": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.14.tgz",
"integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==", "integrity": "sha512-BfHlMa0nibwpjG+VXbOoqJDmFde4UK2gnW351SQ2Zd4t1N3zNdmUEqRkw/srC1Sa1DRBE88Dbwg4JgWCbNz/FQ==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -204,9 +204,9 @@
} }
}, },
"node_modules/@esbuild/linux-loong64": { "node_modules/@esbuild/linux-loong64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.14.tgz",
"integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==", "integrity": "sha512-j2/Ex++DRUWIAaUDprXd3JevzGtZ4/d7VKz+AYDoHZ3HjJzCyYBub9CU1wwIXN+viOP0b4VR3RhGClsvyt/xSw==",
"cpu": [ "cpu": [
"loong64" "loong64"
], ],
@ -220,9 +220,9 @@
} }
}, },
"node_modules/@esbuild/linux-mips64el": { "node_modules/@esbuild/linux-mips64el": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.14.tgz",
"integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==", "integrity": "sha512-qn2+nc+ZCrJmiicoAnJXJJkZWt8Nwswgu1crY7N+PBR8ChBHh89XRxj38UU6Dkthl2yCVO9jWuafZ24muzDC/A==",
"cpu": [ "cpu": [
"mips64el" "mips64el"
], ],
@ -236,9 +236,9 @@
} }
}, },
"node_modules/@esbuild/linux-ppc64": { "node_modules/@esbuild/linux-ppc64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.14.tgz",
"integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==", "integrity": "sha512-aGzXzd+djqeEC5IRkDKt3kWzvXoXC6K6GyYKxd+wsFJ2VQYnOWE954qV2tvy5/aaNrmgPTb52cSCHFE+Z7Z0yg==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@ -252,9 +252,9 @@
} }
}, },
"node_modules/@esbuild/linux-riscv64": { "node_modules/@esbuild/linux-riscv64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.14.tgz",
"integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==", "integrity": "sha512-8C6vWbfr0ygbAiMFLS6OPz0BHvApkT2gCboOGV76YrYw+sD/MQJzyITNsjZWDXJwPu9tjrFQOVG7zijRzBCnLw==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@ -268,9 +268,9 @@
} }
}, },
"node_modules/@esbuild/linux-s390x": { "node_modules/@esbuild/linux-s390x": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.14.tgz",
"integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==", "integrity": "sha512-G/Lf9iu8sRMM60OVGOh94ZW2nIStksEcITkXdkD09/T6QFD/o+g0+9WVyR/jajIb3A0LvBJ670tBnGe1GgXMgw==",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
@ -284,9 +284,9 @@
} }
}, },
"node_modules/@esbuild/linux-x64": { "node_modules/@esbuild/linux-x64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.14.tgz",
"integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", "integrity": "sha512-TBgStYBQaa3EGhgqIDM+ECnkreb0wkcKqL7H6m+XPcGUoU4dO7dqewfbm0mWEQYH3kzFHrzjOFNpSAVzDZRSJw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -300,9 +300,9 @@
} }
}, },
"node_modules/@esbuild/netbsd-x64": { "node_modules/@esbuild/netbsd-x64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.14.tgz",
"integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==", "integrity": "sha512-stvCcjyCQR2lMTroqNhAbvROqRjxPEq0oQ380YdXxA81TaRJEucH/PzJ/qsEtsHgXlWFW6Ryr/X15vxQiyRXVg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -316,9 +316,9 @@
} }
}, },
"node_modules/@esbuild/openbsd-x64": { "node_modules/@esbuild/openbsd-x64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.14.tgz",
"integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==", "integrity": "sha512-apAOJF14CIsN5ht1PA57PboEMsNV70j3FUdxLmA2liZ20gEQnfTG5QU0FhENo5nwbTqCB2O3WDsXAihfODjHYw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -332,9 +332,9 @@
} }
}, },
"node_modules/@esbuild/sunos-x64": { "node_modules/@esbuild/sunos-x64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.14.tgz",
"integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==", "integrity": "sha512-fYRaaS8mDgZcGybPn2MQbn1ZNZx+UXFSUoS5Hd2oEnlsyUcr/l3c6RnXf1bLDRKKdLRSabTmyCy7VLQ7VhGdOQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -348,9 +348,9 @@
} }
}, },
"node_modules/@esbuild/win32-arm64": { "node_modules/@esbuild/win32-arm64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.14.tgz",
"integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==", "integrity": "sha512-1c44RcxKEJPrVj62XdmYhxXaU/V7auELCmnD+Ri+UCt+AGxTvzxl9uauQhrFso8gj6ZV1DaORV0sT9XSHOAk8Q==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -364,9 +364,9 @@
} }
}, },
"node_modules/@esbuild/win32-ia32": { "node_modules/@esbuild/win32-ia32": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.14.tgz",
"integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==", "integrity": "sha512-EXAFttrdAxZkFQmpvcAQ2bywlWUsONp/9c2lcfvPUhu8vXBBenCXpoq9YkUvVP639ld3YGiYx0YUQ6/VQz3Maw==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -380,9 +380,9 @@
} }
}, },
"node_modules/@esbuild/win32-x64": { "node_modules/@esbuild/win32-x64": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.14.tgz",
"integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==", "integrity": "sha512-K0QjGbcskx+gY+qp3v4/940qg8JitpXbdxFhRDA1aYoNaPff88+aEwoq45aqJ+ogpxQxmU0ZTjgnrQD/w8iiUg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -492,9 +492,9 @@
"integrity": "sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w==" "integrity": "sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w=="
}, },
"node_modules/esbuild": { "node_modules/esbuild": {
"version": "0.18.11", "version": "0.18.14",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.14.tgz",
"integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", "integrity": "sha512-uNPj5oHPYmj+ZhSQeYQVFZ+hAlJZbAGOmmILWIqrGvPVlNLbyOvU5Bu6Woi8G8nskcx0vwY0iFoMPrzT86Ko+w==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"bin": { "bin": {
@ -504,28 +504,28 @@
"node": ">=12" "node": ">=12"
}, },
"optionalDependencies": { "optionalDependencies": {
"@esbuild/android-arm": "0.18.11", "@esbuild/android-arm": "0.18.14",
"@esbuild/android-arm64": "0.18.11", "@esbuild/android-arm64": "0.18.14",
"@esbuild/android-x64": "0.18.11", "@esbuild/android-x64": "0.18.14",
"@esbuild/darwin-arm64": "0.18.11", "@esbuild/darwin-arm64": "0.18.14",
"@esbuild/darwin-x64": "0.18.11", "@esbuild/darwin-x64": "0.18.14",
"@esbuild/freebsd-arm64": "0.18.11", "@esbuild/freebsd-arm64": "0.18.14",
"@esbuild/freebsd-x64": "0.18.11", "@esbuild/freebsd-x64": "0.18.14",
"@esbuild/linux-arm": "0.18.11", "@esbuild/linux-arm": "0.18.14",
"@esbuild/linux-arm64": "0.18.11", "@esbuild/linux-arm64": "0.18.14",
"@esbuild/linux-ia32": "0.18.11", "@esbuild/linux-ia32": "0.18.14",
"@esbuild/linux-loong64": "0.18.11", "@esbuild/linux-loong64": "0.18.14",
"@esbuild/linux-mips64el": "0.18.11", "@esbuild/linux-mips64el": "0.18.14",
"@esbuild/linux-ppc64": "0.18.11", "@esbuild/linux-ppc64": "0.18.14",
"@esbuild/linux-riscv64": "0.18.11", "@esbuild/linux-riscv64": "0.18.14",
"@esbuild/linux-s390x": "0.18.11", "@esbuild/linux-s390x": "0.18.14",
"@esbuild/linux-x64": "0.18.11", "@esbuild/linux-x64": "0.18.14",
"@esbuild/netbsd-x64": "0.18.11", "@esbuild/netbsd-x64": "0.18.14",
"@esbuild/openbsd-x64": "0.18.11", "@esbuild/openbsd-x64": "0.18.14",
"@esbuild/sunos-x64": "0.18.11", "@esbuild/sunos-x64": "0.18.14",
"@esbuild/win32-arm64": "0.18.11", "@esbuild/win32-arm64": "0.18.14",
"@esbuild/win32-ia32": "0.18.11", "@esbuild/win32-ia32": "0.18.14",
"@esbuild/win32-x64": "0.18.11" "@esbuild/win32-x64": "0.18.14"
} }
}, },
"node_modules/fast-equals": { "node_modules/fast-equals": {
@ -553,9 +553,9 @@
"peer": true "peer": true
}, },
"node_modules/kbar": { "node_modules/kbar": {
"version": "0.1.0-beta.40", "version": "0.1.0-beta.41",
"resolved": "https://registry.npmjs.org/kbar/-/kbar-0.1.0-beta.40.tgz", "resolved": "https://registry.npmjs.org/kbar/-/kbar-0.1.0-beta.41.tgz",
"integrity": "sha512-vEV02WuEBvKaSivO2DnNtyd3gUAbruYrZCax5fXcLcVTFV6q0/w6Ew3z6Qy+AqXxbZdWguwQ3POIwgdHevp+6A==", "integrity": "sha512-rxVcKz6pN9YOIInby63t/1LW8J1CpPDf2X1/s+YSTeCbfM160a2/mlPi5ncx0vOY7DyThCHyrWxgjgwScWC3kA==",
"dependencies": { "dependencies": {
"@radix-ui/react-portal": "^1.0.1", "@radix-ui/react-portal": "^1.0.1",
"command-score": "^0.1.2", "command-score": "^0.1.2",

View file

@ -14,6 +14,15 @@ defmodule ChiyaWeb.PageHTML do
|> Enum.map(&safe_to_string/1) |> Enum.map(&safe_to_string/1)
end end
def has_outline?(note) do
outline_empty =
note.content
|> ChiyaWeb.Outline.get()
|> Enum.empty?()
!outline_empty
end
def do_render_outline(%{text: text, children: children, level: _level}) do def do_render_outline(%{text: text, children: children, level: _level}) do
slug = Slugger.slugify_downcase(text) slug = Slugger.slugify_downcase(text)

View file

@ -1,14 +1,17 @@
<section class="max-w-2xl mx-auto"> <section class="max-w-2xl mx-auto">
<article class="h-card hcard"> <article class="h-card hcard">
<img
class="rounded-lg block text-center w-28 | u-photo" <section class="flex gap-3">
src={ChiyaWeb.Uploaders.UserImage.url({@user.user_image, @current_user}, :thumb)} <img
/> class="rounded-lg block text-center w-28 h-28 | u-photo"
src={ChiyaWeb.Uploaders.UserImage.url({@user.user_image, @current_user}, :thumb)}
<.header class="mt-8"> />
<span class="p-name"><%= @user.name %></span> <.header class="flex-1">
<:subtitle><%= @user.bio %></:subtitle> <span class="p-name"><%= @user.name %></span>
</.header> <:subtitle><%= @user.bio %></:subtitle>
</.header>
</section>
<%= if @note do %> <%= if @note do %>
<section class="mx-auto mt-8 prose prose-gruvbox md:prose-lg lg:prose-xl | p-summary e-content"> <section class="mx-auto mt-8 prose prose-gruvbox md:prose-lg lg:prose-xl | p-summary e-content">

View file

@ -3,11 +3,13 @@
<%= @note.name %> <%= @note.name %>
</.header> </.header>
<%= if has_outline?(@note) do %>
<aside class="max-w-2xl mx-auto mt-8 prose prose-gruvbox"> <aside class="max-w-2xl mx-auto mt-8 prose prose-gruvbox">
<div class="bg-theme-background1 rounded p-2 empty:hidden"> <div class="bg-theme-background1 rounded p-2">
<%= raw(render_outline(@note)) %> <%= raw(render_outline(@note)) %>
</div> </div>
</aside> </aside>
<% end %>
<section class="mt-8 mx-auto prose prose-gruvbox md:prose-lg lg:prose-xl | p-summary e-content"> <section class="mt-8 mx-auto prose prose-gruvbox md:prose-lg lg:prose-xl | p-summary e-content">
<%= Markdown.render(@note.content) |> raw %> <%= Markdown.render(@note.content) |> raw %>
@ -48,6 +50,10 @@
<span>Tags</span> <span>Tags</span>
<.tags note={@note} /> <.tags note={@note} />
<% end %> <% end %>
<%= if @note.kind != :post do %>
<.dot />
<span><%= @note.kind %></span>
<% end %>
<%= if @current_user do %> <%= if @current_user do %>
<.dot /> <.dot />
<a href={~p"/admin/notes/#{@note}"} class="underline-link font-semibold">Show in Admin</a> <a href={~p"/admin/notes/#{@note}"} class="underline-link font-semibold">Show in Admin</a>

View file

@ -6,31 +6,13 @@ defmodule ChiyaWeb.Indie.Micropub do
def create_note(type, properties) do def create_note(type, properties) do
settings = Chiya.Site.get_settings() settings = Chiya.Site.get_settings()
channel_id = settings.micropub_channel_id
with {:ok, post_type} <- Props.get_post_type(properties), with {:ok, note_attrs} <- get_attrs(type, properties, channel_id),
{:ok, note_attrs} <-
get_attrs(type, post_type, properties, settings.micropub_channel_id),
{:ok, note} <- Chiya.Notes.create_note(note_attrs) do {:ok, note} <- Chiya.Notes.create_note(note_attrs) do
create_photos(note, properties)
Logger.info("Note created!") Logger.info("Note created!")
# TODO: Make separate function for this
properties
|> Props.get_photos()
|> Enum.with_index()
|> Enum.map(fn {photo, index} ->
featured = index == 0
Chiya.Notes.create_note_image(%{
note_id: note.id,
path: photo.path,
featured: featured
})
end)
|> Enum.each(fn result ->
Logger.info("Photo created!")
Logger.info(inspect(result))
end)
{:ok, :created, Chiya.Notes.Note.note_url(note)} {:ok, :created, Chiya.Notes.Note.note_url(note)}
else else
error -> error ->
@ -41,6 +23,21 @@ defmodule ChiyaWeb.Indie.Micropub do
end end
end end
defp create_photos(note, properties) do
properties
|> Props.get_photos()
|> Enum.with_index()
|> Enum.each(fn {photo, index} ->
featured = index == 0
Chiya.Notes.create_note_image(%{
note_id: note.id,
path: photo.path,
featured: featured
})
end)
end
def verify_token(access_token) do def verify_token(access_token) do
Enum.reduce_while( Enum.reduce_while(
[ [
@ -57,7 +54,8 @@ defmodule ChiyaWeb.Indie.Micropub do
) )
end end
defp get_attrs(type, post_type, properties, channel_id) do defp get_attrs(type, properties, channel_id) do
{:ok, post_type} = Props.get_post_type(properties)
Logger.info("Creating a #{type}/#{post_type}..") Logger.info("Creating a #{type}/#{post_type}..")
channel = channel =
@ -67,6 +65,7 @@ defmodule ChiyaWeb.Indie.Micropub do
case post_type do case post_type do
:note -> get_note_attrs(properties, channel) :note -> get_note_attrs(properties, channel)
:bookmark -> get_bookmark_attrs(properties, channel)
_ -> {:error, :insufficient_scope} _ -> {:error, :insufficient_scope}
end end
end end
@ -94,13 +93,35 @@ defmodule ChiyaWeb.Indie.Micropub do
end end
end end
defp get_note_attrs(p, channel) do defp get_note_attrs(properties, channel) do
content = Props.get_content(p) attrs =
name = Props.get_title(p) || Chiya.Notes.Note.note_title(content) properties
tags = Props.get_tags(p) |> Enum.join(",") |> get_base_attrs()
|> get_channel(channel)
{:ok, attrs}
end
defp get_bookmark_attrs(properties, channel) do
url = Props.get_bookmarked_url(properties)
attrs =
properties
|> get_base_attrs()
|> get_channel(channel)
|> Map.put_new(:url, url)
|> Map.put_new(:kind, :bookmark)
{:ok, attrs}
end
defp get_base_attrs(properties) do
content = Props.get_content(properties)
name = Props.get_title(properties) || Chiya.Notes.Note.note_title(content)
tags = Props.get_tags(properties) |> Enum.join(",")
published_at = published_at =
if Props.is_published?(p), if Props.is_published?(properties),
do: NaiveDateTime.local_now(), do: NaiveDateTime.local_now(),
else: nil else: nil
@ -111,12 +132,13 @@ defmodule ChiyaWeb.Indie.Micropub do
published_at: published_at published_at: published_at
} }
attrs = attrs
if channel, end
do: Map.put(attrs, :channels, [channel]),
else: attrs
{:ok, attrs} def get_channel(attrs, channel) do
if channel,
do: Map.put(attrs, :channels, [channel]),
else: attrs
end end
defp get_hostname(), defp get_hostname(),