59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
export interface ScriptPathT {
|
|
dir: `${string}/${string}`
|
|
main: `${string}/${string}/main.ts`
|
|
meta: `${string}/${string}/meta.json`
|
|
error: `${string}/${string}/error.log`
|
|
dist: `${string}/${string}.user.js`
|
|
url: `${string}/${string}.user.js`
|
|
}
|
|
|
|
export interface getAllPathsOps {
|
|
baseUrl: string
|
|
supportUrl: string
|
|
homepageUrl: string
|
|
remoteBranch: string
|
|
inBase: string
|
|
outBase: string
|
|
}
|
|
|
|
export default function getAllPaths({
|
|
baseUrl,
|
|
supportUrl,
|
|
homepageUrl,
|
|
remoteBranch,
|
|
inBase,
|
|
outBase,
|
|
}: getAllPathsOps) {
|
|
// generate links for remote git server
|
|
if (baseUrl != '' && remoteBranch != '') {
|
|
if (supportUrl == '') {
|
|
supportUrl = `${baseUrl}/issues`
|
|
}
|
|
|
|
if (homepageUrl == '') {
|
|
homepageUrl = baseUrl
|
|
}
|
|
baseUrl = `${baseUrl}/raw/branch/${remoteBranch}/${outBase}`
|
|
}
|
|
|
|
return {
|
|
base: {
|
|
in: inBase,
|
|
out: outBase,
|
|
},
|
|
url: {
|
|
home: homepageUrl,
|
|
base: baseUrl,
|
|
support: supportUrl,
|
|
},
|
|
script: (name: string): ScriptPathT => ({
|
|
dir: `${inBase}/${name}`,
|
|
main: `${inBase}/${name}/main.ts`,
|
|
meta: `${inBase}/${name}/meta.json`,
|
|
error: `${inBase}/${name}/error.log`,
|
|
dist: `${outBase}/${name}.user.js`,
|
|
url: `${baseUrl}/${name}.user.js`,
|
|
}),
|
|
}
|
|
}
|