mirror of https://github.com/jiahaog/Nativefier
24 lines
799 B
JavaScript
24 lines
799 B
JavaScript
import log from 'loglevel';
|
|
import { sanitizeFilename } from './../../utils';
|
|
import { inferTitle } from './../../infer';
|
|
import { DEFAULT_APP_NAME } from './../../constants';
|
|
|
|
function tryToInferName({ name, targetUrl }) {
|
|
// .length also checks if its the commanderJS function or a string
|
|
if (name && name.length > 0) {
|
|
return Promise.resolve(name);
|
|
}
|
|
|
|
return inferTitle(targetUrl)
|
|
.then(pageTitle => (pageTitle || DEFAULT_APP_NAME))
|
|
.catch((error) => {
|
|
log.warn(`Unable to automatically determine app name, falling back to '${DEFAULT_APP_NAME}'. Reason: ${error}`);
|
|
return DEFAULT_APP_NAME;
|
|
});
|
|
}
|
|
|
|
export default function ({ platform, name, targetUrl }) {
|
|
return tryToInferName({ name, targetUrl })
|
|
.then(result => sanitizeFilename(platform, result));
|
|
}
|