{"record":{"id":"4dcf6bedaac2fc5c","repo":"quasarframework/quasar","slug":"failed-to-install-cordova-plugin-splashscreen-ple","errorCode":null,"errorMessage":"Failed to install cordova-plugin-splashscreen. Please do it manually.","messagePattern":"Failed to install cordova-plugin-splashscreen\\. Please do it manually\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"icongenie/lib/mount/mount-cordova.js","lineNumber":157,"sourceCode":"  if (\n    // it's already installed, so nothing to do\n    hasDeepProp(pkg, 'dependencies', 'cordova-plugin-splashscreen') ||\n    hasDeepProp(pkg, 'cordova', 'plugins', 'cordova-plugin-splashscreen')\n  ) {\n    return\n  }\n\n  const hasInstalled = await spawnSync(\n    'cordova',\n    ['plugin', 'add', 'cordova-plugin-splashscreen'],\n    {\n      cwd: srcCordovaDir\n    }\n  )\n\n  if (!hasInstalled) {\n    warn()\n    warn(\n      'Failed to install cordova-plugin-splashscreen. Please do it manually.'\n    )\n    console.log(\n      ' -> /src-cordova: $ cordova plugin add cordova-plugin-splashscreen\\n'\n    )\n  }\n}\n\nexport async function mountCordova(files) {\n  if (existsSync(cordovaConfigXml)) {\n    const cordovaFiles = getCordovaFiles(files)\n\n    if (cordovaFiles.length !== 0) {\n      const hasSplashscreen = cordovaFiles.some(\n        file => file.generator === 'splashscreen'\n      )\n\n      if (hasSplashscreen) {","sourceCodeStart":139,"sourceCodeEnd":175,"githubUrl":"https://github.com/quasarframework/quasar/blob/4841521b5f635a971eb9e2710e5542efd194691b/icongenie/lib/mount/mount-cordova.js#L139-L175","documentation":"When mounting a Cordova project, icongenie ensures cordova-plugin-splashscreen is installed because splash screen generation depends on it. If the cordova plugin install does not report success, this warning is printed along with the manual command to run inside /src-cordova. The mounting continues but splash screens may not work.","triggerScenarios":"Running icongenie generate/mount for Cordova when cordova-plugin-splashscreen is absent and `cordova plugin add cordova-plugin-splashscreen` fails (network error, cordova CLI missing, plugin registry issue).","commonSituations":"cordova CLI not installed or on PATH; offline/CI environments; plugin pinned to an incompatible version in config.xml.","solutions":["Run manually in /src-cordova: `cordova plugin add cordova-plugin-splashscreen`.","Verify the cordova CLI works (`cordova --version`) and registry access is available.","Check config.xml for version pins conflicting with the plugin and retry the icongenie command."],"exampleFix":"# before: automatic plugin install failed\ncd src-cordova\ncordova plugin add cordova-plugin-splashscreen  # then rerun icongenie","handlingStrategy":"validation","validationCode":"const cfg = fs.readFileSync('src-cordova/config.xml', 'utf8');\nif (!cfg.includes('cordova-plugin-splashscreen')) {\n  console.log('Pre-install: cd src-cordova && cordova plugin add cordova-plugin-splashscreen');\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Add cordova-plugin-splashscreen to the project before running icongenie.","Verify the cordova CLI is installed and on PATH (`cordova --version`).","Check plugin version pins in config.xml for conflicts."],"tags":["cordova","plugin","splash-screen"],"backgroundTag":"dependency-install-failure","analyzedSha":"4841521b5f635a971eb9e2710e5542efd194691b","analyzedAt":"2026-08-30T01:13:14.944Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}