{"version":3,"sources":["jsdelivr-header.js","/npm/@mobiscroll/cli@1.15.0/mobiscroll.js"],"names":[],"mappings":"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","file":"/npm/@mobiscroll/cli@1.15.0/mobiscroll.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@mobiscroll/cli@1.15.0/mobiscroll.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\n\nconst program = require('commander');\nconst inquirer = require('inquirer');\nconst fs = require('fs');\nconst utils = require('./src/utils.js');\nconst configIonic = require('./src/configIonic.js').configIonic;\nconst configAngular = require('./src/configAngular.js').configAngular;\nconst chalk = require('chalk');\nconst path = require('path');\nconst helperMessages = require('./src/helperMessages.js');\nconst ncp = require('ncp').ncp;\nconst figlet = require('figlet');\nconst os = require('os');\nconst semver = require('semver');\n\nvar isNpmSource = true;\nvar isTrial = false;\nvar isLite = false;\nvar isLazy = false;\nvar legacyPeerFlag = false;\nvar run = utils.run;\nvar printFeedback = utils.printFeedback;\n//var printError = utils.printError;\nvar printWarning = utils.printWarning;\nvar localCliVersion = require('./package.json').version;\nvar mobiscrollVersion = null;\nvar useGlobalNpmrc = false;\nvar proxyUrl = '';\nvar useScss = undefined;\nvar startIoncVesrion = '';\n\nprocess.env.HOME = process.env.HOME || ''; // fix npm-cli-login plugin on windows\n\nfunction checkUpdate(proxy) {\n  let proxyParam = '';\n  if (proxy) {\n    proxyParam = ' --proxy ' + proxy;\n  }\n  return new Promise((resolve) => {\n    run('npm show @mobiscroll/cli version' + proxyParam, true, true, true).then((npmCliVersion) => {\n      // get the mobiscroll cli version from npm\n\n      if (npmCliVersion) {\n        npmCliVersion = npmCliVersion.trim();\n\n        if (localCliVersion != npmCliVersion) {\n          // if the two versions are not equal ask for update\n          inquirer\n            .prompt({\n              type: 'input',\n              name: 'update',\n              message: `The Mobiscroll CLI has an update available (${localCliVersion} => ${npmCliVersion})! Would you like to install it? (Y/n)`,\n              default: 'y',\n            })\n            .then((answer) => {\n              if (answer.update.toLowerCase() == 'y') {\n                run('npm install -g @mobiscroll/cli@latest' + proxyParam).then(() => {\n                  printFeedback(`Updated Mobiscroll CLI to ${npmCliVersion}! \\n\\nPlease re-run your command!\\n`);\n                  process.exit();\n                });\n              } else {\n                console.log(`Skipping the installation of the latest Mobiscroll CLI version.`);\n                resolve();\n              }\n            });\n        } else {\n          // No CLI update found continuing the installation...\n          resolve();\n        }\n      } else {\n        utils.printWarning(\n          `It looks like the CLI couldn't determine the installed cli version. This problem might indicate npm problems on your system. You can update it manually by running the ${chalk.gray(\n            'npm install npm@latest -g'\n          )} `\n        );\n        console.log(`${chalk.magenta('\\nIf the problem persists get in touch at support@mobiscroll.com.')}`);\n        resolve();\n      }\n    });\n  });\n}\n\nfunction notLoggedInFeedback() {\n  printFeedback(`You are not logged in to the Mobiscroll npm registry ${useGlobalNpmrc ? 'globally' : 'locally'}!\\n`);\n  if (!useGlobalNpmrc) {\n    console.log(\n      `${chalk.yellow(\n        'Please Note:'\n      )} If you are logged in globally you will have to use the -g/--global flag with this command.\\n\\nUsage: ${chalk.gray(\n        'mobiscroll logout -g'\n      )}`\n    );\n  }\n}\n\nfunction removeTokenFromNpmrc(currDir) {\n  const npmrcPath = path.resolve(currDir, '.npmrc');\n  const yarnRcPath = path.resolve(currDir, '.yarnrc.yml');\n  if (fs.existsSync(npmrcPath)) {\n    let content = fs.readFileSync(npmrcPath).toString();\n    if (content.length > 5) {\n      // there is difference in the format of the auth token\n      const regexNpmFormat = /\\/\\/npm\\.mobiscroll\\.com\\/:_authToken=.+\\s\\S+npm.mobiscroll.com\\/?/gim;\n      const regexCliFormat = /@mobiscroll:registry=https:\\/\\/npm\\.mobiscroll\\.com(\\/?)\\s+(\\S+)$/gim;\n      content = content.replace(regexCliFormat, '').replace(regexNpmFormat, '');\n\n      utils.writeToFile(npmrcPath, content, () => {\n        printFeedback('Successful logout!\\n');\n      });\n    } else {\n      notLoggedInFeedback();\n    }\n\n    if (fs.existsSync(yarnRcPath)) {\n      utils.updateAuthTokenInYarnrc(currDir, true);\n    }\n  } else {\n    console.log(`No${useGlobalNpmrc ? ' global' : ' local'} .npmrc file found.`);\n    notLoggedInFeedback();\n  }\n}\n\nfunction handleScss() {\n  useScss = true;\n}\n\nfunction handleCss() {\n  useScss = false;\n}\n\nfunction handleProxy(url) {\n  proxyUrl = url;\n}\n\nfunction handleTrial() {\n  isTrial = true;\n}\n\nfunction handleLite() {\n  isLite = true;\n}\n\nfunction handleNpmInstall() {\n  isNpmSource = false;\n}\n\nfunction handleLegacyPeerFlags() {\n  legacyPeerFlag = true;\n}\n\nfunction handleMobiscrollVersion(vers) {\n  mobiscrollVersion = vers;\n}\n\nfunction handleStartIonicVersion(version) {\n  startIoncVesrion = version;\n}\n\nfunction handleGlobalInstall() {\n  useGlobalNpmrc = true;\n}\n\nfunction config(settings, callback) {\n  var packageJson = settings.packageJson;\n\n  if (!packageJson) {\n    try {\n      packageJson = require(settings.packageJsonLocation);\n      settings.packageJson = packageJson;\n    } catch (err) {\n      utils.printError('Could not open package.json file.\\n\\n' + err);\n    }\n  }\n\n  let projectType = settings.projectType;\n  utils.checkMeteor(packageJson, settings.currDir, projectType);\n\n  switch (projectType) {\n    case 'angular':\n      settings.isIonicApp = false;\n      configAngular(settings, callback);\n      break;\n    case 'angularjs':\n      break;\n    case 'ionic':\n      settings.isLazy = isLazy;\n      configIonic(settings, callback);\n      break;\n    case 'react':\n      helperMessages.reactHelp(settings.apiKey, settings.isLite, settings.isNpmSource, settings.useScss, settings.mobiscrollVersion);\n      if (callback) {\n        callback();\n      }\n      break;\n    case 'vue':\n      helperMessages.vueHelp(settings.isNpmSource, settings.useScss, settings.mobiscrollVersion);\n      if (callback) {\n        callback();\n      }\n      break;\n    case 'jquery':\n      helperMessages.jsHelp('jquery');\n      if (callback) {\n        callback();\n      }\n      break;\n    case 'javascript':\n      helperMessages.jsHelp('javascript');\n      if (callback) {\n        callback();\n      }\n      break;\n  }\n}\n\nfunction cloneProject(url, type, framework, name, newAppLocation, gitOptions, callback) {\n  utils.printLog(`Cloning ${type} starter app from git: ${url}`);\n  utils\n    .run('git clone ' + url + ' ' + name, true)\n    .then(() => {\n      utils.printLog(`Repository cloned successfully.`);\n      process.chdir(newAppLocation); // change directory to node modules folder\n      console.log(`Installing dependencies may take several minutes:\\n`);\n\n      utils.run('npm install', true).then(() => {\n        utils.checkMbscNpmLogin(isTrial, useGlobalNpmrc, proxyUrl, framework, mobiscrollVersion, (userName, useTrial) => {\n          let configObject = {\n            projectType: type,\n            currDir: newAppLocation,\n            userName,\n            useTrial,\n            mobiscrollVersion: 4, // force  v4 installation until v5 version of starters available\n            proxyUrl,\n          };\n\n          utils.installMobiscroll(configObject, () => {\n            if (callback) {\n              callback();\n            }\n          });\n        });\n      });\n    })\n    .catch((err) => {\n      utils.printError('Could not clone starter project from git.\\n\\n' + err);\n    });\n}\n\nfunction askStyleSheetType(version, useScss, config, callback) {\n  var skipQuestion = false;\n  var localScss = undefined;\n  var isIonic = config.projectType === 'ionic' && config.framework !== 'react';\n  var globalScssPath = path.resolve(config.currDir, 'src', isIonic ? 'global.scss' : 'styles.scss');\n  var isGlobalScss = fs.existsSync(globalScssPath);\n\n  if (useScss === undefined && config.packageJson) {\n    var isOldIonic =\n      config.packageJson.dependencies && config.packageJson.dependencies['ionic-angular'] !== undefined; /* ionic version 2/3*/\n\n    // ionic && angular cli\n    if ((config.projectType === 'angular' || config.projectType === 'ionic') && !isOldIonic) {\n      let checkStyleLoaded = isGlobalScss && fs.readFileSync(globalScssPath, 'utf8').toString();\n\n      if (isGlobalScss && checkStyleLoaded && checkStyleLoaded.indexOf('mobiscroll') !== -1) {\n        skipQuestion = true;\n        localScss = true;\n      } else {\n        skipQuestion = !isGlobalScss; // only ask if the angular project was set up with scss\n        localScss = false;\n        if (isIonic && fs.existsSync(path.resolve(config.currDir, 'angular.json'))) {\n          checkStyleLoaded = fs.readFileSync(path.resolve(config.currDir, 'angular.json'), 'utf8').toString();\n          skipQuestion = checkStyleLoaded && checkStyleLoaded.indexOf('mobiscroll') !== -1;\n          localScss = false;\n        }\n      }\n    }\n  }\n\n  if (config.projectType === 'jquery' || config.projectType === 'javascript') {\n    skipQuestion = true;\n  }\n\n  // only ask the scss install if the version is larger then 4.7.0\n  if (semver.gte(version, '4.7.0') && useScss === undefined && !skipQuestion) {\n    let choices = ['CSS', 'SCSS'];\n    console.log('\\n');\n    inquirer\n      .prompt({\n        type: 'list',\n        name: 'stylesheet',\n        message: `Which stylesheet format would you like to use?`,\n        default: isIonic ? 'SCSS' : 'CSS',\n        choices: isIonic ? choices.reverse() : choices,\n      })\n      .then((answer) => {\n        if (callback) {\n          callback(answer.stylesheet === 'SCSS');\n        }\n      });\n  } else {\n    if (callback) {\n      callback(localScss || useScss);\n    }\n  }\n}\n\nfunction startProject(url, type, framework, name, gitOptions, callback) {\n  printFeedback('Mobiscroll start command started.');\n\n  var currDir = process.cwd(), // get the directory where the mobiscroll command was executed\n    newAppLocation = path.resolve(currDir, name);\n\n  if (fs.existsSync(newAppLocation)) {\n    inquirer\n      .prompt({\n        type: 'input',\n        name: 'confirm',\n        message: `The directory .\\\\${chalk.gray(name)} exists. Would you like to overwrite the directory with this new project?(y/N)`,\n        default: 'N',\n      })\n      .then((answer) => {\n        if (answer.confirm.toLowerCase() == 'y') {\n          utils.deleteFolder(newAppLocation); // delete the app with the same name\n          cloneProject(url, type, framework, name, newAppLocation, gitOptions, callback);\n        } else {\n          console.log(`Not erasing existing project in .\\\\${name}`);\n          return;\n        }\n      });\n    //return;\n  } else {\n    cloneProject(url, type, framework, name, newAppLocation, gitOptions, callback);\n  }\n}\n\nfunction createProject(type, name) {\n  switch (type) {\n    case 'angular':\n      startProject('https://github.com/acidb/angular-starter', type, 'angular', name, {}, () => {\n        utils.testInstalledCLI('ng -v', 'npm install -g @angular/cli', 'ng serve -o', name, type);\n      });\n      break;\n    case 'ionic-angular':\n      if (startIoncVesrion && +startIoncVesrion === 4) {\n        startProject(\n          'https://github.com/acidb/ionic-angular-starter',\n          'ionic',\n          'angular',\n          name,\n          {\n            checkout: 'v4',\n          },\n          () => {\n            utils.testInstalledCLI('ionic -v', 'npm install -g ionic', 'ionic serve', name, type);\n          }\n        );\n      } else {\n        startProject('https://github.com/acidb/ionic-angular-starter', 'ionic', 'angular', name, {}, () => {\n          utils.testInstalledCLI('ionic -v', 'npm install -g @ionic/cli', 'ionic serve', name, type);\n        });\n      }\n      break;\n    case 'ionic-react':\n      startProject('https://github.com/acidb/ionic-react-starter', 'react', 'react', name, {}, () => {\n        utils.testInstalledCLI('ionic -v', 'npm install -g @ionic/cli', 'ionic serve', name, 'react');\n      });\n      break;\n    case 'ionic':\n      startProject('https://github.com/acidb/ionic-starter', type, 'angular', name, {}, () => {\n        utils.testInstalledCLI('ionic -v', 'npm install -g ionic', 'ionic serve', name, type);\n      });\n      break;\n    case 'react':\n      startProject('https://github.com/acidb/react-starter', type, 'react', name, {}, () => {\n        utils.testInstalledCLI('create-react-app --version', 'npm install -g create-react-app', 'npm start', name, type);\n      });\n      break;\n    // case 'vue':\n    //     startProject('', type, name, () => {\n    //         utils.testInstalledCLI('vue -V', 'npm install -g @vue/cli', 'npm run serve', name, type);\n    //     });\n    //     break;\n    default:\n      printWarning(\n        'No valid project type was specified. Currently the following project types are supported: [ angular, ionic, ionic-angular, ionic-react, react ]'\n      );\n      break;\n  }\n}\n\nfunction handleStart(type, name) {\n  if (!name) {\n    inquirer\n      .prompt([\n        {\n          type: 'input',\n          name: 'projectName',\n          message: 'What would you like to name your project:',\n          validate: function validateProjectName(name) {\n            return name !== '';\n          },\n        },\n      ])\n      .then((answer) => {\n        createProject(type, answer.projectName);\n      });\n  } else {\n    createProject(type, name);\n  }\n}\n\nfunction handleConfig(projectType) {\n  if (!projectType) {\n    printWarning(\n      'Please specify the project type. [ionic, angular, javascript, jquery, react, vue] \\n\\nFor more information please run the ' +\n      chalk.gray('mobiscroll config --help') +\n      ' command.'\n    );\n    return;\n  }\n\n  checkUpdate(proxyUrl).then(() => {\n    var framework = projectType,\n      jsFileName = `@mobiscroll/angular${isLite ? '-lite' : ''}`,\n      cssFileName = `../node_modules/@mobiscroll/angular${isLite ? '-lite' : ''}/dist/css/mobiscroll.min.css`,\n      currDir = process.cwd(), // get the directory where the mobiscroll command was executed\n      packageJsonLocation = path.resolve(currDir, 'package.json'),\n      packageJson = '';\n\n    // check if package.json is in the current directory\n    if (!fs.existsSync(packageJsonLocation)) {\n      printWarning(\"There is no package.json in this directory.\\nPlease run this command in the project's root directory!\");\n      process.exit();\n    }\n\n    if (packageJsonLocation) {\n      try {\n        packageJson = require(packageJsonLocation);\n      } finally {\n        const dependencies = packageJson.dependencies;\n        framework =\n          projectType == 'ionic' ? (dependencies['@ionic/react'] ? 'react' : dependencies['@ionic/vue'] ? 'vue' : 'angular') : projectType;\n      }\n    }\n\n    printFeedback('Mobiscroll configuration started.');\n\n    if (isLite) {\n      utils.installMobiscrollLite(projectType, mobiscrollVersion, function () {\n        let configObject = {\n          projectType,\n          currDir,\n          packageJsonLocation,\n          jsFileName,\n          cssFileName,\n          isNpmSource,\n          apiKey: '',\n          isLite,\n          useScss,\n        };\n\n        config(configObject);\n      });\n    } else if (isNpmSource) {\n      utils.checkMbscNpmLogin(isTrial, useGlobalNpmrc, proxyUrl, framework, mobiscrollVersion, (userName, useTrial, data) => {\n        utils.removeUnusedPackages(projectType, packageJsonLocation, useTrial, false, () => {\n          let configObject = {\n            projectType,\n            currDir,\n            packageJsonLocation,\n            packageJson,\n            jsFileName,\n            cssFileName,\n            isNpmSource,\n            apiKey: useTrial ? data.TrialCode : '',\n            isLite,\n            useScss,\n            userName,\n            useTrial,\n            mobiscrollVersion,\n            proxyUrl,\n            framework,\n            legacyPeerFlag,\n            package: data.Package,\n          };\n\n          // Install mobiscroll npm package\n          utils.installMobiscroll(configObject, (version) => {\n            configObject.mobiscrollVersion = version;\n            askStyleSheetType(version, useScss, configObject, (isScssSelected) => {\n              configObject.useScss = isScssSelected;\n              config(configObject);\n            });\n          });\n        });\n      });\n    } else {\n      // if no-npm flag is set\n      var files,\n        localCssFileName = [],\n        localJsFileName = [],\n        esmBundleAvailable = false,\n        // framework = projectType == 'ionic' ? ( packageJson.dependencies['@ionic/react'] ? 'react' : 'angular') : projectType,\n        mbscFolderLocation = path.resolve(currDir, 'src', 'lib', 'mobiscroll'),\n        jsFileLocation = path.resolve(mbscFolderLocation, 'js'),\n        esmFileLocation = path.resolve(mbscFolderLocation, 'esm5'),\n        cssFileLocation = path.resolve(mbscFolderLocation, 'css');\n\n      utils.removeUnusedPackages(\n        projectType,\n        packageJsonLocation,\n        false,\n        false,\n        () => {\n          // check if mobiscroll js files are copied to the specific location and get the js file name\n          if (fs.existsSync(jsFileLocation)) {\n            files = fs.readdirSync(jsFileLocation);\n            localJsFileName = files.filter(function (item) {\n              return item.match(/^mobiscroll\\..*\\.js$/);\n            });\n          }\n\n          // check if there's an esm bundle\n          esmBundleAvailable = fs.existsSync(esmFileLocation);\n\n          // check if css files are copied to the specific location and get the css file name\n          if (fs.existsSync(cssFileLocation)) {\n            files = fs.readdirSync(cssFileLocation);\n            localCssFileName = files.filter(function (item) {\n              return item.match(/^mobiscroll\\..*\\.css$/);\n            });\n          }\n\n          if (!localJsFileName.length || !localCssFileName.length) {\n            printWarning(\n              `No mobiscroll js/css files were found in your project's src/lib/mobiscroll folder. \\n\\nPlease make sure to extract the downloaded Mobiscroll package, then grab the ${framework == 'angular'\n                ? 'lib folder and copy it into src folder of your app!'\n                : 'js and css folders and copy it into src/lib/mobiscroll folder of your app. If there is no such folder available, you can create it.'\n              }`\n            );\n            return;\n          }\n\n          var jsFileContent = fs.readFileSync(path.resolve(jsFileLocation, localJsFileName.toString()).toString()).toString();\n          let versionResult = /\\{version:\\s?['\"]([a-z0-9.-]+)['\"]\\}/gim.exec(jsFileContent); // regex for version 5\n          if (versionResult === null) {\n            // it's version 4\n            versionResult = /version:\\s?['\"]([a-z0-9.-]+)['\"]/gim.exec(jsFileContent);\n          }\n          const version = versionResult[1];\n          let packageFolder = path.resolve(currDir, 'src', 'lib', 'mobiscroll-package');\n          let distFolder = path.resolve(packageFolder, 'dist');\n\n          mobiscrollVersion = version;\n\n          // create new folders\n          if (!fs.existsSync(packageFolder)) {\n            fs.mkdirSync(packageFolder, 0o777);\n            fs.mkdirSync(distFolder, 0o777);\n          }\n\n          let configObject = {\n            localCssFileName: localCssFileName[0],\n            localJsFileName: localJsFileName[0],\n            projectType,\n            currDir,\n            packageJsonLocation,\n            packageJson,\n            jsFileName,\n            isNpmSource,\n            apiKey: '',\n            isLite,\n            useScss,\n            framework,\n            mobiscrollVersion,\n          };\n\n          askStyleSheetType(version, useScss, configObject, (isScssSelected) => {\n            const isAngular = framework == 'angular';\n            configObject.useScss = isScssSelected;\n\n            if (configObject.useScss) {\n              let scssFileLocation = path.resolve(cssFileLocation, `mobiscroll.${framework}.scss`);\n              let fileData = fs.readFileSync(scssFileLocation).toString();\n\n              if (fileData && isAngular) {\n                fileData = fileData.replace(\"$mbsc-font-path: '' !default;\", \"$mbsc-font-path: '~@mobiscroll/angular/dist/css/' !default;\");\n                utils.writeToFile(scssFileLocation, fileData);\n              }\n            }\n\n            // copy the mobiscroll resources to another folder for packing\n            ncp(mbscFolderLocation, path.resolve(distFolder), (err) => {\n              if (err) {\n                utils.printError('Could not copy Mobiscroll resources.\\n\\n' + err);\n                return;\n              }\n              var noNpmPackageJson = '';\n\n              try {\n                noNpmPackageJson = require(path.resolve(__dirname, 'resources', framework, 'pckg.json'));\n              } catch (err) {\n                utils.printError('Could not open package.json file.\\n\\n' + err);\n              }\n\n              console.log(`\\n${chalk.green('>')} Mobiscroll resources were copied successfully.`);\n\n              // create the package.json file for the\n              noNpmPackageJson.version = version;\n              if (noNpmPackageJson.main) {\n                noNpmPackageJson.main = noNpmPackageJson.main + localJsFileName[0];\n              }\n              if (noNpmPackageJson.module) {\n                noNpmPackageJson.module = noNpmPackageJson.module + localJsFileName[0];\n              }\n              if (semver.gte(version, '5.0.0-beta6') && !isAngular && esmBundleAvailable) {\n                noNpmPackageJson.module = 'dist/esm5/' + localJsFileName[0];\n                if (noNpmPackageJson.files && noNpmPackageJson.files.length !== undefined) {\n                  noNpmPackageJson.files.push('dist/esm5/**');\n                }\n              }\n\n              if (!esmBundleAvailable ||\n                isAngular && packageJson && packageJson.dependencies && utils.getMainAngularVersion(packageJson) < 16) {\n                delete noNpmPackageJson.exports;\n              }\n\n              if (noNpmPackageJson.types) {\n                noNpmPackageJson.types = noNpmPackageJson.types + localJsFileName[0].replace('js', 'd.ts');\n              }\n              if (noNpmPackageJson.style) {\n                noNpmPackageJson.style = noNpmPackageJson.style + localCssFileName[0];\n              }\n\n              if (semver.gte(version, '5.0.0-beta') && !isAngular) {\n                // typing location is different in v5 except angular\n                noNpmPackageJson.typings = 'dist/src/' + framework + '/bundle.d.ts';\n              }\n\n              let useYarn = utils.testYarn(currDir);\n\n              // remove previously installed mobiscroll package (fix npm caching the local package)\n              utils.run(`${useYarn ? 'yarn remove' : 'npm uninstall'} @mobiscroll/${framework} --save`, true, true, true).then(() => {\n                utils.printLog('Removing old Mobiscroll version.');\n                // write the new package.json\n                utils.writeToFile(path.resolve(packageFolder, 'package.json'), JSON.stringify(noNpmPackageJson, null, 2), () => {\n                  function pack() {\n                    // pack with npm pack\n                    utils.packMobiscroll(packageFolder, currDir, framework, useYarn, mobiscrollVersion, (packageName) => {\n                      var packageJson = '';\n                      try {\n                        packageJson = require(packageJsonLocation);\n                      } catch (err) {\n                        utils.printError('Could not open package.json file.\\n\\n' + err);\n                      }\n\n                      if (useYarn) {\n                        // workaround delete yarn cache tmp folder manually. Issue (https://github.com/yarnpkg/yarn/issues/5357)\n                        let yarnCacheLocation = utils.runSync('yarn cache dir');\n                        utils.deleteFolder(path.resolve(yarnCacheLocation.trim(), '.tmp'));\n                        utils.runSync(`yarn cache clean @mobiscroll/${framework}`);\n                      } else {\n                        packageJson.dependencies[`@mobiscroll/${framework}`] = 'file:./src/lib/mobiscroll-package/' + packageName;\n                      }\n\n                      utils.writeToFile(packageJsonLocation, JSON.stringify(packageJson, null, 4), () => {\n                        console.log(\n                          `${chalk.green('>') + chalk.grey(' package.json')\n                          } modified to load mobiscroll from the generated package file. \\n`\n                        );\n\n                        // run npm install\n                        const npmInstallCmd = 'npm install' + (legacyPeerFlag ? ' --legacy-peer-deps' : '');\n                        utils.run(useYarn ? 'yarn add file:./src/lib/mobiscroll-package/' + packageName : npmInstallCmd, true).then(() => {\n                          cssFileName =\n                            (projectType == 'ionic'\n                              ? packageJson.dependencies['@ionic/angular']\n                                ? `./node_modules/@mobiscroll/${framework}/dist/css/`\n                                : 'lib/mobiscroll/css/'\n                              : `../node_modules/@mobiscroll/${framework}/dist/css/`) + localCssFileName;\n                          configObject.cssFileName = cssFileName;\n\n                          //config(projectType, currDir, packageJsonLocation, jsFileName, cssFileName, isNpmSource, false, false, () => {\n                          config(configObject, () => {\n                            console.log(`\\n${chalk.green('>')} Removing unused mobiscroll files.`);\n                            fs.unlinkSync(path.resolve(packageFolder, 'package.json')); // delete the package.json in dist\n                            utils.deleteFolder(mbscFolderLocation); // delete source folder\n                            utils.deleteFolder(distFolder); // delete created dist\n                          });\n                        });\n                      });\n                    });\n                  }\n\n                  if (esmBundleAvailable) {\n                    utils.writeToFile(path.resolve(packageFolder, 'dist/esm5/package.json'), '{ \"type\": \"module\" }', pack);\n                  } else {\n                    pack();\n                  }\n                });\n              });\n            });\n          });\n        },\n        true\n      );\n    }\n  });\n}\n\nfunction handleLogin() {\n  utils.login(useGlobalNpmrc, proxyUrl);\n}\n\nfunction handleLogout() {\n  removeTokenFromNpmrc(path.resolve(useGlobalNpmrc ? os.homedir() : process.cwd()));\n}\n\n// options\nprogram\n  .version(localCliVersion, '-v')\n  .option(\n    '-g, --global',\n    \"Modify the Mobiscroll npm login credentials save/use location to the global .npmrc file. Starting from cli v0.6.0 by default it is saved in the application's directory.\",\n    handleGlobalInstall\n  )\n  .usage('[commands] [options]');\n\n// commands\n\n// config command\nprogram\n  .command('config [types]')\n  .description(\n    `Configures your current project with the Mobiscroll resources and dependencies. For more information run the ${chalk.gray(\n      'mobiscroll config --help'\n    )} command.\\n`\n  )\n  .action(handleConfig)\n  .on('--help', helperMessages.configHelp)\n  //.option('-l, --lazy', 'Skipping MbscModule injection from app.module.ts in case of Ionic lazy loading project.\\n', handleLazy)\n  .option('-t, --trial', 'The project will be tuned up with trial configuration.\\n', handleTrial)\n  .option('-i, --lite', 'The project will be tuned up with lite configuration.\\n', handleLite)\n  .option(\n    '-n, --no-npm',\n    \"Mobiscroll resources won't be installed from npm. In this case the Mobiscroll resources must be copied manually to the src/lib folder.\\n\",\n    handleNpmInstall\n  )\n  .option(\n    '--version [version]',\n    `Pass the Mobiscroll version which you want to install. Supports the following formats: ${chalk.gray(\n      '--version=4.7.1'\n    )} or ${chalk.gray('--version=5')}\\n`,\n    handleMobiscrollVersion\n  )\n  .option(\n    '--proxy [proxy]',\n    `Pass a proxy URL which will be passed to the internal requests. Supports the following formats: ${chalk.gray(\n      '{protocol}://{host}:{port} example: --proxy=http://myproxy.com:1122'\n    )} or with auth details ${chalk.gray(\n      '{protocol}://{user}:{password}@{host}:{port} example: --proxy=http://myuser:mypass@myproxy.com:1122'\n    )}`,\n    handleProxy\n  )\n  .option('--scss', 'The project will be configured with scss styles instead of css.', handleScss)\n  .option('--css', 'The project will be configured with css styles instead of scss.', handleCss)\n  .option(\n    '--legacy-peer-deps',\n    `Pass the ${chalk.gray('--legacy-peer-deps')} flag to internally executed npm install command.`,\n    handleLegacyPeerFlags\n  );\n\nprogram\n  .command('login')\n  .description('Logs you in to the Mobiscroll npm registry. (Use the --global flag if you want to login globally). \\n')\n  .action(handleLogin);\n\nprogram\n  .command('logout')\n  .description('Logs you out from the Mobiscroll npm registry. (Use the --global flag if you want to log out globally).\\n')\n  .action(handleLogout);\n\nprogram\n  .command('start [types] [name]')\n  .on('--help', helperMessages.startHelp)\n  .option('-t, --trial', 'The project will be tuned up with trial configuration.\\n', handleTrial)\n  .option(\n    '--ionic-version [version]',\n    `Pass the ionic-angular version of the starter app which you want to start. E.g ${chalk.gray(\n      'mobiscroll start ionic-angular --ionic-version=4'\n    )}`,\n    handleStartIonicVersion\n  )\n  .description(`Creates a new Mobiscroll starter project and installs the Mobiscroll resources from npm.`)\n  .action(handleStart);\n\nprogram.on('command:*', function () {\n  // warning on unknown commands\n  printWarning(`Invalid command: ${chalk.green(program.args.join(' '))}`);\n  console.error('\\nSee --help for a list of available commands.');\n  process.exit(1);\n});\n\nprogram.parse(process.argv);\n\n// print help if no commands or options was passed\nif (!program.args.length) {\n  console.log(figlet.textSync('Mobiscroll CLI'));\n  console.log('  Version: ' + localCliVersion);\n\n  if (program.rawArgs.indexOf('-v') == -1) {\n    program.help();\n  }\n}\n"]}