Files
browser-scripts-builder/src/paths.ts

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`,
}),
}
}