website
git clone https://git.pyrossh.dev/website
木 Personal website of pyrossh. Built with astrojs, shiki, vite.
778e0a4
— pyrossh
2026-08-05T10:34:09+05:30
add infra
- .gitignore +4 -0
- infra/.terraform.lock.hcl +19 -0
- infra/main.tf +44 -0
- infra/outputs.tf +11 -0
- infra/variables.tf +11 -0
- package-lock.json +4 -670
- package.json +4 -4
- src/_data/repoCommits.js +21 -1
- src/_data/repoFiles.js +7 -1
.gitignore
CHANGED
|
@@ -6,3 +6,7 @@ dist/
|
|
|
6
6
|
.wrangler/
|
|
7
7
|
playwright-report/
|
|
8
8
|
test-results/
|
|
9
|
+
infra/.terraform/
|
|
10
|
+
infra/*.tfstate
|
|
11
|
+
infra/*.tfstate.*
|
|
12
|
+
infra/terraform.tfvars
|
infra/.terraform.lock.hcl
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# This file is maintained automatically by "terraform init".
|
|
2
|
+
# Manual edits may be lost in future updates.
|
|
3
|
+
|
|
4
|
+
provider "registry.terraform.io/cloudflare/cloudflare" {
|
|
5
|
+
version = "5.22.0"
|
|
6
|
+
constraints = "~> 5.0"
|
|
7
|
+
hashes = [
|
|
8
|
+
"h1:H3XmcpcMLeDyuGU6QsBXeVOB2CQGnIVRt6PJf7hfrtE=",
|
|
9
|
+
"zh:45f3b7c50254b1da1dc21e77e03cd1e931cab40fb75c7cba822a53ed54cd232e",
|
|
10
|
+
"zh:8437138c0af1a1a557b516ca42dae54499933cc81072396abe7eefd267218f79",
|
|
11
|
+
"zh:9140044a3c909e1a2767c8b2dd95370b8152bcbc7cb26c47e376e81f75512d32",
|
|
12
|
+
"zh:b69a80d2bb33059e93dec94490065fe210c621d8bdf32d745b1d1972aa85abbf",
|
|
13
|
+
"zh:ca4bf16742a7e59319a482f003d32f6f6abbc5fbf862916ce1a136278e6d420d",
|
|
14
|
+
"zh:cd767016ea7382e384e560f6ddb302637ecb1b53ece15c9326032010effe6c33",
|
|
15
|
+
"zh:d952f92ae1a688ed376757127ae1aa3b625571bf1fc606214a5822eae98213e0",
|
|
16
|
+
"zh:f5213814c8ca0d736623438b283143b9a7f98e72ca4992eb906966e7f8cc383b",
|
|
17
|
+
"zh:f809ab383cca0a5f83072981c64208cbd7fa67e986a86ee02dd2c82333221e32",
|
|
18
|
+
]
|
|
19
|
+
}
|
infra/main.tf
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
terraform {
|
|
2
|
+
required_providers {
|
|
3
|
+
cloudflare = {
|
|
4
|
+
source = "cloudflare/cloudflare"
|
|
5
|
+
version = "~> 5.0"
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
provider "cloudflare" {}
|
|
11
|
+
|
|
12
|
+
resource "cloudflare_r2_bucket" "website" {
|
|
13
|
+
account_id = var.cloudflare_account_id
|
|
14
|
+
name = "website"
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
resource "cloudflare_r2_custom_domain" "website" {
|
|
18
|
+
account_id = var.cloudflare_account_id
|
|
19
|
+
bucket_name = cloudflare_r2_bucket.website.name
|
|
20
|
+
domain = "pyrossh.dev"
|
|
21
|
+
zone_id = var.cloudflare_zone_id
|
|
22
|
+
enabled = true
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
# Syncs ../dist into the bucket on every `terraform apply` — `terraform_data`
|
|
26
|
+
# has no real infra state of its own, so `triggers_replace` on a timestamp is
|
|
27
|
+
# the standard way to force its provisioner to re-run every time rather than
|
|
28
|
+
# only on the first apply. `rclone sync` (not `copy`) both uploads changed
|
|
29
|
+
# files and deletes remote objects no longer present locally, so the bucket
|
|
30
|
+
# always matches the latest build exactly.
|
|
31
|
+
#
|
|
32
|
+
# Requires `rclone` on the machine running `terraform apply`, with a remote
|
|
33
|
+
# named "website" configured for R2 (`rclone config`) — an S3-compatible
|
|
34
|
+
# access key/secret scoped to this bucket, not the Cloudflare API token used
|
|
35
|
+
# above.
|
|
36
|
+
resource "terraform_data" "sync_website" {
|
|
37
|
+
triggers_replace = [timestamp()]
|
|
38
|
+
|
|
39
|
+
depends_on = [cloudflare_r2_bucket.website]
|
|
40
|
+
|
|
41
|
+
provisioner "local-exec" {
|
|
42
|
+
command = "rclone sync ${path.module}/../dist website:${cloudflare_r2_bucket.website.name} --checksum --fast-list"
|
|
43
|
+
}
|
|
44
|
+
}
|
infra/outputs.tf
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
output "bucket_name" {
|
|
2
|
+
value = cloudflare_r2_bucket.website.name
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
output "custom_domain_ownership_status" {
|
|
6
|
+
value = cloudflare_r2_custom_domain.website.status.ownership
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
output "custom_domain_ssl_status" {
|
|
10
|
+
value = cloudflare_r2_custom_domain.website.status.ssl
|
|
11
|
+
}
|
infra/variables.tf
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
variable "cloudflare_account_id" {
|
|
2
|
+
description = "Cloudflare account ID"
|
|
3
|
+
type = string
|
|
4
|
+
default = "dfdb8ca4e419990852eb214c5b50bd5e"
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
variable "cloudflare_zone_id" {
|
|
8
|
+
description = "Zone ID for the pyrossh.dev zone"
|
|
9
|
+
type = string
|
|
10
|
+
default = "e95a5d8957b75859c814579deebfce33"
|
|
11
|
+
}
|
package-lock.json
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
"packages": {
|
|
6
6
|
"": {
|
|
7
7
|
"name": "pyrossh-dev",
|
|
8
|
-
"hasInstallScript": true,
|
|
9
8
|
"dependencies": {
|
|
10
9
|
"diff2html": "^3.4.52",
|
|
11
10
|
"htmx.org": "^2.0.4",
|
|
@@ -16,8 +15,7 @@
|
|
|
16
15
|
"@11ty/eleventy": "^3.0.0",
|
|
17
16
|
"@11ty/eleventy-plugin-rss": "^2.0.0",
|
|
18
17
|
"@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0",
|
|
19
|
-
"@iconify-json/vscode-icons": "^1.2.68"
|
|
18
|
+
"@iconify-json/vscode-icons": "^1.2.68"
|
|
20
|
-
"patch-package": "^8.0.1"
|
|
21
19
|
}
|
|
22
20
|
},
|
|
23
21
|
"node_modules/@11ty/dependency-tree": {
|
|
@@ -298,13 +296,6 @@
|
|
|
298
296
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
299
297
|
}
|
|
300
298
|
},
|
|
301
|
-
"node_modules/@yarnpkg/lockfile": {
|
|
302
|
-
"version": "1.1.0",
|
|
303
|
-
"resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
|
|
304
|
-
"integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
|
|
305
|
-
"dev": true,
|
|
306
|
-
"license": "BSD-2-Clause"
|
|
307
|
-
},
|
|
308
299
|
"node_modules/a-sync-waterfall": {
|
|
309
300
|
"version": "1.0.1",
|
|
310
301
|
"resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz",
|
|
@@ -344,22 +335,6 @@
|
|
|
344
335
|
"node": ">=0.4.0"
|
|
345
336
|
}
|
|
346
337
|
},
|
|
347
|
-
"node_modules/ansi-styles": {
|
|
348
|
-
"version": "4.3.0",
|
|
349
|
-
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
|
350
|
-
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
|
351
|
-
"dev": true,
|
|
352
|
-
"license": "MIT",
|
|
353
|
-
"dependencies": {
|
|
354
|
-
"color-convert": "^2.0.1"
|
|
355
|
-
},
|
|
356
|
-
"engines": {
|
|
357
|
-
"node": ">=8"
|
|
358
|
-
},
|
|
359
|
-
"funding": {
|
|
360
|
-
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
|
361
|
-
}
|
|
362
|
-
},
|
|
363
338
|
"node_modules/anymatch": {
|
|
364
339
|
"version": "3.1.3",
|
|
365
340
|
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
|
|
@@ -484,73 +459,6 @@
|
|
|
484
459
|
"node": ">=8"
|
|
485
460
|
}
|
|
486
461
|
},
|
|
487
|
-
"node_modules/call-bind": {
|
|
488
|
-
"version": "1.0.9",
|
|
489
|
-
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz",
|
|
490
|
-
"integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==",
|
|
491
|
-
"dev": true,
|
|
492
|
-
"license": "MIT",
|
|
493
|
-
"dependencies": {
|
|
494
|
-
"call-bind-apply-helpers": "^1.0.2",
|
|
495
|
-
"es-define-property": "^1.0.1",
|
|
496
|
-
"get-intrinsic": "^1.3.0",
|
|
497
|
-
"set-function-length": "^1.2.2"
|
|
498
|
-
},
|
|
499
|
-
"engines": {
|
|
500
|
-
"node": ">= 0.4"
|
|
501
|
-
},
|
|
502
|
-
"funding": {
|
|
503
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
504
|
-
}
|
|
505
|
-
},
|
|
506
|
-
"node_modules/call-bind-apply-helpers": {
|
|
507
|
-
"version": "1.0.2",
|
|
508
|
-
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
|
509
|
-
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
|
510
|
-
"dev": true,
|
|
511
|
-
"license": "MIT",
|
|
512
|
-
"dependencies": {
|
|
513
|
-
"es-errors": "^1.3.0",
|
|
514
|
-
"function-bind": "^1.1.2"
|
|
515
|
-
},
|
|
516
|
-
"engines": {
|
|
517
|
-
"node": ">= 0.4"
|
|
518
|
-
}
|
|
519
|
-
},
|
|
520
|
-
"node_modules/call-bound": {
|
|
521
|
-
"version": "1.0.4",
|
|
522
|
-
"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
|
|
523
|
-
"integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
|
|
524
|
-
"dev": true,
|
|
525
|
-
"license": "MIT",
|
|
526
|
-
"dependencies": {
|
|
527
|
-
"call-bind-apply-helpers": "^1.0.2",
|
|
528
|
-
"get-intrinsic": "^1.3.0"
|
|
529
|
-
},
|
|
530
|
-
"engines": {
|
|
531
|
-
"node": ">= 0.4"
|
|
532
|
-
},
|
|
533
|
-
"funding": {
|
|
534
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
535
|
-
}
|
|
536
|
-
},
|
|
537
|
-
"node_modules/chalk": {
|
|
538
|
-
"version": "4.1.2",
|
|
539
|
-
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
|
540
|
-
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
|
541
|
-
"dev": true,
|
|
542
|
-
"license": "MIT",
|
|
543
|
-
"dependencies": {
|
|
544
|
-
"ansi-styles": "^4.1.0",
|
|
545
|
-
"supports-color": "^7.1.0"
|
|
546
|
-
},
|
|
547
|
-
"engines": {
|
|
548
|
-
"node": ">=10"
|
|
549
|
-
},
|
|
550
|
-
"funding": {
|
|
551
|
-
"url": "https://github.com/chalk/chalk?sponsor=1"
|
|
552
|
-
}
|
|
553
|
-
},
|
|
554
462
|
"node_modules/chokidar": {
|
|
555
463
|
"version": "3.6.0",
|
|
556
464
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
|
|
@@ -576,42 +484,6 @@
|
|
|
576
484
|
"fsevents": "~2.3.2"
|
|
577
485
|
}
|
|
578
486
|
},
|
|
579
|
-
"node_modules/ci-info": {
|
|
580
|
-
"version": "3.9.0",
|
|
581
|
-
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
|
|
582
|
-
"integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
|
|
583
|
-
"dev": true,
|
|
584
|
-
"funding": [
|
|
585
|
-
{
|
|
586
|
-
"type": "github",
|
|
587
|
-
"url": "https://github.com/sponsors/sibiraj-s"
|
|
588
|
-
}
|
|
589
|
-
],
|
|
590
|
-
"license": "MIT",
|
|
591
|
-
"engines": {
|
|
592
|
-
"node": ">=8"
|
|
593
|
-
}
|
|
594
|
-
},
|
|
595
|
-
"node_modules/color-convert": {
|
|
596
|
-
"version": "2.0.1",
|
|
597
|
-
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
|
598
|
-
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
|
599
|
-
"dev": true,
|
|
600
|
-
"license": "MIT",
|
|
601
|
-
"dependencies": {
|
|
602
|
-
"color-name": "~1.1.4"
|
|
603
|
-
},
|
|
604
|
-
"engines": {
|
|
605
|
-
"node": ">=7.0.0"
|
|
606
|
-
}
|
|
607
|
-
},
|
|
608
|
-
"node_modules/color-name": {
|
|
609
|
-
"version": "1.1.4",
|
|
610
|
-
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
|
611
|
-
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
|
612
|
-
"dev": true,
|
|
613
|
-
"license": "MIT"
|
|
614
|
-
},
|
|
615
487
|
"node_modules/commander": {
|
|
616
488
|
"version": "10.0.1",
|
|
617
489
|
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
|
|
@@ -629,21 +501,6 @@
|
|
|
629
501
|
"dev": true,
|
|
630
502
|
"license": "MIT"
|
|
631
503
|
},
|
|
632
|
-
"node_modules/cross-spawn": {
|
|
633
|
-
"version": "7.0.6",
|
|
634
|
-
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
|
635
|
-
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
|
|
636
|
-
"dev": true,
|
|
637
|
-
"license": "MIT",
|
|
638
|
-
"dependencies": {
|
|
639
|
-
"path-key": "^3.1.0",
|
|
640
|
-
"shebang-command": "^2.0.0",
|
|
641
|
-
"which": "^2.0.1"
|
|
642
|
-
},
|
|
643
|
-
"engines": {
|
|
644
|
-
"node": ">= 8"
|
|
645
|
-
}
|
|
646
|
-
},
|
|
647
504
|
"node_modules/debug": {
|
|
648
505
|
"version": "4.4.3",
|
|
649
506
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
|
@@ -662,24 +519,6 @@
|
|
|
662
519
|
}
|
|
663
520
|
}
|
|
664
521
|
},
|
|
665
|
-
"node_modules/define-data-property": {
|
|
666
|
-
"version": "1.1.4",
|
|
667
|
-
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
|
|
668
|
-
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
|
|
669
|
-
"dev": true,
|
|
670
|
-
"license": "MIT",
|
|
671
|
-
"dependencies": {
|
|
672
|
-
"es-define-property": "^1.0.0",
|
|
673
|
-
"es-errors": "^1.3.0",
|
|
674
|
-
"gopd": "^1.0.1"
|
|
675
|
-
},
|
|
676
|
-
"engines": {
|
|
677
|
-
"node": ">= 0.4"
|
|
678
|
-
},
|
|
679
|
-
"funding": {
|
|
680
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
681
|
-
}
|
|
682
|
-
},
|
|
683
522
|
"node_modules/depd": {
|
|
684
523
|
"version": "2.0.0",
|
|
685
524
|
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
|
@@ -725,21 +564,6 @@
|
|
|
725
564
|
"highlight.js": "11.11.1"
|
|
726
565
|
}
|
|
727
566
|
},
|
|
728
|
-
"node_modules/dunder-proto": {
|
|
729
|
-
"version": "1.0.1",
|
|
730
|
-
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
|
731
|
-
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
|
732
|
-
"dev": true,
|
|
733
|
-
"license": "MIT",
|
|
734
|
-
"dependencies": {
|
|
735
|
-
"call-bind-apply-helpers": "^1.0.1",
|
|
736
|
-
"es-errors": "^1.3.0",
|
|
737
|
-
"gopd": "^1.2.0"
|
|
738
|
-
},
|
|
739
|
-
"engines": {
|
|
740
|
-
"node": ">= 0.4"
|
|
741
|
-
}
|
|
742
|
-
},
|
|
743
567
|
"node_modules/ee-first": {
|
|
744
568
|
"version": "1.1.1",
|
|
745
569
|
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
|
@@ -783,39 +607,6 @@
|
|
|
783
607
|
"errno": "cli.js"
|
|
784
608
|
}
|
|
785
609
|
},
|
|
786
|
-
"node_modules/es-define-property": {
|
|
787
|
-
"version": "1.0.1",
|
|
788
|
-
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
|
789
|
-
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
|
790
|
-
"dev": true,
|
|
791
|
-
"license": "MIT",
|
|
792
|
-
"engines": {
|
|
793
|
-
"node": ">= 0.4"
|
|
794
|
-
}
|
|
795
|
-
},
|
|
796
|
-
"node_modules/es-errors": {
|
|
797
|
-
"version": "1.3.0",
|
|
798
|
-
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
|
799
|
-
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
|
800
|
-
"dev": true,
|
|
801
|
-
"license": "MIT",
|
|
802
|
-
"engines": {
|
|
803
|
-
"node": ">= 0.4"
|
|
804
|
-
}
|
|
805
|
-
},
|
|
806
|
-
"node_modules/es-object-atoms": {
|
|
807
|
-
"version": "1.1.2",
|
|
808
|
-
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
|
|
809
|
-
"integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
|
|
810
|
-
"dev": true,
|
|
811
|
-
"license": "MIT",
|
|
812
|
-
"dependencies": {
|
|
813
|
-
"es-errors": "^1.3.0"
|
|
814
|
-
},
|
|
815
|
-
"engines": {
|
|
816
|
-
"node": ">= 0.4"
|
|
817
|
-
}
|
|
818
|
-
},
|
|
819
610
|
"node_modules/escape-html": {
|
|
820
611
|
"version": "1.0.3",
|
|
821
612
|
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
|
@@ -966,16 +757,6 @@
|
|
|
966
757
|
"dev": true,
|
|
967
758
|
"license": "MIT"
|
|
968
759
|
},
|
|
969
|
-
"node_modules/find-yarn-workspace-root": {
|
|
970
|
-
"version": "2.0.0",
|
|
971
|
-
"resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz",
|
|
972
|
-
"integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==",
|
|
973
|
-
"dev": true,
|
|
974
|
-
"license": "Apache-2.0",
|
|
975
|
-
"dependencies": {
|
|
976
|
-
"micromatch": "^4.0.2"
|
|
977
|
-
}
|
|
978
|
-
},
|
|
979
760
|
"node_modules/fresh": {
|
|
980
761
|
"version": "2.0.0",
|
|
981
762
|
"resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
|
|
@@ -986,21 +767,6 @@
|
|
|
986
767
|
"node": ">= 0.8"
|
|
987
768
|
}
|
|
988
769
|
},
|
|
989
|
-
"node_modules/fs-extra": {
|
|
990
|
-
"version": "10.1.0",
|
|
991
|
-
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
|
|
992
|
-
"integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
|
|
993
|
-
"dev": true,
|
|
994
|
-
"license": "MIT",
|
|
995
|
-
"dependencies": {
|
|
996
|
-
"graceful-fs": "^4.2.0",
|
|
997
|
-
"jsonfile": "^6.0.1",
|
|
998
|
-
"universalify": "^2.0.0"
|
|
999
|
-
},
|
|
1000
|
-
"engines": {
|
|
1001
|
-
"node": ">=12"
|
|
1002
|
-
}
|
|
1003
|
-
},
|
|
1004
770
|
"node_modules/fsevents": {
|
|
1005
771
|
"version": "2.3.3",
|
|
1006
772
|
"dev": true,
|
|
@@ -1013,55 +779,6 @@
|
|
|
1013
779
|
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
|
1014
780
|
}
|
|
1015
781
|
},
|
|
1016
|
-
"node_modules/function-bind": {
|
|
1017
|
-
"version": "1.1.2",
|
|
1018
|
-
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
1019
|
-
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
|
1020
|
-
"dev": true,
|
|
1021
|
-
"license": "MIT",
|
|
1022
|
-
"funding": {
|
|
1023
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
1024
|
-
}
|
|
1025
|
-
},
|
|
1026
|
-
"node_modules/get-intrinsic": {
|
|
1027
|
-
"version": "1.3.0",
|
|
1028
|
-
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
|
1029
|
-
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
|
1030
|
-
"dev": true,
|
|
1031
|
-
"license": "MIT",
|
|
1032
|
-
"dependencies": {
|
|
1033
|
-
"call-bind-apply-helpers": "^1.0.2",
|
|
1034
|
-
"es-define-property": "^1.0.1",
|
|
1035
|
-
"es-errors": "^1.3.0",
|
|
1036
|
-
"es-object-atoms": "^1.1.1",
|
|
1037
|
-
"function-bind": "^1.1.2",
|
|
1038
|
-
"get-proto": "^1.0.1",
|
|
1039
|
-
"gopd": "^1.2.0",
|
|
1040
|
-
"has-symbols": "^1.1.0",
|
|
1041
|
-
"hasown": "^2.0.2",
|
|
1042
|
-
"math-intrinsics": "^1.1.0"
|
|
1043
|
-
},
|
|
1044
|
-
"engines": {
|
|
1045
|
-
"node": ">= 0.4"
|
|
1046
|
-
},
|
|
1047
|
-
"funding": {
|
|
1048
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
1049
|
-
}
|
|
1050
|
-
},
|
|
1051
|
-
"node_modules/get-proto": {
|
|
1052
|
-
"version": "1.0.1",
|
|
1053
|
-
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
|
1054
|
-
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
|
1055
|
-
"dev": true,
|
|
1056
|
-
"license": "MIT",
|
|
1057
|
-
"dependencies": {
|
|
1058
|
-
"dunder-proto": "^1.0.1",
|
|
1059
|
-
"es-object-atoms": "^1.0.0"
|
|
1060
|
-
},
|
|
1061
|
-
"engines": {
|
|
1062
|
-
"node": ">= 0.4"
|
|
1063
|
-
}
|
|
1064
|
-
},
|
|
1065
782
|
"node_modules/glob-parent": {
|
|
1066
783
|
"version": "5.1.2",
|
|
1067
784
|
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
|
@@ -1075,26 +792,6 @@
|
|
|
1075
792
|
"node": ">= 6"
|
|
1076
793
|
}
|
|
1077
794
|
},
|
|
1078
|
-
"node_modules/gopd": {
|
|
1079
|
-
"version": "1.2.0",
|
|
1080
|
-
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
|
1081
|
-
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
|
1082
|
-
"dev": true,
|
|
1083
|
-
"license": "MIT",
|
|
1084
|
-
"engines": {
|
|
1085
|
-
"node": ">= 0.4"
|
|
1086
|
-
},
|
|
1087
|
-
"funding": {
|
|
1088
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
1089
|
-
}
|
|
1090
|
-
},
|
|
1091
|
-
"node_modules/graceful-fs": {
|
|
1092
|
-
"version": "4.2.11",
|
|
1093
|
-
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
|
1094
|
-
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
|
1095
|
-
"dev": true,
|
|
1096
|
-
"license": "ISC"
|
|
1097
|
-
},
|
|
1098
795
|
"node_modules/gray-matter": {
|
|
1099
796
|
"version": "4.0.3",
|
|
1100
797
|
"dev": true,
|
|
@@ -1129,55 +826,6 @@
|
|
|
1129
826
|
"js-yaml": "bin/js-yaml.js"
|
|
1130
827
|
}
|
|
1131
828
|
},
|
|
1132
|
-
"node_modules/has-flag": {
|
|
1133
|
-
"version": "4.0.0",
|
|
1134
|
-
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
|
1135
|
-
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
|
1136
|
-
"dev": true,
|
|
1137
|
-
"license": "MIT",
|
|
1138
|
-
"engines": {
|
|
1139
|
-
"node": ">=8"
|
|
1140
|
-
}
|
|
1141
|
-
},
|
|
1142
|
-
"node_modules/has-property-descriptors": {
|
|
1143
|
-
"version": "1.0.2",
|
|
1144
|
-
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
|
|
1145
|
-
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
|
|
1146
|
-
"dev": true,
|
|
1147
|
-
"license": "MIT",
|
|
1148
|
-
"dependencies": {
|
|
1149
|
-
"es-define-property": "^1.0.0"
|
|
1150
|
-
},
|
|
1151
|
-
"funding": {
|
|
1152
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
1153
|
-
}
|
|
1154
|
-
},
|
|
1155
|
-
"node_modules/has-symbols": {
|
|
1156
|
-
"version": "1.1.0",
|
|
1157
|
-
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
|
1158
|
-
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
|
1159
|
-
"dev": true,
|
|
1160
|
-
"license": "MIT",
|
|
1161
|
-
"engines": {
|
|
1162
|
-
"node": ">= 0.4"
|
|
1163
|
-
},
|
|
1164
|
-
"funding": {
|
|
1165
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
1166
|
-
}
|
|
1167
|
-
},
|
|
1168
|
-
"node_modules/hasown": {
|
|
1169
|
-
"version": "2.0.4",
|
|
1170
|
-
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
|
|
1171
|
-
"integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
|
|
1172
|
-
"dev": true,
|
|
1173
|
-
"license": "MIT",
|
|
1174
|
-
"dependencies": {
|
|
1175
|
-
"function-bind": "^1.1.2"
|
|
1176
|
-
},
|
|
1177
|
-
"engines": {
|
|
1178
|
-
"node": ">= 0.4"
|
|
1179
|
-
}
|
|
1180
|
-
},
|
|
1181
829
|
"node_modules/highlight.js": {
|
|
1182
830
|
"version": "11.11.1",
|
|
1183
831
|
"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz",
|
|
@@ -1282,22 +930,6 @@
|
|
|
1282
930
|
"url": "https://github.com/sponsors/wooorm"
|
|
1283
931
|
}
|
|
1284
932
|
},
|
|
1285
|
-
"node_modules/is-docker": {
|
|
1286
|
-
"version": "2.2.1",
|
|
1287
|
-
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
|
|
1288
|
-
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
|
|
1289
|
-
"dev": true,
|
|
1290
|
-
"license": "MIT",
|
|
1291
|
-
"bin": {
|
|
1292
|
-
"is-docker": "cli.js"
|
|
1293
|
-
},
|
|
1294
|
-
"engines": {
|
|
1295
|
-
"node": ">=8"
|
|
1296
|
-
},
|
|
1297
|
-
"funding": {
|
|
1298
|
-
"url": "https://github.com/sponsors/sindresorhus"
|
|
1299
|
-
}
|
|
1300
|
-
},
|
|
1301
933
|
"node_modules/is-extendable": {
|
|
1302
934
|
"version": "0.1.1",
|
|
1303
935
|
"dev": true,
|
|
@@ -1346,33 +978,6 @@
|
|
|
1346
978
|
"node": ">=0.12.0"
|
|
1347
979
|
}
|
|
1348
980
|
},
|
|
1349
|
-
"node_modules/is-wsl": {
|
|
1350
|
-
"version": "2.2.0",
|
|
1351
|
-
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
|
|
1352
|
-
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
|
|
1353
|
-
"dev": true,
|
|
1354
|
-
"license": "MIT",
|
|
1355
|
-
"dependencies": {
|
|
1356
|
-
"is-docker": "^2.0.0"
|
|
1357
|
-
},
|
|
1358
|
-
"engines": {
|
|
1359
|
-
"node": ">=8"
|
|
1360
|
-
}
|
|
1361
|
-
},
|
|
1362
|
-
"node_modules/isarray": {
|
|
1363
|
-
"version": "2.0.5",
|
|
1364
|
-
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
|
|
1365
|
-
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
|
|
1366
|
-
"dev": true,
|
|
1367
|
-
"license": "MIT"
|
|
1368
|
-
},
|
|
1369
|
-
"node_modules/isexe": {
|
|
1370
|
-
"version": "2.0.0",
|
|
1371
|
-
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
|
1372
|
-
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
|
1373
|
-
"dev": true,
|
|
1374
|
-
"license": "ISC"
|
|
1375
|
-
},
|
|
1376
981
|
"node_modules/iso-639-1": {
|
|
1377
982
|
"version": "3.1.6",
|
|
1378
983
|
"resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-3.1.6.tgz",
|
|
@@ -1406,49 +1011,6 @@
|
|
|
1406
1011
|
"js-yaml": "bin/js-yaml.js"
|
|
1407
1012
|
}
|
|
1408
1013
|
},
|
|
1409
|
-
"node_modules/json-stable-stringify": {
|
|
1410
|
-
"version": "1.3.0",
|
|
1411
|
-
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz",
|
|
1412
|
-
"integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==",
|
|
1413
|
-
"dev": true,
|
|
1414
|
-
"license": "MIT",
|
|
1415
|
-
"dependencies": {
|
|
1416
|
-
"call-bind": "^1.0.8",
|
|
1417
|
-
"call-bound": "^1.0.4",
|
|
1418
|
-
"isarray": "^2.0.5",
|
|
1419
|
-
"jsonify": "^0.0.1",
|
|
1420
|
-
"object-keys": "^1.1.1"
|
|
1421
|
-
},
|
|
1422
|
-
"engines": {
|
|
1423
|
-
"node": ">= 0.4"
|
|
1424
|
-
},
|
|
1425
|
-
"funding": {
|
|
1426
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
1427
|
-
}
|
|
1428
|
-
},
|
|
1429
|
-
"node_modules/jsonfile": {
|
|
1430
|
-
"version": "6.2.1",
|
|
1431
|
-
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz",
|
|
1432
|
-
"integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==",
|
|
1433
|
-
"dev": true,
|
|
1434
|
-
"license": "MIT",
|
|
1435
|
-
"dependencies": {
|
|
1436
|
-
"universalify": "^2.0.0"
|
|
1437
|
-
},
|
|
1438
|
-
"optionalDependencies": {
|
|
1439
|
-
"graceful-fs": "^4.1.6"
|
|
1440
|
-
}
|
|
1441
|
-
},
|
|
1442
|
-
"node_modules/jsonify": {
|
|
1443
|
-
"version": "0.0.1",
|
|
1444
|
-
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
|
|
1445
|
-
"integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
|
|
1446
|
-
"dev": true,
|
|
1447
|
-
"license": "Public Domain",
|
|
1448
|
-
"funding": {
|
|
1449
|
-
"url": "https://github.com/sponsors/ljharb"
|
|
1450
|
-
}
|
|
1451
|
-
},
|
|
1452
1014
|
"node_modules/junk": {
|
|
1453
1015
|
"version": "3.1.0",
|
|
1454
1016
|
"resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
|
|
@@ -1467,16 +1029,6 @@
|
|
|
1467
1029
|
"node": ">=0.10.0"
|
|
1468
1030
|
}
|
|
1469
1031
|
},
|
|
1470
|
-
"node_modules/klaw-sync": {
|
|
1471
|
-
"version": "6.0.0",
|
|
1472
|
-
"resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz",
|
|
1473
|
-
"integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==",
|
|
1474
|
-
"dev": true,
|
|
1475
|
-
"license": "MIT",
|
|
1476
|
-
"dependencies": {
|
|
1477
|
-
"graceful-fs": "^4.1.11"
|
|
1478
|
-
}
|
|
1479
|
-
},
|
|
1480
1032
|
"node_modules/kleur": {
|
|
1481
1033
|
"version": "4.1.5",
|
|
1482
1034
|
"dev": true,
|
|
@@ -1581,49 +1133,12 @@
|
|
|
1581
1133
|
"url": "https://github.com/fb55/entities?sponsor=1"
|
|
1582
1134
|
}
|
|
1583
1135
|
},
|
|
1584
|
-
"node_modules/math-intrinsics": {
|
|
1585
|
-
"version": "1.1.0",
|
|
1586
|
-
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
|
1587
|
-
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
|
1588
|
-
"dev": true,
|
|
1589
|
-
"license": "MIT",
|
|
1590
|
-
"engines": {
|
|
1591
|
-
"node": ">= 0.4"
|
|
1592
|
-
}
|
|
1593
|
-
},
|
|
1594
1136
|
"node_modules/mdurl": {
|
|
1595
1137
|
"version": "2.1.0",
|
|
1596
1138
|
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.1.0.tgz",
|
|
1597
1139
|
"integrity": "sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==",
|
|
1598
1140
|
"license": "MIT"
|
|
1599
1141
|
},
|
|
1600
|
-
"node_modules/micromatch": {
|
|
1601
|
-
"version": "4.0.8",
|
|
1602
|
-
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
|
1603
|
-
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
|
1604
|
-
"dev": true,
|
|
1605
|
-
"license": "MIT",
|
|
1606
|
-
"dependencies": {
|
|
1607
|
-
"braces": "^3.0.3",
|
|
1608
|
-
"picomatch": "^2.3.1"
|
|
1609
|
-
},
|
|
1610
|
-
"engines": {
|
|
1611
|
-
"node": ">=8.6"
|
|
1612
|
-
}
|
|
1613
|
-
},
|
|
1614
|
-
"node_modules/micromatch/node_modules/picomatch": {
|
|
1615
|
-
"version": "2.3.2",
|
|
1616
|
-
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
|
|
1617
|
-
"integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
|
|
1618
|
-
"dev": true,
|
|
1619
|
-
"license": "MIT",
|
|
1620
|
-
"engines": {
|
|
1621
|
-
"node": ">=8.6"
|
|
1622
|
-
},
|
|
1623
|
-
"funding": {
|
|
1624
|
-
"url": "https://github.com/sponsors/jonschlinkert"
|
|
1625
|
-
}
|
|
1626
|
-
},
|
|
1627
1142
|
"node_modules/mime": {
|
|
1628
1143
|
"version": "3.0.0",
|
|
1629
1144
|
"resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
|
|
@@ -1789,16 +1304,6 @@
|
|
|
1789
1304
|
"node": ">= 6"
|
|
1790
1305
|
}
|
|
1791
1306
|
},
|
|
1792
|
-
"node_modules/object-keys": {
|
|
1793
|
-
"version": "1.1.1",
|
|
1794
|
-
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
|
1795
|
-
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
|
|
1796
|
-
"dev": true,
|
|
1797
|
-
"license": "MIT",
|
|
1798
|
-
"engines": {
|
|
1799
|
-
"node": ">= 0.4"
|
|
1800
|
-
}
|
|
1801
|
-
},
|
|
1802
1307
|
"node_modules/on-finished": {
|
|
1803
1308
|
"version": "2.4.1",
|
|
1804
1309
|
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
|
@@ -1812,23 +1317,6 @@
|
|
|
1812
1317
|
"node": ">= 0.8"
|
|
1813
1318
|
}
|
|
1814
1319
|
},
|
|
1815
|
-
"node_modules/open": {
|
|
1816
|
-
"version": "7.4.2",
|
|
1817
|
-
"resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
|
|
1818
|
-
"integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
|
|
1819
|
-
"dev": true,
|
|
1820
|
-
"license": "MIT",
|
|
1821
|
-
"dependencies": {
|
|
1822
|
-
"is-docker": "^2.0.0",
|
|
1823
|
-
"is-wsl": "^2.1.1"
|
|
1824
|
-
},
|
|
1825
|
-
"engines": {
|
|
1826
|
-
"node": ">=8"
|
|
1827
|
-
},
|
|
1828
|
-
"funding": {
|
|
1829
|
-
"url": "https://github.com/sponsors/sindresorhus"
|
|
1830
|
-
}
|
|
1831
|
-
},
|
|
1832
1320
|
"node_modules/parse-srcset": {
|
|
1833
1321
|
"version": "1.0.2",
|
|
1834
1322
|
"resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
|
|
@@ -1846,56 +1334,6 @@
|
|
|
1846
1334
|
"node": ">= 0.8"
|
|
1847
1335
|
}
|
|
1848
1336
|
},
|
|
1849
|
-
"node_modules/patch-package": {
|
|
1850
|
-
"version": "8.0.1",
|
|
1851
|
-
"resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz",
|
|
1852
|
-
"integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==",
|
|
1853
|
-
"dev": true,
|
|
1854
|
-
"license": "MIT",
|
|
1855
|
-
"dependencies": {
|
|
1856
|
-
"@yarnpkg/lockfile": "^1.1.0",
|
|
1857
|
-
"chalk": "^4.1.2",
|
|
1858
|
-
"ci-info": "^3.7.0",
|
|
1859
|
-
"cross-spawn": "^7.0.3",
|
|
1860
|
-
"find-yarn-workspace-root": "^2.0.0",
|
|
1861
|
-
"fs-extra": "^10.0.0",
|
|
1862
|
-
"json-stable-stringify": "^1.0.2",
|
|
1863
|
-
"klaw-sync": "^6.0.0",
|
|
1864
|
-
"minimist": "^1.2.6",
|
|
1865
|
-
"open": "^7.4.2",
|
|
1866
|
-
"semver": "^7.5.3",
|
|
1867
|
-
"slash": "^2.0.0",
|
|
1868
|
-
"tmp": "^0.2.4",
|
|
1869
|
-
"yaml": "^2.2.2"
|
|
1870
|
-
},
|
|
1871
|
-
"bin": {
|
|
1872
|
-
"patch-package": "index.js"
|
|
1873
|
-
},
|
|
1874
|
-
"engines": {
|
|
1875
|
-
"node": ">=14",
|
|
1876
|
-
"npm": ">5"
|
|
1877
|
-
}
|
|
1878
|
-
},
|
|
1879
|
-
"node_modules/patch-package/node_modules/slash": {
|
|
1880
|
-
"version": "2.0.0",
|
|
1881
|
-
"resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
|
|
1882
|
-
"integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
|
|
1883
|
-
"dev": true,
|
|
1884
|
-
"license": "MIT",
|
|
1885
|
-
"engines": {
|
|
1886
|
-
"node": ">=6"
|
|
1887
|
-
}
|
|
1888
|
-
},
|
|
1889
|
-
"node_modules/path-key": {
|
|
1890
|
-
"version": "3.1.1",
|
|
1891
|
-
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
|
1892
|
-
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
|
1893
|
-
"dev": true,
|
|
1894
|
-
"license": "MIT",
|
|
1895
|
-
"engines": {
|
|
1896
|
-
"node": ">=8"
|
|
1897
|
-
}
|
|
1898
|
-
},
|
|
1899
1337
|
"node_modules/picomatch": {
|
|
1900
1338
|
"version": "4.0.5",
|
|
1901
1339
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
|
|
@@ -2198,24 +1636,6 @@
|
|
|
2198
1636
|
"url": "https://opencollective.com/express"
|
|
2199
1637
|
}
|
|
2200
1638
|
},
|
|
2201
|
-
"node_modules/set-function-length": {
|
|
2202
|
-
"version": "1.2.2",
|
|
2203
|
-
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
|
|
2204
|
-
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
|
|
2205
|
-
"dev": true,
|
|
2206
|
-
"license": "MIT",
|
|
2207
|
-
"dependencies": {
|
|
2208
|
-
"define-data-property": "^1.1.4",
|
|
2209
|
-
"es-errors": "^1.3.0",
|
|
2210
|
-
"function-bind": "^1.1.2",
|
|
2211
|
-
"get-intrinsic": "^1.2.4",
|
|
2212
|
-
"gopd": "^1.0.1",
|
|
2213
|
-
"has-property-descriptors": "^1.0.2"
|
|
2214
|
-
},
|
|
2215
|
-
"engines": {
|
|
2216
|
-
"node": ">= 0.4"
|
|
2217
|
-
}
|
|
2218
|
-
},
|
|
2219
1639
|
"node_modules/setprototypeof": {
|
|
2220
1640
|
"version": "1.2.0",
|
|
2221
1641
|
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
|
@@ -2223,29 +1643,6 @@
|
|
|
2223
1643
|
"dev": true,
|
|
2224
1644
|
"license": "ISC"
|
|
2225
1645
|
},
|
|
2226
|
-
"node_modules/shebang-command": {
|
|
2227
|
-
"version": "2.0.0",
|
|
2228
|
-
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
|
2229
|
-
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
|
2230
|
-
"dev": true,
|
|
2231
|
-
"license": "MIT",
|
|
2232
|
-
"dependencies": {
|
|
2233
|
-
"shebang-regex": "^3.0.0"
|
|
2234
|
-
},
|
|
2235
|
-
"engines": {
|
|
2236
|
-
"node": ">=8"
|
|
2237
|
-
}
|
|
2238
|
-
},
|
|
2239
|
-
"node_modules/shebang-regex": {
|
|
2240
|
-
"version": "3.0.0",
|
|
2241
|
-
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
|
2242
|
-
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
|
2243
|
-
"dev": true,
|
|
2244
|
-
"license": "MIT",
|
|
2245
|
-
"engines": {
|
|
2246
|
-
"node": ">=8"
|
|
2247
|
-
}
|
|
2248
|
-
},
|
|
2249
1646
|
"node_modules/slash": {
|
|
2250
1647
|
"version": "3.0.0",
|
|
2251
1648
|
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
|
|
@@ -2302,19 +1699,6 @@
|
|
|
2302
1699
|
"node": ">=0.10.0"
|
|
2303
1700
|
}
|
|
2304
1701
|
},
|
|
2305
|
-
"node_modules/supports-color": {
|
|
2306
|
-
"version": "7.2.0",
|
|
2307
|
-
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
|
2308
|
-
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
|
2309
|
-
"dev": true,
|
|
2310
|
-
"license": "MIT",
|
|
2311
|
-
"dependencies": {
|
|
2312
|
-
"has-flag": "^4.0.0"
|
|
2313
|
-
},
|
|
2314
|
-
"engines": {
|
|
2315
|
-
"node": ">=8"
|
|
2316
|
-
}
|
|
2317
|
-
},
|
|
2318
1702
|
"node_modules/tinyglobby": {
|
|
2319
1703
|
"version": "0.2.17",
|
|
2320
1704
|
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
|
|
@@ -2332,16 +1716,6 @@
|
|
|
2332
1716
|
"url": "https://github.com/sponsors/SuperchupuDev"
|
|
2333
1717
|
}
|
|
2334
1718
|
},
|
|
2335
|
-
"node_modules/tmp": {
|
|
2336
|
-
"version": "0.2.7",
|
|
2337
|
-
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz",
|
|
2338
|
-
"integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==",
|
|
2339
|
-
"dev": true,
|
|
2340
|
-
"license": "MIT",
|
|
2341
|
-
"engines": {
|
|
2342
|
-
"node": ">=14.14"
|
|
2343
|
-
}
|
|
2344
|
-
},
|
|
2345
1719
|
"node_modules/to-regex-range": {
|
|
2346
1720
|
"version": "5.0.1",
|
|
2347
1721
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
|
@@ -2371,16 +1745,6 @@
|
|
|
2371
1745
|
"integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
|
|
2372
1746
|
"license": "MIT"
|
|
2373
1747
|
},
|
|
2374
|
-
"node_modules/universalify": {
|
|
2375
|
-
"version": "2.0.1",
|
|
2376
|
-
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
|
|
2377
|
-
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
|
|
2378
|
-
"dev": true,
|
|
2379
|
-
"license": "MIT",
|
|
2380
|
-
"engines": {
|
|
2381
|
-
"node": ">= 10.0.0"
|
|
2382
|
-
}
|
|
2383
|
-
},
|
|
2384
1748
|
"node_modules/unpipe": {
|
|
2385
1749
|
"version": "1.0.0",
|
|
2386
1750
|
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
|
@@ -2398,24 +1762,10 @@
|
|
|
2398
1762
|
"dev": true,
|
|
2399
1763
|
"license": "MIT"
|
|
2400
1764
|
},
|
|
2401
|
-
"node_modules/which": {
|
|
2402
|
-
"version": "2.0.2",
|
|
2403
|
-
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
|
2404
|
-
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
|
2405
|
-
"dev": true,
|
|
2406
|
-
"license": "ISC",
|
|
2407
|
-
"dependencies": {
|
|
2408
|
-
"isexe": "^2.0.0"
|
|
2409
|
-
},
|
|
2410
|
-
"bin": {
|
|
2411
|
-
"node-which": "bin/node-which"
|
|
2412
|
-
},
|
|
2413
|
-
"engines": {
|
|
2414
|
-
"node": ">= 8"
|
|
2415
|
-
}
|
|
2416
|
-
},
|
|
2417
1765
|
"node_modules/ws": {
|
|
2418
|
-
"version": "8.
|
|
1766
|
+
"version": "8.21.2",
|
|
1767
|
+
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.2.tgz",
|
|
1768
|
+
"integrity": "sha512-54dMVAo4WIe6SKy3vBgN+9bJZqqQ8IMRevAkOLQALhi49qkkQDQfWdAZ8KQlXiEabw88ARXXdUrlvtbKQX+aKw==",
|
|
2419
1769
|
"dev": true,
|
|
2420
1770
|
"license": "MIT",
|
|
2421
1771
|
"engines": {
|
|
@@ -2433,22 +1783,6 @@
|
|
|
2433
1783
|
"optional": true
|
|
2434
1784
|
}
|
|
2435
1785
|
}
|
|
2436
|
-
},
|
|
2437
|
-
"node_modules/yaml": {
|
|
2438
|
-
"version": "2.9.0",
|
|
2439
|
-
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
|
|
2440
|
-
"integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
|
|
2441
|
-
"dev": true,
|
|
2442
|
-
"license": "ISC",
|
|
2443
|
-
"bin": {
|
|
2444
|
-
"yaml": "bin.mjs"
|
|
2445
|
-
},
|
|
2446
|
-
"engines": {
|
|
2447
|
-
"node": ">= 14.6"
|
|
2448
|
-
},
|
|
2449
|
-
"funding": {
|
|
2450
|
-
"url": "https://github.com/sponsors/eemeli"
|
|
2451
|
-
}
|
|
2452
1786
|
}
|
|
2453
1787
|
}
|
|
2454
1788
|
}
|
package.json
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
"type": "module",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "eleventy --serve",
|
|
6
|
+
"build": "node --max-old-space-size=8192 ./node_modules/.bin/eleventy",
|
|
6
|
-
"
|
|
7
|
+
"tf:plan": "terraform -chdir=infra plan",
|
|
7
|
-
"
|
|
8
|
+
"tf:apply": "terraform -chdir=infra apply"
|
|
8
9
|
},
|
|
9
10
|
"dependencies": {
|
|
10
11
|
"diff2html": "^3.4.52",
|
|
@@ -16,7 +17,6 @@
|
|
|
16
17
|
"@11ty/eleventy": "^3.0.0",
|
|
17
18
|
"@11ty/eleventy-plugin-rss": "^2.0.0",
|
|
18
19
|
"@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0",
|
|
19
|
-
"@iconify-json/vscode-icons": "^1.2.68"
|
|
20
|
+
"@iconify-json/vscode-icons": "^1.2.68"
|
|
20
|
-
"patch-package": "^8.0.1"
|
|
21
21
|
}
|
|
22
22
|
}
|
src/_data/repoCommits.js
CHANGED
|
@@ -5,10 +5,22 @@ import { mapPool } from "../_helpers/pool.js";
|
|
|
5
5
|
|
|
6
6
|
const CONCURRENCY = 8;
|
|
7
7
|
|
|
8
|
+
// Some repos have vendored/generated/binary-as-text blobs committed at some
|
|
9
|
+
// point in their history (a minified bundle, a compiled binary git doesn't
|
|
10
|
+
// detect as binary, ...) — `git show -p` dumps the whole file as a diff on
|
|
11
|
+
// every commit that touches it, and diff2html's per-line markup multiplies
|
|
12
|
+
// that further. Left unguarded, that's easily 100s of MB of HTML per repo,
|
|
13
|
+
// held for every commit at once across every repo — well past Node's default
|
|
14
|
+
// heap. Cap it the way GitHub's own diff viewer does: skip rendering past a
|
|
15
|
+
// size threshold rather than trying to syntax-highlight a multi-MB blob.
|
|
16
|
+
const MAX_DIFF_SIZE = 300 * 1024;
|
|
17
|
+
const DIFF_TOO_LARGE_HTML = '<p class="diff-too-large">This diff is too large to display.</p>';
|
|
18
|
+
|
|
8
19
|
const toDiffHtml = (diffText) => {
|
|
9
20
|
const idx = diffText.indexOf("diff --git");
|
|
10
21
|
const patch = idx >= 0 ? diffText.slice(idx) : "";
|
|
11
22
|
if (!patch.trim()) return "";
|
|
23
|
+
if (patch.length > MAX_DIFF_SIZE) return DIFF_TOO_LARGE_HTML;
|
|
12
24
|
try {
|
|
13
25
|
const json = parseDiff(patch);
|
|
14
26
|
return renderDiffHtml(json, { drawFileList: true, matching: "lines" });
|
|
@@ -39,7 +51,15 @@ export default async () => {
|
|
|
39
51
|
if (sha) writeCache(cacheKey, sha, entries);
|
|
40
52
|
}
|
|
41
53
|
|
|
54
|
+
// Only `id`/`data` ever get read off `item.repo` in commit.njk — not the
|
|
55
|
+
// full `repo` object's `files`/`tree`/`commits`/`readme`. Eleventy's
|
|
56
|
+
// paginator deep-clones each page's data slice for isolation, so
|
|
57
|
+
// embedding the whole repo (every commit's metadata, every file, the
|
|
58
|
+
// tree, the README) here means that whole structure gets cloned once
|
|
59
|
+
// per commit page — the actual multiplier behind the OOM, not just the
|
|
60
|
+
// diff HTML size.
|
|
61
|
+
const slimRepo = { id: repo.id, data: repo.data };
|
|
42
|
-
for (const entry of entries) pages.push({ repoId: repo.id, repo, ...entry });
|
|
62
|
+
for (const entry of entries) pages.push({ repoId: repo.id, repo: slimRepo, ...entry });
|
|
43
63
|
}
|
|
44
64
|
return pages;
|
|
45
65
|
};
|
src/_data/repoFiles.js
CHANGED
|
@@ -51,7 +51,13 @@ export default async () => {
|
|
|
51
51
|
if (cacheable) writeCache(cacheKey, sha, entries);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
// file.njk/file-history.njk/file-blame.njk only ever read `id`/`data`/
|
|
55
|
+
// `tree` off `item.repo` — not `files`/`commits`/`readme`. See the same
|
|
56
|
+
// note in repoCommits.js: Eleventy clones each page's data slice, so
|
|
57
|
+
// keeping this slim avoids cloning the repo's full commit/file lists on
|
|
58
|
+
// every single file page.
|
|
59
|
+
const slimRepo = { id: repo.id, data: repo.data, tree: repo.tree };
|
|
54
|
-
for (const entry of entries) pages.push({ repoId: repo.id, repo, ...entry });
|
|
60
|
+
for (const entry of entries) pages.push({ repoId: repo.id, repo: slimRepo, ...entry });
|
|
55
61
|
}
|
|
56
62
|
return pages;
|
|
57
63
|
};
|