UNPKG

10.2 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/helpers.js"],"names":[],"mappings":";;;;;;;;;;+BAqEO,WACL,GADK,EAEL,QAFK,EAGL,WAHK,EAIL,WAJK,EAKL,WALK,EAML,aANK,EAOG;AACR,QAAM,SAAS,gBAAgB,WAAhB,EAA6B,WAA7B,CAAf;AACA,QAAM,cAAc,OAAO,gBAAP,IAClB,MAAM,OAAN,CAAc,YAAY,KAAZ,CAAkB,OAAhC,CADkB,IAC0B,YAAY,KAAZ,CAAkB,OAAlB,CAA0B,OAA1B,CAAkC,qBAAlC,MAA6D,CAAC,CADxF,GAElB,CAAC,QAAQ,OAAR,CAAgB,2BAAhB,CAAD,EAA+C,UAA/C,CAFkB,GAGlB,CAAC,UAAD,CAHF;AAIA,QAAM,eAAe;AACnB,aAAO,WADY;AAEnB,gBAAU,cAAc,UAAd,GAA2B,QAFlB;AAGnB,qBAAe,OAAO,eAHH;AAInB,wBAAkB;AAChB,gCAAwB,cAAc,aAAd,GAA8B;AADtC;AAJC,KAArB;;AASA,QAAM,UAAU,CACd,CAAC,QAAQ,OAAR,CAAgB,sBAAhB,CAAD,EAA0C;AACxC,YAAM,OAAO,cAD2B;AAExC,qBAAe,OAAO,eAFkB;AAGxC,mBAHwC,yBAG1B,IAH0B,EAGpB;AAClB,YAAI,QAAJ,EAAc;AACZ,cAAM,0BAAwB,IAA9B;AACA,cAAI,UAAJ,CAAe,OAAf;AACD;AACF,OARuC;AASxC,kBATwC,wBAS3B,IAT2B,EASrB,KATqB,EASd;AACxB,YAAI,QAAJ,EAAc;AACZ,cAAM,0BAAwB,IAA9B;AACA,cAAI,aAAJ,CAAkB,OAAlB;AACA,cAAI,KAAJ,EAAW;AACT,gBAAI,GAAJ,cAAmB,IAAnB,SAA2B,CAA3B;AACA,gBAAI,GAAJ,CAAQ,KAAR;AACD,WAHD,MAGO;AACL,gBAAI,GAAJ,cAAmB,IAAnB,SAA2B,IAA3B;AACD;AACF,SATD,MASO,IAAI,KAAJ,EAAW;AAChB,wBAAc,KAAd;AACD;AACF;AAtBuC,KAA1C,CADc,EAyBd,CAAC,QAAQ,OAAR,CAAgB,cAAhB,CAAD,EAAkC,EAAE,QAAQ,OAAO,KAAjB,EAAlC,CAzBc,CAAhB;;AA4BA,QAAI,CAAC,WAAL,EAAkB;AAChB,UAAM,UAAS,qBAAW,YAAX,CAAf;AACA,YAAM,QAAO,WAAP,CAAmB,OAAnB,CAAN;AACA,aAAO,OAAP;AACD;AACD,QAAM,SAAS,wBAAc;AAC3B,cAAQ;AACN,aAAK,IADC;AAEN,cAAM,OAAO,aAFP;AAGN,iBAAS,eAHH;AAIN,oBAAY,cAJN;AAKN,oBAAY,OAAO,eALb;AAMN,uBAAe,kBANT;AAON,aAPM,iBAOA,MAPA,EAOO;AACX,wBAAc,MAAd;AACD;AATK,OADmB;AAY3B,cAAQ,YAZmB;AAa3B,eAAS,EAbkB;AAc3B,iBAAW;AACT,iBAAS,KADA;AAET,mBAAW;AAFF;AAdgB,KAAd,CAAf;AAmBA,UAAM,OAAO,MAAP,CAAc,WAAd,CAA0B,OAA1B,CAAN;AACA,WAAO,MAAP,CAAc,GAAd,CAAkB,GAAlB,EAAuB,SAAS,YAAT,CAAsB,GAAtB,EAA2B,GAA3B,EAAgC,IAAhC,EAAqD;AAAA,UAAf,KAAe,yDAAP,KAAO;;AAC1E,UAAI,CAAC,cAAD,EAAiB,kBAAjB,EAAqC,eAArC,EAAsD,OAAtD,CAA8D,IAAI,OAAlE,MAA+E,CAAC,CAApF,EAAuF;AACrF;AACA;AACD;AACD,0BAAK,GAAL,EAAU,IAAI,OAAd,EAAuB,EAAE,MAAM,OAAO,eAAf,EAAgC,OAAO,YAAvC,EAAvB,EACG,EADH,CACM,OADN,EACe,YAAW;AACtB,YAAI,KAAJ,EAAW;AACT;AACA;AACD;AACD,YAAI,OAAJ,GAAc,aAAd;AACA,qBAAa,GAAb,EAAkB,GAAlB,EAAuB,IAAvB,EAA6B,IAA7B;AACD,OARH,EASG,EATH,CASM,WATN,EASmB;AAAA,eAAM,MAAN;AAAA,OATnB,EASiC,IATjC,CASsC,GATtC;AAUD,KAfD;AAgBA,WAAO,MAAP,CAAc,YAAd,CAA2B,iBAAuB;AAAA,UAAZ,QAAY,SAAZ,QAAY;;AAChD,UAAI,SAAS,OAAT,CAAiB,OAAjB,MAA8B,CAA9B,IAAmC,SAAS,OAAT,CAAiB,cAAjB,MAAqC,CAAC,CAAzE,IAA8E,SAAS,OAAT,CAAiB,KAAjB,MAA4B,CAAC,CAA/G,EAAkH;AAChH,YAAI,GAAJ,CAAW,gBAAM,GAAN,CAAU,QAAV,CAAX,SAAkC,gBAAM,KAAN,CAAY,IAAZ,CAAlC;AACD;AACF,KAJD;AAKA,WAAO,MAAP;AACD,G;;kBAjGqB,iB;;;;;QAvDN,e,GAAA,e;QAOA,e,GAAA,e;;AAnBhB;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;;;AAIO,IAAM,gBAAI,GAAV;AACA,IAAM,sBAAO,GAAb;;;AAGA,SAAS,eAAT,CAAyB,GAAzB,EAAsC,GAAtC,EAA2D;AAChE,SAAO,KAAK,KAAL,CAAW,KAAK,MAAL,MAAiB,MAAM,GAAvB,CAAX,IAA0C,GAAjD;AACD;;;;;AAKM,SAAS,eAAT,CAAyB,WAAzB,EAA8C,WAA9C,EAA2E;AAChF,MAAM,SAAiB,OAAO,MAAP,CAAc,EAAd,EAAkB,WAAlB,EAA+B;AACpD,WAAO,OAAO,MAAP,CAAc,EAAd,EAAkB,YAAY,KAA9B;AAD6C,GAA/B,CAAvB;AAGA,MAAI,OAAO,eAAP,CAAuB,MAAvB,CAA8B,CAA9B,EAAiC,CAAjC,MAAwC,GAA5C,EAAiD;AAC/C,WAAO,eAAP,GAAyB,eAAK,OAAL,CAAa,WAAb,EAA0B,OAAO,eAAjC,CAAzB;AACD;AACD,MAAI,OAAO,eAAP,CAAuB,MAAvB,CAA8B,CAA9B,EAAiC,CAAjC,MAAwC,GAA5C,EAAiD;AAC/C,WAAO,eAAP,GAAyB,eAAK,OAAL,CAAa,WAAb,EAA0B,OAAO,eAAjC,CAAzB;AACD;AACD,MAAI,CAAC,OAAO,KAAR,IAAiB,QAAO,OAAO,KAAd,MAAwB,QAA7C,EAAuD;AACrD,WAAO,KAAP,GAAe,EAAE,SAAS,EAAX,EAAe,SAAS,EAAxB,EAAf;AACD;AACD,MAAI,CAAC,MAAM,OAAN,CAAc,OAAO,KAAP,CAAa,OAA3B,CAAL,EAA0C;AACxC,WAAO,KAAP,CAAa,OAAb,GAAuB,EAAvB;AACD,GAFD,MAEO;AACL,WAAO,KAAP,CAAa,OAAb,GAAuB,OAAO,KAAP,CAAa,OAAb,CAAqB,KAArB,EAAvB;AACD;AACD,MAAI,CAAC,MAAM,OAAN,CAAc,OAAO,KAAP,CAAa,OAA3B,CAAL,EAA0C;AACxC,WAAO,KAAP,CAAa,OAAb,GAAuB,EAAvB;AACD,GAFD,MAEO;AACL,WAAO,KAAP,CAAa,OAAb,GAAuB,OAAO,KAAP,CAAa,OAAb,CAAqB,KAArB,EAAvB;AACD;AACD,MAAI,OAAO,KAAP,CAAa,OAAb,CAAqB,OAArB,CAA6B,qBAA7B,MAAwD,CAAC,CAA7D,EAAgE;AAC9D,WAAO,KAAP,CAAa,OAAb,CAAqB,MAArB,CAA4B,OAAO,KAAP,CAAa,OAAb,CAAqB,OAArB,CAA6B,qBAA7B,CAA5B,EAAiF,CAAjF,EACE,QAAQ,OAAR,CAAgB,OAAO,gBAAP,GAA0B,qBAA1B,GAAkD,0BAAlE,CADF,EAEE,QAAQ,OAAR,CAAgB,qBAAhB,CAFF;AAGD;AACD,SAAO,KAAP,CAAa,OAAb,GAAuB,OAAO,KAAP,CAAa,OAAb,CAAqB,GAArB,CAAyB,UAAS,UAAT,EAAqB;AACnE,QAAI,CAAC,UAAL,EAAiB;AACf,aAAO,UAAP;AACD;AACD,QAAM,QAAQ,MAAM,OAAN,CAAc,UAAd,IAA4B,UAA5B,GAAyC,CAAC,UAAD,EAAa,EAAb,CAAvD;AACA,QAAI,MAAM,CAAN,MAAa,wBAAjB,EAA2C;AACzC,YAAM,CAAN,IAAW,QAAQ,OAAR,CAAgB,wBAAhB,CAAX;AACD;AACD,QAAI,CAAC,eAAK,UAAL,CAAgB,MAAM,CAAN,CAAhB,CAAL,EAAgC;AAC9B,UAAI,MAAM,CAAN,EAAS,MAAT,CAAgB,CAAhB,EAAmB,CAAnB,MAA0B,GAA9B,EAAmC;AACjC,cAAM,CAAN,IAAW,eAAK,OAAL,CAAa,WAAb,EAA0B,MAAM,CAAN,CAA1B,CAAX;AACD,OAFD,MAEO;AACL,cAAM,CAAN,IAAW,eAAK,IAAL,CAAU,WAAV,EAAuB,cAAvB,EAAuC,MAAM,CAAN,CAAvC,CAAX;AACD;AACF;AACD,WAAO,KAAP;AACD,GAhBsB,CAAvB;AAiBA,SAAO,MAAP;AACD","file":"helpers.js","sourcesContent":["/* @flow */\n\nimport Path from 'path'\nimport send from 'send'\nimport chalk from 'chalk'\nimport Pundle from 'pundle'\nimport PundleDev from 'pundle-dev'\nimport type CLI from './cli'\nimport type { Config } from './types'\n\nexport const X = '✗'\nexport const TICK = '✓'\n\n// From: goo.gl/fZA6BF\nexport function getRandomNumber(min: number, max: number): number {\n return Math.floor(Math.random() * (max - min)) + min\n}\n\n// NOTE: The reason we are not replacing these in config is because when we then save the config\n// We'd end up with absolute paths in it, using this function in every config user function\n// will let us avoid that.\nexport function normalizeConfig(projectPath: string, givenConfig: Config): Config {\n const config: Config = Object.assign({}, givenConfig, {\n babel: Object.assign({}, givenConfig.babel)\n })\n if (config.bundleDirectory.substr(0, 1) === '.') {\n config.bundleDirectory = Path.resolve(projectPath, config.bundleDirectory)\n }\n if (config.publicDirectory.substr(0, 1) === '.') {\n config.publicDirectory = Path.resolve(projectPath, config.publicDirectory)\n }\n if (!config.babel || typeof config.babel !== 'object') {\n config.babel = { plugins: [], presets: [] }\n }\n if (!Array.isArray(config.babel.plugins)) {\n config.babel.plugins = []\n } else {\n config.babel.plugins = config.babel.plugins.slice()\n }\n if (!Array.isArray(config.babel.presets)) {\n config.babel.presets = []\n } else {\n config.babel.presets = config.babel.presets.slice()\n }\n if (config.babel.presets.indexOf('babel-preset-motion') !== -1) {\n config.babel.presets.splice(config.babel.presets.indexOf('babel-preset-motion'), 1,\n require.resolve(config.includePolyfills ? 'babel-preset-es2015' : 'babel-preset-es2015-sane'),\n require.resolve('babel-preset-motion'))\n }\n config.babel.plugins = config.babel.plugins.map(function(givenEntry) {\n if (!givenEntry) {\n return givenEntry\n }\n const entry = Array.isArray(givenEntry) ? givenEntry : [givenEntry, {}]\n if (entry[0] === 'motion-style/transform') {\n entry[0] = require.resolve('motion-style/transform')\n }\n if (!Path.isAbsolute(entry[0])) {\n if (entry[0].substr(0, 1) === '.') {\n entry[0] = Path.resolve(projectPath, entry[0])\n } else {\n entry[0] = Path.join(projectPath, 'node_modules', entry[0])\n }\n }\n return entry\n })\n return config\n}\n\nexport async function getPundleInstance(\n cli: CLI,\n terminal: boolean,\n projectPath: string,\n development: boolean,\n givenConfig: Config,\n errorCallback: Function\n): Object {\n const config = normalizeConfig(projectPath, givenConfig)\n const pundleEntry = config.includePolyfills &&\n Array.isArray(givenConfig.babel.presets) && givenConfig.babel.presets.indexOf('babel-preset-motion') !== -1 ?\n [require.resolve('babel-regenerator-runtime'), 'index.js'] :\n ['index.js']\n const pundleConfig = {\n entry: pundleEntry,\n pathType: development ? 'filePath' : 'number',\n rootDirectory: config.bundleDirectory,\n replaceVariables: {\n 'process.env.NODE_ENV': development ? 'development' : 'production'\n }\n }\n\n const plugins = [\n [require.resolve('pundle-npm-installer'), {\n save: config.saveNpmModules,\n rootDirectory: config.bundleDirectory,\n beforeInstall(name) {\n if (terminal) {\n const message = `Installing ${name}`\n cli.addSpinner(message)\n }\n },\n afterInstall(name, error) {\n if (terminal) {\n const message = `Installing ${name}`\n cli.removeSpinner(message)\n if (error) {\n cli.log(`Install ${name} ${X}`)\n cli.log(error)\n } else {\n cli.log(`Install ${name} ${TICK}`)\n }\n } else if (error) {\n errorCallback(error)\n }\n }\n }],\n [require.resolve('babel-pundle'), { config: config.babel }]\n ]\n\n if (!development) {\n const pundle = new Pundle(pundleConfig)\n await pundle.loadPlugins(plugins)\n return pundle\n }\n const pundle = new PundleDev({\n server: {\n hmr: true,\n port: config.webServerPort,\n hmrPath: '/_/bundle_hmr',\n bundlePath: '/_/bundle.js',\n sourceRoot: config.publicDirectory,\n sourceMapPath: '/_/bundle.js.map',\n error(error) {\n errorCallback(error)\n }\n },\n pundle: pundleConfig,\n watcher: { },\n generator: {\n wrapper: 'hmr',\n sourceMap: true\n }\n })\n await pundle.pundle.loadPlugins(plugins)\n pundle.server.use('*', function serveRequest(req, res, next, error = false) {\n if (['/_/bundle.js', '/_/bundle.js.map', '/_/bundle_hmr'].indexOf(req.baseUrl) !== -1) {\n next()\n return\n }\n send(req, req.baseUrl, { root: config.publicDirectory, index: 'index.html' })\n .on('error', function() {\n if (error) {\n next()\n return\n }\n req.baseUrl = '/index.html'\n serveRequest(req, res, next, true)\n })\n .on('directory', () => next()).pipe(res)\n })\n pundle.pundle.onDidProcess(function({ filePath }) {\n if (filePath.indexOf('$root') === 0 && filePath.indexOf('node_modules') === -1 && filePath.indexOf('../') === -1) {\n cli.log(`${chalk.dim(filePath)} ${chalk.green(TICK)}`)\n }\n })\n return pundle\n}\n"]}
\No newline at end of file