From 70d4584730bdc273e00633a413c5fb37c9e7d05a Mon Sep 17 00:00:00 2001 From: Roman Date: Mon, 26 Jan 2026 20:30:17 +0000 Subject: [PATCH] fix: replace globby with tinyglobby --- package.json | 2 +- pnpm-lock.yaml | 146 +------------------------- scripts/bump-nightly.ts | 4 +- src/core/build/assets.ts | 6 +- src/core/scan.ts | 4 +- src/core/utils/compress.ts | 4 +- src/core/utils/fs-tree.ts | 4 +- src/presets/cloudflare/utils.ts | 4 +- src/rollup/plugins/dynamic-require.ts | 4 +- src/rollup/plugins/public-assets.ts | 4 +- src/rollup/plugins/server-assets.ts | 4 +- 11 files changed, 24 insertions(+), 162 deletions(-) diff --git a/package.json b/package.json index bda9d7edc8..bd8de27090 100644 --- a/package.json +++ b/package.json @@ -124,7 +124,6 @@ "escape-string-regexp": "^5.0.0", "etag": "^1.8.1", "exsolve": "^1.0.8", - "globby": "^16.1.0", "gzip-size": "^7.0.0", "h3": "^1.15.5", "hookable": "^5.5.3", @@ -155,6 +154,7 @@ "serve-static": "^2.2.1", "source-map": "^0.7.6", "std-env": "^3.10.0", + "tinyglobby": "^0.2.15", "ufo": "^1.6.3", "ultrahtml": "^1.6.0", "uncrypto": "^0.1.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 72b382cf3b..1069c88859 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -92,9 +92,6 @@ importers: exsolve: specifier: ^1.0.8 version: 1.0.8 - globby: - specifier: ^16.1.0 - version: 16.1.0 gzip-size: specifier: ^7.0.0 version: 7.0.0 @@ -185,6 +182,9 @@ importers: std-env: specifier: ^3.10.0 version: 3.10.0 + tinyglobby: + specifier: ^0.2.15 + version: 0.2.15 ufo: specifier: ^1.6.3 version: 1.6.3 @@ -1493,18 +1493,6 @@ packages: resolution: {integrity: sha512-5gxMWh/S7wr0uHKSTbMv4bjWmWSpwpeLYvErWeVNAPll5/QNFo9aWimMAUuh8ReLY3/fg92XAroVVu7+z27Snw==} engines: {node: ^18.14.0 || >=20} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -2672,10 +2660,6 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - browserslist@4.28.1: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -3466,10 +3450,6 @@ packages: fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -3487,9 +3467,6 @@ packages: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} - fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} - fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} @@ -3517,10 +3494,6 @@ packages: file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - finalhandler@1.3.2: resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} engines: {node: '>= 0.8'} @@ -3686,10 +3659,6 @@ packages: github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -3722,10 +3691,6 @@ packages: resolution: {integrity: sha512-gv5BeD2EssA793rlFWVPMMCqefTlpusw6/2TbAVMy0FzcG8wKJn4O+NqJ4+XWmmwrayJgw5TzrmWjFgmz1XPqw==} engines: {node: '>=18'} - globby@16.1.0: - resolution: {integrity: sha512-+A4Hq7m7Ze592k9gZRy4gJ27DrXRNnC1vPjxTt1qQxEY8RxagBkBxivkCwg7FxSTG0iLLEMaUx13oOr0R2/qcQ==} - engines: {node: '>=20'} - globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} @@ -4031,10 +3996,6 @@ packages: resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - is-obj@3.0.0: resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} engines: {node: '>=12'} @@ -4420,10 +4381,6 @@ packages: merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} @@ -4518,10 +4475,6 @@ packages: micromark@4.0.2: resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -5196,9 +5149,6 @@ packages: quansync@0.2.11: resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - radix-vue@1.9.17: resolution: {integrity: sha512-mVCu7I2vXt1L2IUYHTt0sZMz7s1K2ZtqKeTIxG3yC5mMFfLBG4FtE1FDeRMpDd+Hhg/ybi9+iXmAP1ISREndoQ==} peerDependencies: @@ -5364,10 +5314,6 @@ packages: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -5406,9 +5352,6 @@ packages: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -5520,10 +5463,6 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - smob@1.5.0: resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} @@ -5723,6 +5662,7 @@ packages: tar@7.5.2: resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==} engines: {node: '>=18'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me teeny-request@9.0.0: resolution: {integrity: sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g==} @@ -5770,10 +5710,6 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} @@ -5891,10 +5827,6 @@ packages: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} - unicorn-magic@0.4.0: - resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} - engines: {node: '>=20'} - unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -7383,18 +7315,6 @@ snapshots: '@netlify/types@2.3.0': {} - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.1 - '@opentelemetry/api@1.9.0': optional: true @@ -8846,10 +8766,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.9.14 @@ -9763,14 +9679,6 @@ snapshots: fast-fifo@1.3.2: {} - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -9784,10 +9692,6 @@ snapshots: fastest-levenshtein@1.0.16: {} - fastq@1.20.1: - dependencies: - reusify: 1.1.0 - fault@2.0.1: dependencies: format: 0.2.2 @@ -9810,10 +9714,6 @@ snapshots: file-uri-to-path@1.0.0: {} - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - finalhandler@1.3.2: dependencies: debug: 2.6.9 @@ -10002,10 +9902,6 @@ snapshots: github-slugger@2.0.0: {} - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - glob-parent@6.0.2: dependencies: is-glob: 4.0.3 @@ -10044,15 +9940,6 @@ snapshots: globals@17.0.0: {} - globby@16.1.0: - dependencies: - '@sindresorhus/merge-streams': 4.0.0 - fast-glob: 3.3.3 - ignore: 7.0.5 - is-path-inside: 4.0.0 - slash: 5.1.0 - unicorn-magic: 0.4.0 - globrex@0.1.2: {} google-auth-library@9.15.1: @@ -10444,8 +10331,6 @@ snapshots: is-npm@6.1.0: {} - is-number@7.0.0: {} - is-obj@3.0.0: {} is-path-inside@4.0.0: {} @@ -10903,8 +10788,6 @@ snapshots: merge-stream@2.0.0: {} - merge2@1.4.1: {} - methods@1.1.2: {} microdiff@1.5.0: {} @@ -11107,11 +10990,6 @@ snapshots: transitivePeerDependencies: - supports-color - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - mime-db@1.52.0: {} mime-db@1.54.0: {} @@ -11740,8 +11618,6 @@ snapshots: quansync@0.2.11: {} - queue-microtask@1.2.3: {} - radix-vue@1.9.17(vue@3.5.26(typescript@5.9.3)): dependencies: '@floating-ui/dom': 1.7.4 @@ -11972,8 +11848,6 @@ snapshots: retry@0.13.1: optional: true - reusify@1.1.0: {} - rimraf@2.7.1: dependencies: glob: 7.2.3 @@ -12032,10 +11906,6 @@ snapshots: run-applescript@7.1.0: {} - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -12206,8 +12076,6 @@ snapshots: sisteransi@1.0.5: {} - slash@5.1.0: {} - smob@1.5.0: {} smtp-address-parser@1.0.10: @@ -12478,10 +12346,6 @@ snapshots: dependencies: os-tmpdir: 1.0.2 - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - toidentifier@1.0.1: {} tr46@0.0.3: {} @@ -12608,8 +12472,6 @@ snapshots: unicorn-magic@0.3.0: {} - unicorn-magic@0.4.0: {} - unified@11.0.5: dependencies: '@types/unist': 3.0.3 diff --git a/scripts/bump-nightly.ts b/scripts/bump-nightly.ts index 3558963ef5..b234dd427f 100755 --- a/scripts/bump-nightly.ts +++ b/scripts/bump-nightly.ts @@ -1,6 +1,6 @@ import { promises as fsp } from "node:fs"; import { execaCommand } from "execa"; -import { globby } from "globby"; +import { glob } from "tinyglobby"; import { resolve } from "pathe"; // const nightlyPackages = { @@ -48,7 +48,7 @@ type Package = ThenArg>; async function loadWorkspace(dir: string) { const workspacePkg = await loadPackage(dir); - const pkgDirs = await globby(workspacePkg.data.workspaces || [], { + const pkgDirs = await glob(workspacePkg.data.workspaces || [], { onlyDirectories: true, }); diff --git a/src/core/build/assets.ts b/src/core/build/assets.ts index b55a14d28b..51c9c1a0f0 100644 --- a/src/core/build/assets.ts +++ b/src/core/build/assets.ts @@ -1,5 +1,5 @@ import { existsSync, promises as fsp } from "node:fs"; -import { globby } from "globby"; +import { glob } from "tinyglobby"; import { isDirectory, prettyPath } from "nitropack/kit"; import type { Nitro } from "nitropack/types"; import { join, relative, resolve } from "pathe"; @@ -19,7 +19,7 @@ export async function scanUnprefixedPublicAssets(nitro: Nitro) { continue; } const includePatterns = getIncludePatterns(nitro, asset.dir); - const publicAssets = await globby(includePatterns, { + const publicAssets = await glob(includePatterns, { cwd: asset.dir, absolute: false, dot: true, @@ -40,7 +40,7 @@ export async function copyPublicAssets(nitro: Nitro) { const dstDir = join(nitro.options.output.publicDir, asset.baseURL!); if (await isDirectory(srcDir)) { const includePatterns = getIncludePatterns(nitro, srcDir); - const publicAssets = await globby(includePatterns, { + const publicAssets = await glob(includePatterns, { cwd: srcDir, absolute: false, dot: true, diff --git a/src/core/scan.ts b/src/core/scan.ts index 86052a435b..b288ed3f37 100644 --- a/src/core/scan.ts +++ b/src/core/scan.ts @@ -1,4 +1,4 @@ -import { globby } from "globby"; +import { glob } from "tinyglobby"; import type { Nitro } from "nitropack/types"; import { join, relative } from "pathe"; import { withBase, withLeadingSlash, withoutTrailingSlash } from "ufo"; @@ -156,7 +156,7 @@ async function scanDir( dir: string, name: string ): Promise { - const fileNames = await globby(join(name, GLOB_SCAN_PATTERN), { + const fileNames = await glob(join(name, GLOB_SCAN_PATTERN), { cwd: dir, dot: true, ignore: nitro.options.ignore, diff --git a/src/core/utils/compress.ts b/src/core/utils/compress.ts index e6754b82cd..8dbcc83307 100644 --- a/src/core/utils/compress.ts +++ b/src/core/utils/compress.ts @@ -1,14 +1,14 @@ import { existsSync } from "node:fs"; import fsp from "node:fs/promises"; import zlib from "node:zlib"; -import { globby } from "globby"; +import { glob } from "tinyglobby"; import mime from "mime"; import type { Nitro } from "nitropack/types"; import { resolve } from "pathe"; import { runParallel } from "./parallel"; export async function compressPublicAssets(nitro: Nitro) { - const publicFiles = await globby("**", { + const publicFiles = await glob("**", { cwd: nitro.options.output.publicDir, absolute: false, dot: true, diff --git a/src/core/utils/fs-tree.ts b/src/core/utils/fs-tree.ts index 0622e455f7..34afc15909 100644 --- a/src/core/utils/fs-tree.ts +++ b/src/core/utils/fs-tree.ts @@ -1,6 +1,6 @@ import { promises as fsp } from "node:fs"; import { colors } from "consola/utils"; -import { globby } from "globby"; +import { glob } from "tinyglobby"; import { gzipSize } from "gzip-size"; import { dirname, relative, resolve } from "pathe"; import prettyBytes from "pretty-bytes"; @@ -15,7 +15,7 @@ export async function generateFSTree( return; } - const files = await globby("**/*.*", { cwd: dir, ignore: ["*.map"] }); + const files = await glob("**/*.*", { cwd: dir, ignore: ["*.map"] }); const items: { file: string; path: string; size: number; gzip: number }[] = []; diff --git a/src/presets/cloudflare/utils.ts b/src/presets/cloudflare/utils.ts index b78c89d582..374f49ac32 100644 --- a/src/presets/cloudflare/utils.ts +++ b/src/presets/cloudflare/utils.ts @@ -8,7 +8,7 @@ import { writeFile } from "nitropack/kit"; import { parseTOML, parseJSONC } from "confbox"; import { readGitConfig, readPackageJSON, findNearestFile } from "pkg-types"; import { defu } from "defu"; -import { globby } from "globby"; +import { glob } from "tinyglobby"; import { provider } from "std-env"; import { join, resolve } from "pathe"; import { @@ -70,7 +70,7 @@ export async function writeCFRoutes(nitro: Nitro) { ); // Unprefixed assets - const publicAssetFiles = await globby("**", { + const publicAssetFiles = await glob("**", { cwd: nitro.options.output.dir, absolute: false, dot: true, diff --git a/src/rollup/plugins/dynamic-require.ts b/src/rollup/plugins/dynamic-require.ts index 28122257a8..c5f064a285 100644 --- a/src/rollup/plugins/dynamic-require.ts +++ b/src/rollup/plugins/dynamic-require.ts @@ -1,5 +1,5 @@ import { pathToFileURL } from "node:url"; -import { globby } from "globby"; +import { glob } from "tinyglobby"; import { genSafeVariableName } from "knitwork"; import { resolve } from "pathe"; import type { Plugin } from "rollup"; @@ -65,7 +65,7 @@ export function dynamicRequire({ dir, ignore, inline }: Options): Plugin { Object.keys(r.files).filter((file) => !ignore.includes(file)) ); } catch { - files = await globby("**/*.{cjs,mjs,js}", { + files = await glob("**/*.{cjs,mjs,js}", { cwd: dir, absolute: false, ignore, diff --git a/src/rollup/plugins/public-assets.ts b/src/rollup/plugins/public-assets.ts index d19325fc5d..c8235644f2 100644 --- a/src/rollup/plugins/public-assets.ts +++ b/src/rollup/plugins/public-assets.ts @@ -1,6 +1,6 @@ import { promises as fsp } from "node:fs"; import createEtag from "etag"; -import { globby } from "globby"; +import { glob } from "tinyglobby"; import mime from "mime"; import type { Nitro } from "nitropack/types"; import type { PublicAsset } from "nitropack/types"; @@ -27,7 +27,7 @@ export function publicAssets(nitro: Nitro): Plugin { // #nitro-internal-virtual/public-assets-data "#nitro-internal-virtual/public-assets-data": async () => { const assets: Record = {}; - const files = await globby("**", { + const files = await glob("**", { cwd: nitro.options.output.publicDir, absolute: false, dot: true, diff --git a/src/rollup/plugins/server-assets.ts b/src/rollup/plugins/server-assets.ts index 22cace2412..0ec8539ef6 100644 --- a/src/rollup/plugins/server-assets.ts +++ b/src/rollup/plugins/server-assets.ts @@ -1,6 +1,6 @@ import { promises as fsp } from "node:fs"; import createEtag from "etag"; -import { globby } from "globby"; +import { glob } from "tinyglobby"; import mime from "mime"; import type { Nitro } from "nitropack/types"; import { resolve } from "pathe"; @@ -33,7 +33,7 @@ export function serverAssets(nitro: Nitro): Plugin { // Scan all assets const assets: Record = {}; for (const asset of nitro.options.serverAssets) { - const files = await globby(asset.pattern || "**/*", { + const files = await glob(asset.pattern || "**/*", { cwd: asset.dir, absolute: false, ignore: asset.ignore,