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