From fc181ea0863b0e98438217748c4a253e716188d5 Mon Sep 17 00:00:00 2001 From: Bot Date: Fri, 28 Jun 2024 14:11:01 +0200 Subject: [PATCH] dev-cron (#1) Reviewed-on: https://gitea.jaandrle.cz/jaandrle/mastodonCzStats/pulls/1 Co-authored-by: Bot Co-committed-by: Bot --- .gitea/workflows/demo.yaml | 22 -- .gitea/workflows/pull.yaml | 17 + mastodonCzStats.js | 81 ++--- mastodonCzStats.json | 443 +++++++++++++------------- package-lock.json | 626 +++++++++++++++++++++++++++++++++++++ package.json | 25 ++ 6 files changed, 920 insertions(+), 294 deletions(-) delete mode 100644 .gitea/workflows/demo.yaml create mode 100644 .gitea/workflows/pull.yaml create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml deleted file mode 100644 index 063ee0e..0000000 --- a/.gitea/workflows/demo.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: Gitea Actions Demo -run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 -on: - workflow_dispatch: - schedule: - - cron: '25 20 * * *' - -jobs: - Explore-Gitea-Actions: - runs-on: ubuntu-latest - steps: - - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." - - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" - - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - - name: Check out repository code - uses: actions/checkout@v3 - - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." - - run: echo "🖥️ The workflow is now ready to test your code on the runner." - - name: List files in the repository - run: | - ls ${{ gitea.workspace }} - - run: echo "🍏 This job's status is ${{ job.status }}." diff --git a/.gitea/workflows/pull.yaml b/.gitea/workflows/pull.yaml new file mode 100644 index 0000000..8432751 --- /dev/null +++ b/.gitea/workflows/pull.yaml @@ -0,0 +1,17 @@ +name: Collect month data +on: + workflow_dispatch: + schedule: + - cron: '0 12 1 * *' # At 12:00 Prague on the first day of the month + +jobs: + update-rss: + runs-on: ubuntu-latest + steps: + - uses: https://gitea.com/actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: https://gitea.com/actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + with: + node-version: lts/* + cache: 'npm' + - run: npm ci + - run: npx nodejsscript mastodonCzStats.js --git diff --git a/mastodonCzStats.js b/mastodonCzStats.js index 5370229..dfa769f 100755 --- a/mastodonCzStats.js +++ b/mastodonCzStats.js @@ -1,58 +1,15 @@ -#!/usr/bin/env nodejsscript +#!/usr/bin/env -S npx nodejsscript /* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */ -const instances_cz_pre= new Set([ - "mastodonczech.cz", - "mastodon.arch-linux.cz", - "nasface.cz", - "witter.cz", - "cztwitter.cz", - "mastodon.pirati.cz", - "gomastodon.cz", - "f.cz", - "toot.whatever.cz", - "mastodon.macsnet.cz", - "lgbtcz.social", - "kompost.cz", - "boskovice.social", - "propulse.club", - "mastodon.1984.cz", - "mastodon.rozhlas.cz", - "fediverse.cz", - "mastodon.queerclub.cz", - "mastodon.urbancloud.cz", - "kocour.club", - "mastodon.telekomunikace.cz", - "ajtaci.club", - "mastodon.darksheep.social", - "social.filik.eu", - "social.meyer.cz", - "mastodon.posvic.cz", - "mastodon.starnet.cz", - "blogator.com", - "hatedon.1984.cz", - "mastodon.loutaci.cz", - "social.gwei.cz", - "mastodon.vyboh.net", - "mastodon.skorpil.cz", - "mastodon.hinata.cz", - "social.toxwat.cz", - "spondr.cz", - "hlidacstatu.social", - "mastodon.train.cz", - "social.bobek.cz", - "social.blep.cz", - "mastodon.kickme.cz", - "mastodon.starlink.cz", - "mastodon.kiklhorn.cz", - "mastodon.haxo.cz", - "mutant.cz", - "masto.den1.cz", - "mastodon.gmb.cz", - "rodina-sucha.cz", - "social.taborsky.cz", -]); +const store= "./mastodonCzStats.json"; +const instances_cz_pre= new Set(s.cat(store).xargs(JSON.parse).instances_cz.map(i=> i.instance)); +const { version, description }= s.cat("package.json").xargs(JSON.parse); const timeOut= (l= 500)=> AbortSignal.timeout(l); -(async function main(){ + +$.api("", true) +.version(version) +.describe(description) +.option("--git", "Commit changes to git") +.action(async function main({ git: is_git }){ let stats= []; for(const instance of instances_cz_pre){ echo.use("-R", "Shromažďuji instance: " + instance); @@ -71,10 +28,24 @@ const timeOut= (l= 500)=> AbortSignal.timeout(l); instances_cz: stats.sort((a, b)=> b.registrations-a.registrations), sum: stats.reduce((acc, stats) => sumStats([acc, stats]), { statuses: 0, logins: 0, registrations: 0, mau: 0, user_count: 0 }) }; - echo(JSON.stringify(out, null, " ")).to("./mastodonCzStats.json"); + echo(JSON.stringify(out, null, " ")).to(store); + if(is_git) gitCommit([ store ], "cron"); $.exit(0); -})(); +}) +.parse(); +function gitCommit(files, des= "not specified"){ + if(!files.length || !s.run`git diff --numstat`.trim()) + return echo("Nothig todo"); + + echo("Diff to save"); + s.run`git config user.name "Bot"`; + s.run`git config user.email "${"zc.murtnec@naj.elrdna".split("").reverse().join("")}"`; + s.run`git add ${files}`; + s.run`git commit -m "Updated by bot – ${des}"`; + s.run`git push`; + s.run`git config --remove-section user`; +} async function* collectStats(instances, weeks = 1) { for(const instance of instances){ const { stats, mau, user_count }= await fetchInstanceStats(instance).catch(e=> ({})); diff --git a/mastodonCzStats.json b/mastodonCzStats.json index 62384a5..87ec012 100644 --- a/mastodonCzStats.json +++ b/mastodonCzStats.json @@ -1,237 +1,237 @@ { "instances_cz": [ { - "instance": "nasface.cz", - "mau": 71, - "user_count": 1458, - "week": 8553944685, - "statuses": 233, - "logins": 90, - "registrations": 34 + "instance": "mastodonczech.cz", + "mau": 752, + "user_count": 5312, + "week": 8591530195, + "statuses": 10850, + "logins": 2325, + "registrations": 16 }, { "instance": "witter.cz", - "mau": 271, - "user_count": 1458, - "week": 8554175825, - "statuses": 2613, - "logins": 762, - "registrations": 14 - }, - { - "instance": "boy.s.cz", - "mau": 19, - "user_count": 9, - "week": 8554110425, - "statuses": 1933, - "logins": 31, - "registrations": 14 - }, - { - "instance": "mastodonczech.cz", - "mau": 884, - "user_count": 5275, - "week": 8553901645, - "statuses": 11668, - "logins": 2559, - "registrations": 12 + "mau": 248, + "user_count": 1488, + "week": 8591832860, + "statuses": 1836, + "logins": 701, + "registrations": 6 }, { "instance": "mastodon.arch-linux.cz", - "mau": 199, - "user_count": 2980, - "week": 8554116335, - "statuses": 5164, - "logins": 505, + "mau": 167, + "user_count": 2997, + "week": 8591687250, + "statuses": 6461, + "logins": 428, + "registrations": 5 + }, + { + "instance": "f.cz", + "mau": 49, + "user_count": 124, + "week": 8591747175, + "statuses": 1379, + "logins": 146, "registrations": 4 }, { "instance": "mastodon.pirati.cz", - "mau": 47, - "user_count": 378, - "week": 8553954970, - "statuses": 168, - "logins": 123, - "registrations": 1 + "mau": 50, + "user_count": 383, + "week": 8591587150, + "statuses": 293, + "logins": 122, + "registrations": 4 }, { - "instance": "boskovice.social", - "mau": 10, - "user_count": 26, - "week": 8554157700, - "statuses": 91, - "logins": 28, - "registrations": 1 + "instance": "mamutovo.cz", + "mau": 8, + "user_count": 12, + "week": 8591647100, + "statuses": 413, + "logins": 23, + "registrations": 3 }, { "instance": "cztwitter.cz", - "mau": 138, - "user_count": 767, - "week": 8553899725, - "statuses": 1659, - "logins": 380, - "registrations": 0 + "mau": 131, + "user_count": 769, + "week": 8591724400, + "statuses": 1583, + "logins": 346, + "registrations": 2 }, { "instance": "gomastodon.cz", "mau": 5, - "user_count": 240, - "week": 8554184360, + "user_count": 242, + "week": 8591620775, "statuses": 0, - "logins": 4, - "registrations": 0 + "logins": 6, + "registrations": 2 }, { - "instance": "f.cz", - "mau": 45, - "user_count": 112, - "week": 8554161265, - "statuses": 1041, - "logins": 138, - "registrations": 0 + "instance": "social.filik.eu", + "mau": 6, + "user_count": 9, + "week": 8591827515, + "statuses": 6, + "logins": 15, + "registrations": 2 + }, + { + "instance": "nasface.cz", + "mau": 8, + "user_count": 1388, + "week": 8591676940, + "statuses": 1, + "logins": 11, + "registrations": 1 + }, + { + "instance": "mastodon.urbancloud.cz", + "mau": 13, + "user_count": 17, + "week": 8591655020, + "statuses": 13, + "logins": 39, + "registrations": 1 + }, + { + "instance": "spondr.cz", + "mau": 4, + "user_count": 4, + "week": 8591442460, + "statuses": 152, + "logins": 16, + "registrations": 1 }, { "instance": "toot.whatever.cz", "mau": 5, - "user_count": 55, - "week": 8554056915, - "statuses": 19, - "logins": 16, + "user_count": 56, + "week": 8591576265, + "statuses": 43, + "logins": 15, + "registrations": 0 + }, + { + "instance": "kompost.cz", + "mau": 11, + "user_count": 33, + "week": 8591446410, + "statuses": 233, + "logins": 39, "registrations": 0 }, { "instance": "mastodon.macsnet.cz", "mau": 3, "user_count": 52, - "week": 8554040835, - "statuses": 216, + "week": 8591630330, + "statuses": 167, "logins": 12, "registrations": 0 }, { "instance": "lgbtcz.social", - "mau": 9, + "mau": 8, "user_count": 44, - "week": 8553853475, - "statuses": 4, - "logins": 20, - "registrations": 0 - }, - { - "instance": "kompost.cz", - "mau": 9, - "user_count": 33, - "week": 8554146195, - "statuses": 171, - "logins": 33, - "registrations": 0 - }, - { - "instance": "propulse.club", - "mau": 11, - "user_count": 22, - "week": 8554179085, - "statuses": 13741, - "logins": 37, - "registrations": 0 - }, - { - "instance": "mastodon.1984.cz", - "mau": 4, - "user_count": 20, - "week": 8553828115, - "statuses": 92, + "week": 8591463030, + "statuses": 7, "logins": 16, "registrations": 0 }, + { + "instance": "boskovice.social", + "mau": 10, + "user_count": 26, + "week": 8591731330, + "statuses": 82, + "logins": 33, + "registrations": 0 + }, + { + "instance": "mastodon.1984.cz", + "mau": 3, + "user_count": 20, + "week": 8591673075, + "statuses": 0, + "logins": 12, + "registrations": 0 + }, { "instance": "mastodon.rozhlas.cz", - "mau": 5, + "mau": 6, "user_count": 18, - "week": 8554146275, - "statuses": 194, - "logins": 14, + "week": 8591809005, + "statuses": 305, + "logins": 20, "registrations": 0 }, { "instance": "fediverse.cz", - "mau": 2, + "mau": 1, "user_count": 18, - "week": 8554012740, + "week": 8591563520, "statuses": 0, - "logins": 8, - "registrations": 0 - }, - { - "instance": "mastodon.urbancloud.cz", - "mau": 11, - "user_count": 16, - "week": 8554056620, - "statuses": 18, - "logins": 31, + "logins": 5, "registrations": 0 }, { "instance": "kocour.club", - "mau": 9, + "mau": 8, "user_count": 14, - "week": 8554093690, - "statuses": 30, - "logins": 35, + "week": 8591574535, + "statuses": 26, + "logins": 28, "registrations": 0 }, { "instance": "ajtaci.club", "mau": 1, "user_count": 9, - "week": 8554068725, - "statuses": 2, - "logins": 4, + "week": 8591499030, + "statuses": 4, + "logins": 5, "registrations": 0 }, { "instance": "mastodon.darksheep.social", - "mau": 7, + "mau": 0, "user_count": 11, - "week": 8554003115, + "week": 8591478175, "statuses": 0, - "logins": 7, - "registrations": 0 - }, - { - "instance": "social.filik.eu", - "mau": 5, - "user_count": 7, - "week": 8553999025, - "statuses": 19, - "logins": 17, + "logins": 0, "registrations": 0 }, { "instance": "social.meyer.cz", "mau": 4, "user_count": 9, - "week": 8553857805, - "statuses": 155, - "logins": 13, + "week": 8591583210, + "statuses": 139, + "logins": 17, "registrations": 0 }, { "instance": "mastodon.starnet.cz", "mau": 2, "user_count": 7, - "week": 8554080410, - "statuses": 13, + "week": 8591587000, + "statuses": 12, "logins": 6, "registrations": 0 }, { "instance": "blogator.com", - "mau": 1, + "mau": 2, "user_count": 5, - "week": 8554089770, + "week": 8591581115, "statuses": 0, - "logins": 1, + "logins": 3, "registrations": 0 }, { @@ -246,143 +246,134 @@ { "instance": "mastodon.loutaci.cz", "mau": 1, - "user_count": 5, - "week": 8554073865, - "statuses": 0, - "logins": 2, + "user_count": 7, + "week": 8591552095, + "statuses": 1, + "logins": 3, "registrations": 0 }, { "instance": "mastodon.skorpil.cz", "mau": 3, "user_count": 3, - "week": 8554017235, - "statuses": 52, - "logins": 13, + "week": 8591420460, + "statuses": 11, + "logins": 10, "registrations": 0 }, { "instance": "mastodon.hinata.cz", "mau": 1, "user_count": 3, - "week": 8553965295, + "week": 8591465235, "statuses": 0, "logins": 5, "registrations": 0 }, { - "instance": "spondr.cz", - "mau": 3, - "user_count": 3, - "week": 8554175800, - "statuses": 194, - "logins": 12, + "instance": "social.toxwat.cz", + "mau": 1, + "user_count": 4, + "week": 8591731740, + "statuses": 0, + "logins": 1, "registrations": 0 }, { "instance": "hlidacstatu.social", "mau": 1, "user_count": 3, - "week": 8554157720, - "statuses": 2, - "logins": 2, + "week": 8591440675, + "statuses": 0, + "logins": 1, "registrations": 0 }, { "instance": "mastodon.train.cz", - "mau": 1, + "mau": 2, "user_count": 2, - "week": 8554079760, + "week": 8591576985, "statuses": 0, - "logins": 4, + "logins": 6, "registrations": 0 }, { "instance": "social.bobek.cz", "mau": 1, "user_count": 2, - "week": 8554122080, + "week": 8591585510, "statuses": 1, - "logins": 4, + "logins": 5, "registrations": 0 }, { "instance": "social.blep.cz", "mau": 1, "user_count": 2, - "week": 8554098030, + "week": 8591784145, "statuses": 0, - "logins": 2, - "registrations": 0 - }, - { - "instance": "mastodon.starlink.cz", - "mau": 0, - "user_count": 3, - "week": 8554067180, - "statuses": 0, - "logins": 0, + "logins": 4, "registrations": 0 }, { "instance": "mastodon.haxo.cz", - "mau": 1, + "mau": 0, "user_count": 2, - "week": 8554082325, + "week": 8591552775, "statuses": 0, - "logins": 3, + "logins": 0, "registrations": 0 }, { "instance": "mutant.cz", "mau": 1, "user_count": 2, - "week": 8553800860, - "statuses": 0, - "logins": 5, + "week": 8591787130, + "statuses": 6, + "logins": 4, "registrations": 0 }, { "instance": "mastodon.gmb.cz", "mau": 1, "user_count": 1, - "week": 8554139585, - "statuses": 1, - "logins": 3, + "week": 8591805170, + "statuses": 0, + "logins": 2, "registrations": 0 }, { "instance": "rodina-sucha.cz", "mau": 1, "user_count": 1, - "week": 8554184415, - "statuses": 73, - "logins": 5, + "week": 8591817085, + "statuses": 66, + "logins": 4, "registrations": 0 }, { "instance": "social.taborsky.cz", "mau": 1, "user_count": 1, - "week": 8554184415, - "statuses": 1, + "week": 8591585510, + "statuses": 2, "logins": 5, "registrations": 0 }, { - "instance": "mamutovo.cz", - "mau": 5, - "user_count": 7, - "week": 8554068045, - "statuses": 433, - "logins": 18, + "instance": "cynikobecny.cz", + "mau": 1, + "user_count": 2, + "week": 8591512610, + "statuses": 158, + "logins": 4, "registrations": 0 }, { "instance": "mastodon.morwud.cz", "mau": 1, "user_count": 1, - "week": 8553909020, + "week": 8591766055, "statuses": 4, "logins": 4, "registrations": 0 @@ -391,35 +382,53 @@ "instance": "torsten.cz", "mau": 1, "user_count": 4, - "week": 8553957045, - "statuses": 10, + "week": 8591490015, + "statuses": 18, "logins": 5, "registrations": 0 }, - { - "instance": "cynikobecny.cz", - "mau": 1, - "user_count": 1, - "week": 8553817960, - "statuses": 139, - "logins": 4, - "registrations": 0 - }, { "instance": "mastodon.zs-studanka.cz", "mau": 1, "user_count": 1, - "week": 8554184510, - "statuses": 8, + "week": 8591832910, + "statuses": 17, + "logins": 4, + "registrations": 0 + }, + { + "instance": "social.vojtat.cz", + "mau": 1, + "user_count": 1, + "week": 8591589575, + "statuses": 0, + "logins": 3, + "registrations": 0 + }, + { + "instance": "boy.s.cz", + "mau": 1, + "user_count": 8, + "week": 8591727055, + "statuses": 303, + "logins": 3, + "registrations": 0 + }, + { + "instance": "social.jirutka.cz", + "mau": 1, + "user_count": 2, + "week": 8591668745, + "statuses": 56, "logins": 4, "registrations": 0 } ], "sum": { - "statuses": 40173, - "logins": 4994, - "registrations": 80, - "mau": 1804, - "user_count": 13096 + "statuses": 24659, + "logins": 4470, + "registrations": 47, + "mau": 1528, + "user_count": 13125 } } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..42eb75c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,626 @@ +{ + "name": "mastodon-cz-stats", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "mastodon-cz-stats", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "nodejsscript": "~1.0" + }, + "bin": { + "mastodon-cz-stats": "mastodonCzStats.js" + }, + "engines": { + "node": ">=18.19" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" + }, + "node_modules/@types/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-G4+QT8Plq6q1UnOX6JgtLrEU/4QXF/Z5oNr6TWdiv9EU2hsJPbemH4rCecwNajzij+2CxrxFg2Y98Q+ViDV79Q==", + "deprecated": "This is a stub types definition. mri provides its own type definitions, so you do not need this installed.", + "dependencies": { + "mri": "*" + } + }, + "node_modules/@types/node": { + "version": "20.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", + "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/sade": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@types/sade/-/sade-1.7.8.tgz", + "integrity": "sha512-WGEWfxQ8VHLm3JS4ljRR3MSPqVjY0JMo6zsbBywOjFIxP8Cizxx1p6r6FxOnAOZpUn4VOFoRRTXFmaOLD/+VOQ==", + "dependencies": { + "@types/mri": "*" + } + }, + "node_modules/@types/shelljs": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.15.tgz", + "integrity": "sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==", + "dependencies": { + "@types/glob": "~7.2.0", + "@types/node": "*" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-shell-escape": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/any-shell-escape/-/any-shell-escape-0.1.1.tgz", + "integrity": "sha512-36j4l5HVkboyRhIWgtMh1I9i8LTdFqVwDEHy1cp+QioJyKgAUG40X0W8s7jakWRta/Sjvm8mUG1fU6Tj8mWagQ==" + }, + "node_modules/async-exit-hook": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-1.1.2.tgz", + "integrity": "sha512-CeTSWB5Bou31xSHeO45ZKgLPRaJbV4I8csRcFYETDBehX7H+1GDO/v+v8G7fZmar1gOmYa6UTXn6d/WIiJbslw==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "peer": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "peer": true + }, + "node_modules/css-in-console": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-in-console/-/css-in-console-2.0.0.tgz", + "integrity": "sha512-Xbphn3qbe/XO67D8dr7Q39qSqi3ddnSsL72nixhKLiUEr8K3oTlk9aCOKRyCVNgPtgWwhynM19jj5mw1n/K2Tg==", + "engines": { + "node": ">=18" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "peer": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "peer": true + }, + "node_modules/inspect-custom-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/inspect-custom-symbol/-/inspect-custom-symbol-1.1.1.tgz", + "integrity": "sha512-GOucsp9EcdlLdhPUyOTvQDnbFJtp2WBWZV1Jqe+mVnkJQBL3w96+fB84C+JL+EKXOspMdB0eMDQPDp5w9fkfZA==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "peer": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "peer": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/just-flatten-it": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/just-flatten-it/-/just-flatten-it-2.2.1.tgz", + "integrity": "sha512-VwvlzikphspzZL38LiZpoBsFGQy6MnmXYekBeZA8lSNwgSC87zA3a93bCZKkDuOM+djMZhfjd3lXAZyxficKCg==" + }, + "node_modules/just-zip-it": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/just-zip-it/-/just-zip-it-2.3.1.tgz", + "integrity": "sha512-h8Y3DAVTZRP3Weq7btWYfkYHQGhxiuKzfOO7Ec+x8XaDcBvbOsC2jIdezC6tEzbt+A4fTJTREnj3gF5DyMkFfw==" + }, + "node_modules/log-update-async-hook": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/log-update-async-hook/-/log-update-async-hook-2.0.7.tgz", + "integrity": "sha512-V9KpD1AZUBd/oiZ+/Xsgd5rRP9awhgtRiDv5Am4VQCixiDnAbXMdt/yKz41kCzYZtVbwC6YCxnWEF3zjNEwktA==", + "dependencies": { + "ansi-escapes": "^4.3.2", + "async-exit-hook": "^1.1.2", + "onetime": "^2.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/nodejsscript": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nodejsscript/-/nodejsscript-1.0.1.tgz", + "integrity": "sha512-FjicGRDDsrWCZNBdjHKLjriidynoSIN8kGrZGTZFBBiKxSydsui4LvrpZzvoAg9J6RE6vjxEXSLhrxGox6y+Dg==", + "dependencies": { + "@types/sade": "~1.7", + "@types/shelljs": "~0.8", + "abort-controller": "~3.0", + "css-in-console": "~2.0", + "log-update-async-hook": "~2.0", + "node-fetch": "~3.3", + "sade": "~1.8", + "shell-escape-tag": "~2.0" + }, + "bin": { + "njs": "bin/index.mjs", + "nodejsscript": "bin/index.mjs" + }, + "engines": { + "node": ">= 16.0.0" + }, + "peerDependencies": { + "shelljs": "~0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "peer": true + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "peer": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "peer": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/shell-escape-tag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/shell-escape-tag/-/shell-escape-tag-2.0.2.tgz", + "integrity": "sha512-kqmtJG6VzTahZl8Y3384ldskA9rzoEMdXLoMEBAq9334/UDdmfWl3OtmrGJPlVcyXvcSy3poDKka57gMxskMPw==", + "dependencies": { + "any-shell-escape": "^0.1.1", + "inspect-custom-symbol": "^1.1.1", + "just-flatten-it": "^2.1.0", + "just-zip-it": "^2.1.0" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "peer": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "peer": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..8a97ef1 --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "name": "mastodon-cz-stats", + "version": "1.0.0", + "description": "Experimentální skript k získání českých Mastodon instancí a dodatečných informací.", + "bin": "mastodonCzStats.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Jan Andrle ", + "repository": { + "type": "git", + "url": "https://gitea.jaandrle.cz/jaandrle/mastodonCzStats.git" + }, + "homepage": "https://gitea.jaandrle.cz/jaandrle/mastodonCzStats", + "bugs": { + "url": "https://gitea.jaandrle.cz/jaandrle/mastodonCzStats/issues" + }, + "license": "MIT", + "dependencies": { + "nodejsscript": "~1.0" + }, + "engines": { + "node": ">=18.19" + } +}