{"version":3,"sources":["../../src/utilities/validateTargetDirectory.js"],"names":["targetDirectory","options","silent","stats","statSync","error","Error","isDirectory","indexFilePath","resolve","indexFile","readFileSync","match"],"mappings":";;;;;;AAAA;;;;AACA;;;;AACA;;;;kBAEe,UAACA,eAAD,EAAmC;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;;AAChD,QAAMC,SAASD,QAAQC,MAAvB;AACA,MAAIC,KAAJ;;AAEA,MAAI;AACFA,YAAQ,aAAGC,QAAH,CAAYJ,eAAZ,CAAR;AACD,GAFD,CAEE,OAAOK,KAAP,EAAc;AACd,QAAIH,MAAJ,EAAY;AACV,aAAO,KAAP;AACD,KAFD,MAEO;AACL,YAAM,IAAII,KAAJ,CAAU,gBAAgBN,eAAhB,GAAkC,mBAA5C,CAAN;AACD;AACF;;AAED,MAAI,CAACG,MAAMI,WAAN,EAAL,EAA0B;AACxB,QAAIL,MAAJ,EAAY;AACV,aAAO,KAAP;AACD,KAFD,MAEO;AACL,YAAM,IAAII,KAAJ,CAAU,MAAMN,eAAN,GAAwB,uBAAlC,CAAN;AACD;AACF;;AAED,QAAMQ,gBAAgB,eAAKC,OAAL,CAAaT,eAAb,EAA8B,YAA9B,CAAtB;;AAEA,MAAI;AACF,iBAAGI,QAAH,CAAYI,aAAZ;AACD,GAFD,CAEE,OAAOH,KAAP,EAAc;AACd,WAAO,IAAP;AACD;;AAED,QAAMK,YAAY,aAAGC,YAAH,CAAgBH,aAAhB,EAA+B,MAA/B,CAAlB;;AAEA,MAAI,CAACE,UAAUE,KAAV,iCAAL,EAA4C;AAC1C,QAAIV,MAAJ,EAAY;AACV,aAAO,KAAP;AACD,KAFD,MAEO;AACL,YAAM,IAAII,KAAJ,CAAU,MAAME,aAAN,GAAsB,iBAAhC,CAAN;AACD;AACF;;AAED,SAAO,IAAP;AACD,C","file":"validateTargetDirectory.js","sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport {CREATE_INDEX_PATTERN} from './constants';\n\nexport default (targetDirectory, options = {}) => {\n const silent = options.silent;\n let stats;\n\n try {\n stats = fs.statSync(targetDirectory);\n } catch (error) {\n if (silent) {\n return false;\n } else {\n throw new Error('Directory \"' + targetDirectory + '\" does not exist.');\n }\n }\n\n if (!stats.isDirectory()) {\n if (silent) {\n return false;\n } else {\n throw new Error('\"' + targetDirectory + '\" is not a directory.');\n }\n }\n\n const indexFilePath = path.resolve(targetDirectory, './index.js');\n\n try {\n fs.statSync(indexFilePath);\n } catch (error) {\n return true;\n }\n\n const indexFile = fs.readFileSync(indexFilePath, 'utf8');\n\n if (!indexFile.match(CREATE_INDEX_PATTERN)) {\n if (silent) {\n return false;\n } else {\n throw new Error('\"' + indexFilePath + '\" unsafe index.');\n }\n }\n\n return true;\n};\n\n"]}