c12
c12 copied to clipboard
Extends don't work with custom providers
Environment
Operating System: MacOs Node Version: v20.3.1 Nuxt Version: 3.12.2 Nitro Version: v2.9.6 Package Manager: [email protected]
Reproduction
https://stackblitz.com/edit/github-cfzuw7?file=nuxt.config.ts
Describe the bug
https://github.com/unjs/giget?tab=readme-ov-file#custom-providers
const rainbow: TemplateProvider = input => {
const repoUrl = `https://gitlab.com/baha96/${input}`
const repoTarUrl =
'https://gitlab.com/api/v4/projects/59118921/repository/archive.tar.gz?private_token=glpat-5G8Rh7rzKDq5XPDYYDou&sha=51555e794bd6f20f4afdd9aa966c7db063d3ee0f'
return {
name: 'rainbow',
version: input,
headers: {
'Accept': 'application/octet-stream',
'sec-fetch-mode': 'same-origin'
},
url: repoUrl,
tar: repoTarUrl
}
}
in nuxt.config
extends: [
[
'rainbow:test',
{
giget: {
providers: { rainbow },
force: true,
forceClean: true,
auth: 'glpat-5G8Rh7rzKDq5XPDYYDou'
},
auth: 'glpat-5G8Rh7rzKDq5XPDYYDou'
}
]
]
After receiving a warning [12:19:21 PM] WARN Cannot extend config from rainbow:test in /PhpstormProjects/app-nuxt-3
Did some research
In node_modules/c12/dist/shared/c12.cab0c9da.mjs and node_modules/c12/dist/shared/c12.24612422.cjs the files has a variable like this GIGET_PREFIXES
const GIGET_PREFIXES = [
"gh:",
"github:",
"gitlab:",
"bitbucket:",
"https://",
"http://"
];
if (GIGET_PREFIXES.some((prefix) => source.startsWith(prefix))) {
....
}
https://github.com/unjs/c12/blob/ed4ce55e2cf7c56dcb171c379285ab568948c3fc/src/loader.ts#L306
and due to the fact that the variable does not contain a custom provider, it does not work
Additional context
No response
Logs
No response