UNPKG

4.2 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/get-static-dir.js"],"names":["fs","require","chokidar","nodePath","store","exports","copyStaticDirs","themes","flattenedPlugins","getState","themesSet","map","plugin","themeDir","pluginFilepath","themeName","name","theme","resolve","filter","themeStaticPath","existsSync","folder","copySync","join","process","cwd","staticDir","Promise","dereference","syncStaticDir","watch","on","path","relativePath","relative","copy"],"mappings":";;AAAA,MAAMA,EAAE,GAAGC,OAAO,CAAE,UAAF,CAAlB;;AACA,MAAMC,QAAQ,GAAGD,OAAO,CAAE,UAAF,CAAxB;;AACA,MAAME,QAAQ,GAAGF,OAAO,CAAE,MAAF,CAAxB;;AACA,MAAM;AAAEG,EAAAA;AAAF,IAAYH,OAAO,CAAE,UAAF,CAAzB;AAEA;;;;;;;AAKAI,OAAO,CAACC,cAAR,GAAyB,MAAM;AAC7B;AACA,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAA+BJ,KAAK,CAACK,QAAN,EAArC,CAF6B,CAG7B;;AACA,QAAMC,SAAS,GAAGH,MAAM,CAACA,MAAP,GACdA,MAAM,CAACA,MADO,GAEdC,gBAAgB,CAACG,GAAjB,CAAqBC,MAAM,IAAI;AAC7B,WAAO;AACLC,MAAAA,QAAQ,EAAED,MAAM,CAACE,cADZ;AAELC,MAAAA,SAAS,EAAEH,MAAM,CAACI;AAFb,KAAP;AAID,GALD,CAFJ;AASAN,EAAAA,SAAS,CACP;AADO,GAENC,GAFH,CAEOM,KAAK,IAAId,QAAQ,CAACe,OAAT,CAAiBD,KAAK,CAACJ,QAAvB,EAAkC,QAAlC,CAFhB,EAGE;AAHF,GAIGM,MAJH,CAIUC,eAAe,IAAIpB,EAAE,CAACqB,UAAH,CAAcD,eAAd,CAJ7B,EAKE;AALF,GAMGT,GANH,CAMOW,MAAM,IAAItB,EAAE,CAACuB,QAAH,CAAYD,MAAZ,EAAoBnB,QAAQ,CAACqB,IAAT,CAAcC,OAAO,CAACC,GAAR,EAAd,EAA8B,QAA9B,CAApB,CANjB;AAQA,QAAMC,SAAS,GAAGxB,QAAQ,CAACqB,IAAT,CAAcC,OAAO,CAACC,GAAR,EAAd,EAA8B,QAA9B,CAAlB;AACA,MAAI,CAAC1B,EAAE,CAACqB,UAAH,CAAcM,SAAd,CAAL,EAA+B,OAAOC,OAAO,CAACV,OAAR,EAAP;AAC/B,SAAOlB,EAAE,CAACuB,QAAH,CAAYI,SAAZ,EAAuBxB,QAAQ,CAACqB,IAAT,CAAcC,OAAO,CAACC,GAAR,EAAd,EAA8B,QAA9B,CAAvB,EAA+D;AACpEG,IAAAA,WAAW,EAAE;AADuD,GAA/D,CAAP;AAGD,CA1BD;AA4BA;;;;;;;AAKAxB,OAAO,CAACyB,aAAR,GAAwB,MAAM;AAC5B,QAAMH,SAAS,GAAGxB,QAAQ,CAACqB,IAAT,CAAcC,OAAO,CAACC,GAAR,EAAd,EAA8B,QAA9B,CAAlB;AACAxB,EAAAA,QAAQ,CACL6B,KADH,CACSJ,SADT,EAEGK,EAFH,CAEO,KAFP,EAEaC,IAAI,IAAI;AACjB,UAAMC,YAAY,GAAG/B,QAAQ,CAACgC,QAAT,CAAkBR,SAAlB,EAA6BM,IAA7B,CAArB;AACAjC,IAAAA,EAAE,CAACoC,IAAH,CAAQH,IAAR,EAAe,GAAER,OAAO,CAACC,GAAR,EAAc,WAAUQ,YAAa,EAAtD;AACD,GALH,EAMGF,EANH,CAMO,QANP,EAMgBC,IAAI,IAAI;AACpB,UAAMC,YAAY,GAAG/B,QAAQ,CAACgC,QAAT,CAAkBR,SAAlB,EAA6BM,IAA7B,CAArB;AACAjC,IAAAA,EAAE,CAACoC,IAAH,CAAQH,IAAR,EAAe,GAAER,OAAO,CAACC,GAAR,EAAc,WAAUQ,YAAa,EAAtD;AACD,GATH;AAUD,CAZD","sourcesContent":["const fs = require(`fs-extra`)\nconst chokidar = require(`chokidar`)\nconst nodePath = require(`path`)\nconst { store } = require(`../redux`)\n\n/**\n * copyStaticDirs\n * --\n * Copy files from the static directory to the public directory\n */\nexports.copyStaticDirs = () => {\n // access the store to get themes\n const { themes, flattenedPlugins } = store.getState()\n // if there are legacy themes, only use them. Otherwise proceed with plugins\n const themesSet = themes.themes\n ? themes.themes\n : flattenedPlugins.map(plugin => {\n return {\n themeDir: plugin.pluginFilepath,\n themeName: plugin.name,\n }\n })\n\n themesSet\n // create an array of potential theme static folders\n .map(theme => nodePath.resolve(theme.themeDir, `static`))\n // filter out the static folders that don't exist\n .filter(themeStaticPath => fs.existsSync(themeStaticPath))\n // copy the files for each folder into the user's build\n .map(folder => fs.copySync(folder, nodePath.join(process.cwd(), `public`)))\n\n const staticDir = nodePath.join(process.cwd(), `static`)\n if (!fs.existsSync(staticDir)) return Promise.resolve()\n return fs.copySync(staticDir, nodePath.join(process.cwd(), `public`), {\n dereference: true,\n })\n}\n\n/**\n * syncStaticDir\n * --\n * Set up a watcher to sync changes from the static directory to the public directory\n */\nexports.syncStaticDir = () => {\n const staticDir = nodePath.join(process.cwd(), `static`)\n chokidar\n .watch(staticDir)\n .on(`add`, path => {\n const relativePath = nodePath.relative(staticDir, path)\n fs.copy(path, `${process.cwd()}/public/${relativePath}`)\n })\n .on(`change`, path => {\n const relativePath = nodePath.relative(staticDir, path)\n fs.copy(path, `${process.cwd()}/public/${relativePath}`)\n })\n}\n"],"file":"get-static-dir.js"}
\No newline at end of file