fs.writeFileSync(file, data);
}
-function concatWithBaseUrl(url: string, baseUrl: string) {
- if (url.indexOf('http:') == -1 && url.indexOf('https:') == -1) {
- return baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1) + url;
+function concatWithBaseUrl(path: string, baseUrl: string) {
+ if (path.substr(0, 1) === '/') {
+ return baseUrl.substr(0, baseUrl.indexOf('/') + 1) + path;
+ } else if (path.indexOf('http:') == -1 && path.indexOf('https:') == -1) {
+ return baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1) + path;
}
- return url;
+ return path;
}
let baseWorkingDir = '/home/owner/content/Downloads/AppManifest';
refCount++;
}
-function handleStartUrl(appName: string, manifestUrl: string, manifest: any) {
- let startUrl = concatWithBaseUrl(manifest['start_url'], manifestUrl);
- manifest['start_url'] = startUrl;
+function makeManifestFile(appName: string, manifest: any) {
manifestFile = `${baseWorkingDir}/${appName}/appmanifest.json`;
makeFileSync(manifestFile, JSON.stringify(manifest));
manifestFile = `${downloadVirtualDir}/${appName}/appmanifest.json`;
refCount++;
- return startUrl;
}
function makeAppId(startUrl: string) {
let id = Buffer.from(startUrl).toString('base64');
id = id.replace(/=/i, '');
console.log(`id : ${id}`);
- return id.substr(2, 12);
+ return id.substr(2, 10);
}
function convertConfigXml(appName: string, startUrl: string) {
await handleIcon(appName, manifestUrl, manifest);
}
if (manifest['start_url']) {
- let startUrl = handleStartUrl(appName, manifestUrl, manifest);
+ let startUrl = concatWithBaseUrl(manifest['start_url'], manifestUrl);
+ manifest['start_url'] = startUrl;
+
+ makeManifestFile(appName, manifest);
convertConfigXml(appName, startUrl);
}
makeWgt(appName);