diff --git a/package.json b/package.json index b541ae7..1d90b50 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@codspeed/vitest-plugin": "^3.1.0", "@types/node": "^20.12.12", "@vitest/ui": "^1.6.0", - "astro": "^4.8.5", + "astro": "^4.10.1", "defu": "^6.1.4", "sharp": "^0.33.4", "tsup": "^8.0.2", diff --git a/yarn.lock b/yarn.lock index ceab7d7..0183b05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -217,7 +217,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.2": +"@babel/code-frame@npm:^7.0.0": version: 7.24.2 resolution: "@babel/code-frame@npm:7.24.2" dependencies: @@ -227,142 +227,156 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/compat-data@npm:7.23.5" - checksum: 10/088f14f646ecbddd5ef89f120a60a1b3389a50a9705d44603dca77662707d0175a5e0e0da3943c3298f1907a4ab871468656fbbf74bb7842cd8b0686b2c19736 +"@babel/code-frame@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/code-frame@npm:7.24.7" + dependencies: + "@babel/highlight": "npm:^7.24.7" + picocolors: "npm:^1.0.0" + checksum: 10/4812e94885ba7e3213d49583a155fdffb05292330f0a9b2c41b49288da70cf3c746a3fda0bf1074041a6d741c33f8d7be24be5e96f41ef77395eeddc5c9ff624 languageName: node linkType: hard -"@babel/core@npm:^7.24.5": - version: 7.24.5 - resolution: "@babel/core@npm:7.24.5" +"@babel/compat-data@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/compat-data@npm:7.24.7" + checksum: 10/6edc09152ca51a22c33741c441f33f9475598fa59edc53369edb74b49f4ea4bef1281f5b0ed2b9b67fb66faef2da2069e21c4eef83405d8326e524b301f4e7e2 + languageName: node + linkType: hard + +"@babel/core@npm:^7.24.6": + version: 7.24.7 + resolution: "@babel/core@npm:7.24.7" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.2" - "@babel/generator": "npm:^7.24.5" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-module-transforms": "npm:^7.24.5" - "@babel/helpers": "npm:^7.24.5" - "@babel/parser": "npm:^7.24.5" - "@babel/template": "npm:^7.24.0" - "@babel/traverse": "npm:^7.24.5" - "@babel/types": "npm:^7.24.5" + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.24.7" + "@babel/helper-compilation-targets": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.24.7" + "@babel/helpers": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/template": "npm:^7.24.7" + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10/b0d02c51f39cc4c6f8fcaab7052d17dea63aab36d7e2567bfbad074e5a027df737ebcaf3029c3a659bc719bbac806311c2e8786be1d686abd093c48a6068395c + checksum: 10/ef8cc1afa3ccecee6d1f5660c487ccc2a3f25106830ea9040e80ef4b2092e053607ee4ddd03493e4f7ef2f9967a956ca53b830d54c5bee738eeb58cce679dd4a languageName: node linkType: hard -"@babel/generator@npm:^7.24.5": - version: 7.24.5 - resolution: "@babel/generator@npm:7.24.5" +"@babel/generator@npm:^7.24.6, @babel/generator@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/generator@npm:7.24.7" dependencies: - "@babel/types": "npm:^7.24.5" + "@babel/types": "npm:^7.24.7" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^2.5.1" - checksum: 10/7a3782f1d2f824025a538444a0fce44f5b30a7b013984279561bcb3450eec91a41526533fd0b25b1a6fde627bebd0e645c0ea2aa907cc15c7f3da2d9eb71f069 + checksum: 10/c71d24a4b41b19c10d2f2eb819f27d4cf94220e2322f7c8fed8bfbbb115b2bebbdd6dc1f27dac78a175e90604def58d763af87e0fa81ce4ab1582858162cf768 languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" +"@babel/helper-annotate-as-pure@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/53da330f1835c46f26b7bf4da31f7a496dee9fd8696cca12366b94ba19d97421ce519a74a837f687749318f94d1a37f8d1abcbf35e8ed22c32d16373b2f6198d + "@babel/types": "npm:^7.24.7" + checksum: 10/a9017bfc1c4e9f2225b967fbf818004703de7cf29686468b54002ffe8d6b56e0808afa20d636819fcf3a34b89ba72f52c11bdf1d69f303928ee10d92752cad95 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/helper-compilation-targets@npm:7.23.6" +"@babel/helper-compilation-targets@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-compilation-targets@npm:7.24.7" dependencies: - "@babel/compat-data": "npm:^7.23.5" - "@babel/helper-validator-option": "npm:^7.23.5" + "@babel/compat-data": "npm:^7.24.7" + "@babel/helper-validator-option": "npm:^7.24.7" browserslist: "npm:^4.22.2" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10/05595cd73087ddcd81b82d2f3297aac0c0422858dfdded43d304786cf680ec33e846e2317e6992d2c964ee61d93945cbf1fa8ec80b55aee5bfb159227fb02cb9 + checksum: 10/8f8bc89af70a606ccb208513aa25d83e19b88f91b64a33174f7701a9479e67ddbb0a9c89033265070375cd24e690b93380b3a3ea11e4b3a711d742f0f4699ee7 languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-environment-visitor@npm:7.22.20" - checksum: 10/d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 +"@babel/helper-environment-visitor@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-environment-visitor@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10/079d86e65701b29ebc10baf6ed548d17c19b808a07aa6885cc141b690a78581b180ee92b580d755361dc3b16adf975b2d2058b8ce6c86675fcaf43cf22f2f7c6 languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-function-name@npm:7.23.0" +"@babel/helper-function-name@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-function-name@npm:7.24.7" dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/types": "npm:^7.23.0" - checksum: 10/7b2ae024cd7a09f19817daf99e0153b3bf2bc4ab344e197e8d13623d5e36117ed0b110914bc248faa64e8ccd3e97971ec7b41cc6fd6163a2b980220c58dcdf6d + "@babel/template": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10/2ceb3d9b2b35a0fc4100fc06ed7be3bc38f03ff0bf128ff0edbc0cc7dd842967b1496fc70b5c616c747d7711c2b87e7d025c8888f48740631d6148a9d3614f85 languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-hoist-variables@npm:7.22.5" +"@babel/helper-hoist-variables@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-hoist-variables@npm:7.24.7" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/394ca191b4ac908a76e7c50ab52102669efe3a1c277033e49467913c7ed6f7c64d7eacbeabf3bed39ea1f41731e22993f763b1edce0f74ff8563fd1f380d92cc + "@babel/types": "npm:^7.24.7" + checksum: 10/6cfdcf2289cd12185dcdbdf2435fa8d3447b797ac75851166de9fc8503e2fd0021db6baf8dfbecad3753e582c08e6a3f805c8d00cbed756060a877d705bd8d8d languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.22.15, @babel/helper-module-imports@npm:^7.24.3": - version: 7.24.3 - resolution: "@babel/helper-module-imports@npm:7.24.3" +"@babel/helper-module-imports@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-module-imports@npm:7.24.7" dependencies: - "@babel/types": "npm:^7.24.0" - checksum: 10/42fe124130b78eeb4bb6af8c094aa749712be0f4606f46716ce74bc18a5ea91c918c547c8bb2307a2e4b33f163e4ad2cb6a7b45f80448e624eae45b597ea3499 + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10/df8bfb2bb18413aa151ecd63b7d5deb0eec102f924f9de6bc08022ced7ed8ca7fed914562d2f6fa5b59b74a5d6e255dc35612b2bc3b8abf361e13f61b3704770 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.5": - version: 7.24.5 - resolution: "@babel/helper-module-transforms@npm:7.24.5" +"@babel/helper-module-transforms@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-module-transforms@npm:7.24.7" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-module-imports": "npm:^7.24.3" - "@babel/helper-simple-access": "npm:^7.24.5" - "@babel/helper-split-export-declaration": "npm:^7.24.5" - "@babel/helper-validator-identifier": "npm:^7.24.5" + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.24.7" + "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/1a91e8abc2f427f8273ce3b99ef7b9c013eb3628221428553e0d4bc9c6db2e73bc4fc1b8535bd258544936accab9380e0d095f2449f913cad650ddee744b2124 + checksum: 10/4f2b232bf6d1be8d3a72b084a2a7ac1b0b93ea85717411a11ae1fb6375d4392019e781d8cc155789e649a2caa7eec378dd1404210603d6d4230f042c5feacffb languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-plugin-utils@npm:7.22.5" - checksum: 10/ab220db218089a2aadd0582f5833fd17fa300245999f5f8784b10f5a75267c4e808592284a29438a0da365e702f05acb369f99e1c915c02f9f9210ec60eab8ea +"@babel/helper-plugin-utils@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-plugin-utils@npm:7.24.7" + checksum: 10/dad51622f0123fdba4e2d40a81a6b7d6ef4b1491b2f92fd9749447a36bde809106cf117358705057a2adc8fd73d5dc090222e0561b1213dae8601c8367f5aac8 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.24.5": - version: 7.24.5 - resolution: "@babel/helper-simple-access@npm:7.24.5" +"@babel/helper-simple-access@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-simple-access@npm:7.24.7" dependencies: - "@babel/types": "npm:^7.24.5" - checksum: 10/db8768a16592faa1bde9061cac3d903bdbb2ddb2a7e9fb73c5904daee1f1b1dc69ba4d249dc22c45885c0d4b54fd0356ee78e6d67a9a90330c7dd37e6cd3acff + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10/5083e190186028e48fc358a192e4b93ab320bd016103caffcfda81302a13300ccce46c9cd255ae520c25d2a6a9b47671f93e5fe5678954a2329dc0a685465c49 languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.24.5": - version: 7.24.5 - resolution: "@babel/helper-split-export-declaration@npm:7.24.5" +"@babel/helper-split-export-declaration@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-split-export-declaration@npm:7.24.7" dependencies: - "@babel/types": "npm:^7.24.5" - checksum: 10/84777b6304ef0fe6501038985b61aaa118082688aa54eca8265f14f3ae2e01adf137e9111f4eb9870e0e9bc23901e0b8859bb2a9e4362ddf89d05e1c409c2422 + "@babel/types": "npm:^7.24.7" + checksum: 10/ff04a3071603c87de0d6ee2540b7291ab36305b329bd047cdbb6cbd7db335a12f9a77af1cf708779f75f13c4d9af46093c00b34432e50b2411872c658d1a2e5e languageName: node linkType: hard @@ -373,6 +387,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-string-parser@npm:7.24.7" + checksum: 10/603d8d962bbe89907aa99a8f19a006759ab7b2464615f20a6a22e3e2e8375af37ddd0e5175c9e622e1c4b2d83607ffb41055a59d0ce34404502af30fde573a5c + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.24.5": version: 7.24.5 resolution: "@babel/helper-validator-identifier@npm:7.24.5" @@ -380,21 +401,27 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/helper-validator-option@npm:7.23.5" - checksum: 10/537cde2330a8aede223552510e8a13e9c1c8798afee3757995a7d4acae564124fe2bf7e7c3d90d62d3657434a74340a274b3b3b1c6f17e9a2be1f48af29cb09e +"@babel/helper-validator-identifier@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-validator-identifier@npm:7.24.7" + checksum: 10/86875063f57361471b531dbc2ea10bbf5406e12b06d249b03827d361db4cad2388c6f00936bcd9dc86479f7e2c69ea21412c2228d4b3672588b754b70a449d4b languageName: node linkType: hard -"@babel/helpers@npm:^7.24.5": - version: 7.24.5 - resolution: "@babel/helpers@npm:7.24.5" +"@babel/helper-validator-option@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-validator-option@npm:7.24.7" + checksum: 10/9689166bf3f777dd424c026841c8cd651e41b21242dbfd4569a53086179a3e744c8eddd56e9d10b54142270141c91581b53af0d7c00c82d552d2540e2a919f7e + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helpers@npm:7.24.7" dependencies: - "@babel/template": "npm:^7.24.0" - "@babel/traverse": "npm:^7.24.5" - "@babel/types": "npm:^7.24.5" - checksum: 10/efd74325823c70a32aa9f5e263c8eb0a1f729f5e9ea168e3226fa92a10b1702593b76034812e9f7b560d6447f9cd446bad231d7086af842129c6596306300094 + "@babel/template": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10/f7496f0d7a0b13ea86136ac2053371027125734170328215f8a90eac96fafaaae4e5398c0729bdadf23261c00582a31e14bc70113427653b718220641a917f9d languageName: node linkType: hard @@ -410,7 +437,19 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.5": +"@babel/highlight@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/highlight@npm:7.24.7" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.7" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10/69b73f38cdd4f881b09b939a711e76646da34f4834f4ce141d7a49a6bb1926eab1c594148970a8aa9360398dff800f63aade4e81fafdd7c8d8a8489ea93bfec1 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7": version: 7.24.5 resolution: "@babel/parser@npm:7.24.5" bin: @@ -419,29 +458,38 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" +"@babel/parser@npm:^7.24.6, @babel/parser@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/parser@npm:7.24.7" + bin: + parser: ./bin/babel-parser.js + checksum: 10/ef9ebce60e13db560ccc7af9235d460f6726bb7e23ae2d675098c1fc43d5249067be60d4118889dad33b1d4f85162cf66baf554719e1669f29bb20e71322568e + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/89037694314a74e7f0e7a9c8d3793af5bf6b23d80950c29b360db1c66859d67f60711ea437e70ad6b5b4b29affe17eababda841b6c01107c2b638e0493bafb4e + checksum: 10/a93516ae5b34868ab892a95315027d4e5e38e8bd1cfca6158f2974b0901cbb32bbe64ea10ad5b25f919ddc40c6d8113c4823372909c9c9922170c12b0b1acecb languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/plugin-transform-react-jsx@npm:7.23.4" +"@babel/plugin-transform-react-jsx@npm:^7.24.6": + version: 7.24.7 + resolution: "@babel/plugin-transform-react-jsx@npm:7.24.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/plugin-syntax-jsx": "npm:^7.23.3" - "@babel/types": "npm:^7.23.4" + "@babel/helper-annotate-as-pure": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/plugin-syntax-jsx": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/d83806701349addfb77b8347b4f0dc8e76fb1c9ac21bdef69f4002394fce2396d61facfc6e1a3de54cbabcdadf991a1f642e69edb5116ac14f95e33d9f7c221d + checksum: 10/422952e034aefdb837ebe6c2f1f5bb1e0dc4d5e515e9cc46fe752785c7039481fc7470af254e26e253f641f055240ac2968f0d25cc30ae6580c977142a7c471c languageName: node linkType: hard @@ -454,36 +502,36 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0": - version: 7.24.0 - resolution: "@babel/template@npm:7.24.0" +"@babel/template@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/template@npm:7.24.7" dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/parser": "npm:^7.24.0" - "@babel/types": "npm:^7.24.0" - checksum: 10/8c538338c7de8fac8ada691a5a812bdcbd60bd4a4eb5adae2cc9ee19773e8fb1a724312a00af9e1ce49056ffd3c3475e7287b5668cf6360bfb3f8ac827a06ffe + "@babel/code-frame": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10/5975d404ef51cf379515eb0f80b115981d0b9dff5539e53a47516644abb8c83d7559f5b083eb1d4977b20d8359ebb2f911ccd4f729143f8958fdc465f976d843 languageName: node linkType: hard -"@babel/traverse@npm:^7.24.5": - version: 7.24.5 - resolution: "@babel/traverse@npm:7.24.5" - dependencies: - "@babel/code-frame": "npm:^7.24.2" - "@babel/generator": "npm:^7.24.5" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.24.5" - "@babel/parser": "npm:^7.24.5" - "@babel/types": "npm:^7.24.5" +"@babel/traverse@npm:^7.24.6, @babel/traverse@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/traverse@npm:7.24.7" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.24.7" + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-function-name": "npm:^7.24.7" + "@babel/helper-hoist-variables": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10/e237de56e0c30795293fdb6f2cb09a75e6230836e3dc67dc4fa21781eb4d5842996bf3af95bc57ac5c7e6e97d06446f14732d0952eb57d5d9643de7c4f95bee6 + checksum: 10/785cf26383a992740e492efba7016de964cd06c05c9d7146fa1b5ead409e054c444f50b36dc37856884a56e32cf9d3105ddf1543486b6df68300bffb117a245a languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.4, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.5, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.8.3": version: 7.24.5 resolution: "@babel/types@npm:7.24.5" dependencies: @@ -494,6 +542,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.24.6, @babel/types@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/types@npm:7.24.7" + dependencies: + "@babel/helper-string-parser": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.24.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10/ad3c8c0d6fb4acb0bb74bb5b4bb849b181bf6185677ef9c59c18856c81e43628d0858253cf232f0eca806f02e08eff85a1d3e636a3e94daea737597796b0b430 + languageName: node + linkType: hard + "@biomejs/biome@npm:^1.7.3": version: 1.7.3 resolution: "@biomejs/biome@npm:1.7.3" @@ -962,9 +1021,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/aix-ppc64@npm:0.21.2" +"@esbuild/aix-ppc64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/aix-ppc64@npm:0.21.4" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -983,9 +1042,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/android-arm64@npm:0.21.2" +"@esbuild/android-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/android-arm64@npm:0.21.4" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -1004,9 +1063,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/android-arm@npm:0.21.2" +"@esbuild/android-arm@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/android-arm@npm:0.21.4" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -1025,9 +1084,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/android-x64@npm:0.21.2" +"@esbuild/android-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/android-x64@npm:0.21.4" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -1046,9 +1105,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/darwin-arm64@npm:0.21.2" +"@esbuild/darwin-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/darwin-arm64@npm:0.21.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -1067,9 +1126,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/darwin-x64@npm:0.21.2" +"@esbuild/darwin-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/darwin-x64@npm:0.21.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -1088,9 +1147,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/freebsd-arm64@npm:0.21.2" +"@esbuild/freebsd-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/freebsd-arm64@npm:0.21.4" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -1109,9 +1168,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/freebsd-x64@npm:0.21.2" +"@esbuild/freebsd-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/freebsd-x64@npm:0.21.4" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -1130,9 +1189,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/linux-arm64@npm:0.21.2" +"@esbuild/linux-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-arm64@npm:0.21.4" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -1151,9 +1210,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/linux-arm@npm:0.21.2" +"@esbuild/linux-arm@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-arm@npm:0.21.4" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -1172,9 +1231,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/linux-ia32@npm:0.21.2" +"@esbuild/linux-ia32@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-ia32@npm:0.21.4" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -1193,9 +1252,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/linux-loong64@npm:0.21.2" +"@esbuild/linux-loong64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-loong64@npm:0.21.4" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -1214,9 +1273,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/linux-mips64el@npm:0.21.2" +"@esbuild/linux-mips64el@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-mips64el@npm:0.21.4" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -1235,9 +1294,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/linux-ppc64@npm:0.21.2" +"@esbuild/linux-ppc64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-ppc64@npm:0.21.4" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -1256,9 +1315,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/linux-riscv64@npm:0.21.2" +"@esbuild/linux-riscv64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-riscv64@npm:0.21.4" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -1277,9 +1336,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/linux-s390x@npm:0.21.2" +"@esbuild/linux-s390x@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-s390x@npm:0.21.4" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -1298,9 +1357,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/linux-x64@npm:0.21.2" +"@esbuild/linux-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/linux-x64@npm:0.21.4" conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -1319,9 +1378,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/netbsd-x64@npm:0.21.2" +"@esbuild/netbsd-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/netbsd-x64@npm:0.21.4" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -1340,9 +1399,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/openbsd-x64@npm:0.21.2" +"@esbuild/openbsd-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/openbsd-x64@npm:0.21.4" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -1361,9 +1420,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/sunos-x64@npm:0.21.2" +"@esbuild/sunos-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/sunos-x64@npm:0.21.4" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -1382,9 +1441,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/win32-arm64@npm:0.21.2" +"@esbuild/win32-arm64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/win32-arm64@npm:0.21.4" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -1403,9 +1462,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/win32-ia32@npm:0.21.2" +"@esbuild/win32-ia32@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/win32-ia32@npm:0.21.4" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -1424,9 +1483,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.21.2": - version: 0.21.2 - resolution: "@esbuild/win32-x64@npm:0.21.2" +"@esbuild/win32-x64@npm:0.21.4": + version: 0.21.4 + resolution: "@esbuild/win32-x64@npm:0.21.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2110,6 +2169,13 @@ __metadata: languageName: node linkType: hard +"@shikijs/core@npm:1.6.3": + version: 1.6.3 + resolution: "@shikijs/core@npm:1.6.3" + checksum: 10/bcf4335a7cb1b40de02f3f304aa3226ee37ad7472730641ab105029ade71026eaff946dc92dc1e3ced265496fee20d11ce526bc0484ee09f86bc0b3f94008588 + languageName: node + linkType: hard + "@sinclair/typebox@npm:^0.27.8": version: 0.27.8 resolution: "@sinclair/typebox@npm:0.27.8" @@ -2785,20 +2851,20 @@ __metadata: languageName: node linkType: hard -"astro@npm:^4.8.5": - version: 4.8.5 - resolution: "astro@npm:4.8.5" +"astro@npm:^4.10.1": + version: 4.10.1 + resolution: "astro@npm:4.10.1" dependencies: "@astrojs/compiler": "npm:^2.8.0" "@astrojs/internal-helpers": "npm:0.4.0" "@astrojs/markdown-remark": "npm:5.1.0" "@astrojs/telemetry": "npm:3.1.0" - "@babel/core": "npm:^7.24.5" - "@babel/generator": "npm:^7.24.5" - "@babel/parser": "npm:^7.24.5" - "@babel/plugin-transform-react-jsx": "npm:^7.23.4" - "@babel/traverse": "npm:^7.24.5" - "@babel/types": "npm:^7.24.5" + "@babel/core": "npm:^7.24.6" + "@babel/generator": "npm:^7.24.6" + "@babel/parser": "npm:^7.24.6" + "@babel/plugin-transform-react-jsx": "npm:^7.24.6" + "@babel/traverse": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" "@types/babel__core": "npm:^7.20.5" "@types/cookie": "npm:^0.6.0" acorn: "npm:^8.11.3" @@ -2817,8 +2883,8 @@ __metadata: diff: "npm:^5.2.0" dlv: "npm:^1.1.3" dset: "npm:^3.1.3" - es-module-lexer: "npm:^1.5.2" - esbuild: "npm:^0.21.2" + es-module-lexer: "npm:^1.5.3" + esbuild: "npm:^0.21.4" estree-walker: "npm:^3.0.3" execa: "npm:^8.0.1" fast-glob: "npm:^3.3.2" @@ -2841,15 +2907,15 @@ __metadata: resolve: "npm:^1.22.8" semver: "npm:^7.6.2" sharp: "npm:^0.33.3" - shiki: "npm:^1.5.1" + shiki: "npm:^1.6.1" string-width: "npm:^7.1.0" strip-ansi: "npm:^7.1.0" - tsconfck: "npm:^3.0.3" + tsconfck: "npm:^3.1.0" unist-util-visit: "npm:^5.0.0" vfile: "npm:^6.0.1" - vite: "npm:^5.2.11" + vite: "npm:^5.2.12" vitefu: "npm:^0.2.5" - which-pm: "npm:^2.1.1" + which-pm: "npm:^2.2.0" yargs-parser: "npm:^21.1.1" zod: "npm:^3.23.8" zod-to-json-schema: "npm:^3.23.0" @@ -2858,7 +2924,7 @@ __metadata: optional: true bin: astro: astro.js - checksum: 10/1baec447dd676370b8fa2d7b9e8b5399f94cabeba3d0c38d9aa07a44f8d439f85434855eb341adc9d09be8727ea5b79a9d8db681b3ff8823b59519c169a9184a + checksum: 10/a63d53bce5d24367fc7e467572e4fa608facad136df621cfb024d989faf4238af7445b4cddb12dad67a043be8d2ad622f3557e5539e852bc6336ecf6d304317d languageName: node linkType: hard @@ -3836,13 +3902,20 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^1.4.1, es-module-lexer@npm:^1.5.2": +"es-module-lexer@npm:^1.4.1": version: 1.5.2 resolution: "es-module-lexer@npm:1.5.2" checksum: 10/65b437022293fadba1f720edb0d79090e72a20f107407fb79127755f6d659f27100eec1c55c425ed3af34063586848399bb1924fe913680f8ed903f7b6290c1b languageName: node linkType: hard +"es-module-lexer@npm:^1.5.3": + version: 1.5.3 + resolution: "es-module-lexer@npm:1.5.3" + checksum: 10/2d80297e955f52ec6a4c7c7683ec2ee80b33c61b46af4f6ed3ef8feab16ba10fd4798141132b3fd0f5e2edb36abd4ad50c63cf3e26da2cca1c56debc68816c44 + languageName: node + linkType: hard + "es-set-tostringtag@npm:^2.0.1": version: 2.0.1 resolution: "es-set-tostringtag@npm:2.0.1" @@ -4034,33 +4107,33 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.21.2": - version: 0.21.2 - resolution: "esbuild@npm:0.21.2" - dependencies: - "@esbuild/aix-ppc64": "npm:0.21.2" - "@esbuild/android-arm": "npm:0.21.2" - "@esbuild/android-arm64": "npm:0.21.2" - "@esbuild/android-x64": "npm:0.21.2" - "@esbuild/darwin-arm64": "npm:0.21.2" - "@esbuild/darwin-x64": "npm:0.21.2" - "@esbuild/freebsd-arm64": "npm:0.21.2" - "@esbuild/freebsd-x64": "npm:0.21.2" - "@esbuild/linux-arm": "npm:0.21.2" - "@esbuild/linux-arm64": "npm:0.21.2" - "@esbuild/linux-ia32": "npm:0.21.2" - "@esbuild/linux-loong64": "npm:0.21.2" - "@esbuild/linux-mips64el": "npm:0.21.2" - "@esbuild/linux-ppc64": "npm:0.21.2" - "@esbuild/linux-riscv64": "npm:0.21.2" - "@esbuild/linux-s390x": "npm:0.21.2" - "@esbuild/linux-x64": "npm:0.21.2" - "@esbuild/netbsd-x64": "npm:0.21.2" - "@esbuild/openbsd-x64": "npm:0.21.2" - "@esbuild/sunos-x64": "npm:0.21.2" - "@esbuild/win32-arm64": "npm:0.21.2" - "@esbuild/win32-ia32": "npm:0.21.2" - "@esbuild/win32-x64": "npm:0.21.2" +"esbuild@npm:^0.21.4": + version: 0.21.4 + resolution: "esbuild@npm:0.21.4" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.4" + "@esbuild/android-arm": "npm:0.21.4" + "@esbuild/android-arm64": "npm:0.21.4" + "@esbuild/android-x64": "npm:0.21.4" + "@esbuild/darwin-arm64": "npm:0.21.4" + "@esbuild/darwin-x64": "npm:0.21.4" + "@esbuild/freebsd-arm64": "npm:0.21.4" + "@esbuild/freebsd-x64": "npm:0.21.4" + "@esbuild/linux-arm": "npm:0.21.4" + "@esbuild/linux-arm64": "npm:0.21.4" + "@esbuild/linux-ia32": "npm:0.21.4" + "@esbuild/linux-loong64": "npm:0.21.4" + "@esbuild/linux-mips64el": "npm:0.21.4" + "@esbuild/linux-ppc64": "npm:0.21.4" + "@esbuild/linux-riscv64": "npm:0.21.4" + "@esbuild/linux-s390x": "npm:0.21.4" + "@esbuild/linux-x64": "npm:0.21.4" + "@esbuild/netbsd-x64": "npm:0.21.4" + "@esbuild/openbsd-x64": "npm:0.21.4" + "@esbuild/sunos-x64": "npm:0.21.4" + "@esbuild/win32-arm64": "npm:0.21.4" + "@esbuild/win32-ia32": "npm:0.21.4" + "@esbuild/win32-x64": "npm:0.21.4" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -4110,7 +4183,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10/0f6663800686f06dc55a701e0a97648cc52aacfdb618bb48bcb6d6d1881e96152b9ac2729d8408db6263344dd07732210944527e50d874ee3a2c41bae74f7239 + checksum: 10/d27b0fcdce514a73a10c6a687b3d2a90280d9ff07414a8d8b643f2be4e794f992f94de9044a5be90a9be07f368421e1b05d07209822f8f1a33ce47a18df2ebe8 languageName: node linkType: hard @@ -5700,7 +5773,7 @@ __metadata: "@codspeed/vitest-plugin": "npm:^3.1.0" "@types/node": "npm:^20.12.12" "@vitest/ui": "npm:^1.6.0" - astro: "npm:^4.8.5" + astro: "npm:^4.10.1" defu: "npm:^6.1.4" sharp: "npm:^0.33.4" tsup: "npm:^8.0.2" @@ -8392,7 +8465,7 @@ __metadata: languageName: node linkType: hard -"shiki@npm:^1.1.2, shiki@npm:^1.5.1": +"shiki@npm:^1.1.2": version: 1.5.1 resolution: "shiki@npm:1.5.1" dependencies: @@ -8410,6 +8483,15 @@ __metadata: languageName: node linkType: hard +"shiki@npm:^1.6.1": + version: 1.6.3 + resolution: "shiki@npm:1.6.3" + dependencies: + "@shikijs/core": "npm:1.6.3" + checksum: 10/a0e83398beb5f4ee8a46949cc3b39b37a7fc6d49a5b8f0b592171c476f204183252b0edc522e30e4b540e4ec8233a380e032d4861b2ecd4923b8536514472a54 + languageName: node + linkType: hard + "shikiji-core@npm:0.9.19": version: 0.9.19 resolution: "shikiji-core@npm:0.9.19" @@ -9025,9 +9107,9 @@ __metadata: languageName: node linkType: hard -"tsconfck@npm:^3.0.3": - version: 3.0.3 - resolution: "tsconfck@npm:3.0.3" +"tsconfck@npm:^3.1.0": + version: 3.1.0 + resolution: "tsconfck@npm:3.1.0" peerDependencies: typescript: ^5.0.0 peerDependenciesMeta: @@ -9035,7 +9117,7 @@ __metadata: optional: true bin: tsconfck: bin/tsconfck.js - checksum: 10/1c17217dc3758e71bebdb223b7cd6e613f8f8c92a225cccc40d459554dfae50cbf9d339c6a4a5a8d04620fe1c21bb6d454b6e10421e3fcd808ea51d0b5039ffd + checksum: 10/24fdd664f521c26dfaebba1e4845f2de9d0743285011a6da527dff6b588357a32a2a0b694c1b76d670b4177d7ef576dcf39e9bb54906c03da67ce8dcca6202d3 languageName: node linkType: hard @@ -9542,7 +9624,7 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.0.0, vite@npm:^5.2.11": +"vite@npm:^5.0.0": version: 5.2.11 resolution: "vite@npm:5.2.11" dependencies: @@ -9582,6 +9664,46 @@ __metadata: languageName: node linkType: hard +"vite@npm:^5.2.12": + version: 5.2.13 + resolution: "vite@npm:5.2.13" + dependencies: + esbuild: "npm:^0.20.1" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.38" + rollup: "npm:^4.13.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10/eee65eebff8c839935fdf1a6f2bbc90b923d53a447cc0949abea71577166e7ad7ceb41f3ea42c79a54997319eacfa45445509da371a8ba0699fce8f7de137882 + languageName: node + linkType: hard + "vitefu@npm:^0.2.5": version: 0.2.5 resolution: "vitefu@npm:0.2.5" @@ -9926,13 +10048,13 @@ __metadata: languageName: node linkType: hard -"which-pm@npm:^2.1.1": - version: 2.1.1 - resolution: "which-pm@npm:2.1.1" +"which-pm@npm:^2.2.0": + version: 2.2.0 + resolution: "which-pm@npm:2.2.0" dependencies: load-yaml-file: "npm:^0.2.0" path-exists: "npm:^4.0.0" - checksum: 10/1d22caa27a0e759d08992e5e6aacb88f03cf4f76a02653a83adc50de664fc694eb9c849c655298022abaa805b660d2f162800cbd5e50e11cf2ffaa1053d3378b + checksum: 10/f6fe0ad163ba5385c7b8f3465cd29492ab1af6e5c2d5eb0c320008ac458c1614241ebe8d7d7d76d79021aa866a66e2454e181ac681f525cf259ec27abab9468c languageName: node linkType: hard