Smart configuration loader
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

build: optional giget peer dependency

+22 -3
+11 -1
README.md
··· 172 172 ```js 173 173 import { createJiti } from "jiti"; 174 174 175 - const jiti = createJiti(import.meta.url, { /* jiti options */ }); 175 + const jiti = createJiti(import.meta.url, { 176 + /* jiti options */ 177 + }); 176 178 177 179 const { config } = await loadConfig({ 178 180 import: (id) => jiti.import(id), ··· 314 316 ``` 315 317 316 318 ## Extending config layer from remote sources 319 + 320 + > [!NOTE] 321 + > Extending from remote sources requires the [`giget`](https://giget.unjs.io) peer dependency to be installed. 322 + > 323 + > ```sh 324 + > # ✨ Auto-detect 325 + > npx nypm install giget 326 + > ``` 317 327 318 328 You can also extend configuration from remote sources such as npm or github. 319 329
+5 -1
package.json
··· 28 28 "defu": "^6.1.4", 29 29 "dotenv": "^17.2.4", 30 30 "exsolve": "^1.0.8", 31 - "giget": "^3.1.2", 32 31 "pathe": "^2.0.3", 33 32 "pkg-types": "^2.3.0", 34 33 "rc9": "^3.0.0" ··· 42 41 "chokidar": "^5.0.0", 43 42 "eslint-config-unjs": "^0.6.2", 44 43 "expect-type": "^1.3.0", 44 + "giget": "^3.1.2", 45 45 "jiti": "^2.6.1", 46 46 "magicast": "^0.5.2", 47 47 "obuild": "^0.4.27", ··· 54 54 }, 55 55 "peerDependencies": { 56 56 "chokidar": "^5", 57 + "giget": "*", 57 58 "jiti": "*", 58 59 "magicast": "*" 59 60 }, ··· 65 66 "optional": true 66 67 }, 67 68 "jiti": { 69 + "optional": true 70 + }, 71 + "giget": { 68 72 "optional": true 69 73 } 70 74 },
+6 -1
src/loader.ts
··· 301 301 : GIGET_PREFIXES; 302 302 303 303 if (options.giget !== false && gigetPrefixes.some((prefix) => source.startsWith(prefix))) { 304 - const { downloadTemplate } = await import("giget"); 304 + const { downloadTemplate } = await import("giget").catch((error) => { 305 + throw new Error( 306 + `Extending config from \`${source}\` requires \`giget\` peer dependency to be installed.\n\nInstall it with: \`npx nypm i giget\``, 307 + { cause: error }, 308 + ); 309 + }); 305 310 const { digest } = await import("ohash"); 306 311 307 312 const cloneName =