Files
ohif-viewer/platform/cli/src/questions.js
2025-03-07 13:47:44 +07:00

96 lines
2.3 KiB
JavaScript

import path from 'path';
import os from 'os';
function getPathQuestions(packageType) {
return [
{
type: 'input',
name: 'name',
message: `What is the name of your ${packageType}?`,
validate: input => {
if (!input) {
return 'Please enter a name';
}
return true;
},
default: `my-${packageType}`,
},
{
type: 'input',
name: 'baseDir',
message: `What is the target path to create your ${packageType}?`,
suffix: `\n(we recommend you do not use the OHIF ${packageType} folder (./${packageType}s) unless you are developing a core ${packageType})`,
maxLength: 40,
validate: input => {
if (!input) {
console.log('Please provide a valid target directory path');
return;
}
return true;
},
filter: (input, answers) => {
// Replace ~ with the user's home directory
const expandedPath = input.replace(/^~(?=$|\/|\\)/, os.homedir());
// Resolve the path to an absolute path
const resolvedPath = path.resolve(expandedPath, answers.name);
return resolvedPath;
},
},
{
type: 'confirm',
name: 'confirm',
message: `Please confirm the above path for generating the ${packageType} folder:`,
},
];
}
function getRepoQuestions(packageType) {
return [
{
type: 'confirm',
name: 'gitRepository',
message: 'Should it be a git repository?',
default: false,
},
{
type: 'confirm',
name: 'prettier',
message: 'Should it follow same prettier rules as OHIF?',
},
{
type: 'input',
name: 'version',
message: `What is the version of your ${packageType}?`,
default: '0.0.1',
},
{
type: 'input',
name: 'description',
message: `What is the description of your ${packageType}?`,
default: '',
},
{
type: 'input',
name: 'author',
message: `Who is the author of your ${packageType}?`,
default: '',
},
{
type: 'input',
name: 'email',
message: 'What is your email address?',
default: '',
},
{
type: 'input',
name: 'license',
message: `What is the license of your ${packageType}?`,
default: 'MIT',
},
];
}
export { getPathQuestions, getRepoQuestions };