UNPKG

johnny-cli

Version:

CLI for Johnny Deps

309 lines (240 loc) 31.2 kB
#!/usr/bin/env node /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // identity function for calling harmony imports with the correct context /******/ __webpack_require__.i = function(value) { return value; }; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 33); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = require("ramda"); /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _getDllHostPackages=__webpack_require__(18);Object.defineProperty(exports,'getDllHostPackages',{enumerable:!0,get:function(){return _interopRequireDefault(_getDllHostPackages).default}});var _logError=__webpack_require__(19);Object.defineProperty(exports,'logError',{enumerable:!0,get:function(){return _interopRequireDefault(_logError).default}});var _rebuildAndSync=__webpack_require__(20);Object.defineProperty(exports,'rebuildAndSync',{enumerable:!0,get:function(){return _interopRequireDefault(_rebuildAndSync).default}});var _spawnNpm=__webpack_require__(21);Object.defineProperty(exports,'spawnNpm',{enumerable:!0,get:function(){return _interopRequireDefault(_spawnNpm).default}});function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}} /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _templates=__webpack_require__(8),_fs=__webpack_require__(7),_fs2=_interopRequireDefault(_fs),_path=__webpack_require__(13),_path2=_interopRequireDefault(_path),_webpack=__webpack_require__(15),_webpack2=_interopRequireDefault(_webpack);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}exports.default=a=>({create:(()=>{var b=_asyncToGenerator(function*(c){try{_fs2.default.mkdirSync(a.path)}catch(d){throw'Dll directory already exists. Please remove the dir or specify another one in --path option.'}yield this.build({packages:c.packages})});return function create(){return b.apply(this,arguments)}})(),build:b=>new Promise(c=>(0,_webpack2.default)((0,_templates.dllWebpackConfig)({packages:b.packages,path:_path2.default.resolve(a.path)}),(e,f)=>{if(e||f.hasErrors())throw`Dll webpack compilation failed: ${e||f.toJson().errors.join('\n')}`;c()}))}); /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _extends=Object.assign||function(a){for(var c,b=1;b<arguments.length;b++)for(var d in c=arguments[b],c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d]);return a},_fs=__webpack_require__(7),_fs2=_interopRequireDefault(_fs),_settings=__webpack_require__(6),_settings2=_interopRequireDefault(_settings);Object.defineProperty(exports,'__esModule',{value:!0});function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}const _fsErrorMessage='Required config param is missed or JSON file is corrupted';exports.default=(a=_settings2.default.DEFAULT_CONFIG_PATH)=>({create:function(b){if(_fs2.default.existsSync(a))throw'Config file johnny.json exists, use --download option if you want to setup existing dll';return _fs2.default.writeFileSync(a,JSON.stringify(b),c=>{if(c)throw c}),this},get:b=>{try{const c=JSON.parse(_fs2.default.readFileSync(a,'utf8'));return b?c[b]:c}catch(c){throw _fsErrorMessage}},remove:()=>_fs2.default.unlinkSync(a),set:function(b){try{_fs2.default.writeFileSync(a,JSON.stringify(_extends({},this.get(),b)))}catch(c){throw _fsErrorMessage}}}); /***/ }), /* 4 */ /***/ (function(module, exports) { module.exports = require("babel-polyfill"); /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _nodeFetch=__webpack_require__(11),_nodeFetch2=_interopRequireDefault(_nodeFetch),_settings=__webpack_require__(6),_settings2=_interopRequireDefault(_settings);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}const _missedTokenMessage='API token is missed';exports.default=a=>({install:(()=>{var b=_asyncToGenerator(function*(c){if(!a.token)throw _missedTokenMessage;try{yield(0,_nodeFetch2.default)(_settings2.default.API_ENDPOINTS.BUNDLE({name:c.name}),{body:JSON.stringify(c),headers:{Auth:a.token,"Content-Type":'application/json'},method:'PUT'})}catch(d){throw'HTTP request failed'}});return function install(){return b.apply(this,arguments)}})(),requestToken:(()=>{var b=_asyncToGenerator(function*(){if(!(a.password&&a.username))throw'You must provide "username" and "password" in order to request a token';let c=yield(0,_nodeFetch2.default)(_settings2.default.API_ENDPOINTS.TOKEN,{body:JSON.stringify({password:a.password,username:a.username}),headers:{"Content-Type":'application/json'},method:'POST'}).then(function(d){return d.json()});if(400===c.status)throw'Incorrect login or password';return c.token});return function requestToken(){return b.apply(this,arguments)}})(),start:(()=>{var b=_asyncToGenerator(function*(c){if(!a.token)throw _missedTokenMessage;try{let d=yield(0,_nodeFetch2.default)(_settings2.default.API_ENDPOINTS.BUNDLES,{body:JSON.stringify(c),headers:{Auth:a.token,"Content-Type":'application/json'},method:'POST'}).then(function(e){return e.json()});if(11000===d.code)throw'You already have dll with such name'}catch(d){throw'HTTP request failed'}});return function start(){return b.apply(this,arguments)}})()}); /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});const API_URL='https://api.johnnydeps.io';exports.default={DEFAULT_CONFIG_PATH:'./johnny.json',DEFAULT_DLL_PATH:'./dll',API_ENDPOINTS:{BUNDLE:a=>`${API_URL}/bundles/${a.name}`,BUNDLES:`${API_URL}/bundles`,TOKEN:`${API_URL}/token`}}; /***/ }), /* 7 */ /***/ (function(module, exports) { module.exports = require("fs"); /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _cdnLinkPlugin=__webpack_require__(25);Object.defineProperty(exports,'cdnLinkPlugin',{enumerable:!0,get:function(){return _interopRequireDefault(_cdnLinkPlugin).default}});var _dllReferencePlugin=__webpack_require__(26);Object.defineProperty(exports,'dllReferencePlugin',{enumerable:!0,get:function(){return _interopRequireDefault(_dllReferencePlugin).default}});var _dllWebpackConfig=__webpack_require__(27);Object.defineProperty(exports,'dllWebpackConfig',{enumerable:!0,get:function(){return _interopRequireDefault(_dllWebpackConfig).default}});function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}} /***/ }), /* 9 */ /***/ (function(module, exports) { module.exports = require("cardinal"); /***/ }), /* 10 */ /***/ (function(module, exports) { module.exports = require("lodash"); /***/ }), /* 11 */ /***/ (function(module, exports) { module.exports = require("node-fetch"); /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});class PluginsConfig{getJohnny(){return'Johnny Config'}getDllReference(){return'DllReference Config'}getDllFactory(){return'DllFactory config'}}exports.default=new PluginsConfig; /***/ }), /* 13 */ /***/ (function(module, exports) { module.exports = require("path"); /***/ }), /* 14 */ /***/ (function(module, exports) { module.exports = require("promptly"); /***/ }), /* 15 */ /***/ (function(module, exports) { module.exports = require("webpack"); /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var _build=__webpack_require__(17),_build2=_interopRequireDefault(_build),_commander=__webpack_require__(32),_commander2=_interopRequireDefault(_commander),_install=__webpack_require__(22),_install2=_interopRequireDefault(_install),_login=__webpack_require__(23),_login2=_interopRequireDefault(_login),_package=__webpack_require__(30),_package2=_interopRequireDefault(_package),_start=__webpack_require__(24),_start2=_interopRequireDefault(_start),_uninstall=__webpack_require__(28),_uninstall2=_interopRequireDefault(_uninstall),_update=__webpack_require__(29),_update2=_interopRequireDefault(_update);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}_commander2.default.version(_package2.default.version),_commander2.default.command('start <project>',null).alias('s').description('Start new dll.').option('-r --repo <repo>').option('-h, --webhook').action(_start2.default),_commander2.default.command('build',null).alias('b').description('Build dll-bundle with current package.json dependencies.').action(_build2.default),_commander2.default.command('install [packages...]',null).alias('i').description('Install package.').option('-d --save-dev').option('-s --save').action(_install2.default),_commander2.default.command('uninstall [packages...]',null).alias('un').description('Uninstall package.').option('-d --save-dev').option('-s --save').action(_uninstall2.default),_commander2.default.command('update',null).alias('up').description('Update packages.').option('-d --save-dev').option('-s --save').action(_update2.default),_commander2.default.command('login [username]').description('Obtain auth token from API server.').action(_login2.default),_commander2.default.parse(process.argv); /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _Dll=__webpack_require__(2),_Dll2=_interopRequireDefault(_Dll),_JohnnyFile=__webpack_require__(3),_JohnnyFile2=_interopRequireDefault(_JohnnyFile),_helpers=__webpack_require__(1),_ramda=__webpack_require__(0),_ramda2=_interopRequireDefault(_ramda);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}__webpack_require__(4),exports.default=(()=>{var a=_asyncToGenerator(function*(){try{process.stdout.write('\n\x1B[1mRebuilding dll-bundle...\x1B[0m'),yield(0,_Dll2.default)({path:(0,_JohnnyFile2.default)().get('path')}).build({packages:_ramda2.default.keys((0,_helpers.getDllHostPackages)())}),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n')}catch(c){return void(0,_helpers.logError)('\n\n'+c)}});return function(){return a.apply(this,arguments)}})(); /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _fs=__webpack_require__(7),_fs2=_interopRequireDefault(_fs);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}exports.default=()=>JSON.parse(_fs2.default.readFileSync('./package.json','utf8')).dependencies; /***/ }), /* 19 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=a=>console.error(`ERROR: ${a}`); /***/ }), /* 20 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _API=__webpack_require__(5),_API2=_interopRequireDefault(_API),_Dll=__webpack_require__(2),_Dll2=_interopRequireDefault(_Dll),_helpers=__webpack_require__(1),_ramda=__webpack_require__(0),_ramda2=_interopRequireDefault(_ramda);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}exports.default=(()=>{var a=_asyncToGenerator(function*(b){const c=(0,_helpers.getDllHostPackages)();process.stdout.write('\x1B[1mRebuilding dll-bundle...\x1B[0m'),yield(0,_Dll2.default)({path:b.johnnyFile.get('path')}).build({packages:_ramda2.default.keys(c)}),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n');try{process.stdout.write('\x1B[1mUpdating dll-bundle on CDN-servers...\x1B[0m'),yield(0,_API2.default)({token:b.johnnyFile.get('path')}).install({name:b.johnnyFile.get('name'),packages:c}),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n')}catch(d){return void(0,_helpers.logError)(d)}});return function(){return a.apply(this,arguments)}})(); /***/ }), /* 21 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _ramda=__webpack_require__(0),_ramda2=_interopRequireDefault(_ramda),_child_process=__webpack_require__(31);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}exports.default=(()=>{var a=_asyncToGenerator(function*(b){return new Promise((()=>{var c=_asyncToGenerator(function*(d,e){const f=(0,_child_process.spawn)('npm',b);let g='',h='';f.stdout.on('data',function(i){return h+=i}),f.stderr.on('data',function(i){return g+=i}),f.on('close',d),g=(yield new Promise(function(i){return f.stderr.on('end',function(){return i(g)})})).replace(/\n+$/,''),h=(yield new Promise(function(i){return f.stdout.on('end',function(){return i(h)})})).replace(/\n+$/,''),h&&console.log('\n'+h),g&&!_ramda2.default.all(function(i){return!i||i.match(/^npm WARN.*/gi)},g.split('\n'))?e(g):g&&console.log(`\n${g}\n`)});return function(){return c.apply(this,arguments)}})())});return function(){return a.apply(this,arguments)}})(); /***/ }), /* 22 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _lodash=__webpack_require__(10),_lodash2=_interopRequireDefault(_lodash),_API=__webpack_require__(5),_API2=_interopRequireDefault(_API),_Dll=__webpack_require__(2),_Dll2=_interopRequireDefault(_Dll),_helpers=__webpack_require__(1),_JohnnyFile=__webpack_require__(3),_JohnnyFile2=_interopRequireDefault(_JohnnyFile),_ramda=__webpack_require__(0),_ramda2=_interopRequireDefault(_ramda);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}__webpack_require__(4),exports.default=(()=>{var a=_asyncToGenerator(function*(b,c){if(_ramda2.default.isEmpty(b)){try{process.stdout.write('\n\x1B[1mInstalling all project\'s dependencies with npm...\x1B[0m'),yield(0,_helpers.spawnNpm)(['install']),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n')}catch(d){return void console.log('\n\n'+d)}return}if(c.saveDev){try{process.stdout.write('\n\x1B[1mInstalling dev dependencies with npm...\x1B[0m'),yield(0,_helpers.spawnNpm)(['install',...b,'--save-dev']),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n')}catch(d){return void console.log('\n\n'+d)}return}try{process.stdout.write('\n\x1B[1mInstalling packages with npm...\x1B[0m'),yield(0,_helpers.spawnNpm)(_ramda2.default.filter(Boolean,['install',...b,c.save?'--save-exact':'--no-save'])),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n\n')}catch(d){return void console.log('\n\n'+d)}c.save&&(yield(0,_helpers.rebuildAndSync)({johnnyFile:(0,_JohnnyFile2.default)()}))});return function(){return a.apply(this,arguments)}})(); /***/ }), /* 23 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _API=__webpack_require__(5),_API2=_interopRequireDefault(_API),_Dll=__webpack_require__(2),_Dll2=_interopRequireDefault(_Dll),_templates=__webpack_require__(8),_nodeFetch=__webpack_require__(11),_nodeFetch2=_interopRequireDefault(_nodeFetch),_fs=__webpack_require__(7),_fs2=_interopRequireDefault(_fs),_JohnnyFile=__webpack_require__(3),_JohnnyFile2=_interopRequireDefault(_JohnnyFile),_helpers=__webpack_require__(1),_PluginsConfig=__webpack_require__(12),_PluginsConfig2=_interopRequireDefault(_PluginsConfig),_promptly=__webpack_require__(14),_promptly2=_interopRequireDefault(_promptly),_ramda=__webpack_require__(0),_ramda2=_interopRequireDefault(_ramda),_settings=__webpack_require__(6),_settings2=_interopRequireDefault(_settings);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}__webpack_require__(4),exports.default=(()=>{var a=_asyncToGenerator(function*(b){let c=b||(yield _promptly2.default.prompt('Username: ')),d=yield _promptly2.default.prompt('Password: ');try{process.stdout.write('\x1B[1mObtaining token...\x1B[0m'),(0,_JohnnyFile2.default)().set({token:yield(0,_API2.default)({password:d,username:c}).requestToken().then(function(e){return e})}),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n')}catch(e){return console.log(),void(0,_helpers.logError)(e)}});return function(){return a.apply(this,arguments)}})(); /***/ }), /* 24 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _API=__webpack_require__(5),_API2=_interopRequireDefault(_API),_cardinal=__webpack_require__(9),_cardinal2=_interopRequireDefault(_cardinal),_Dll=__webpack_require__(2),_Dll2=_interopRequireDefault(_Dll),_templates=__webpack_require__(8),_nodeFetch=__webpack_require__(11),_nodeFetch2=_interopRequireDefault(_nodeFetch),_fs=__webpack_require__(7),_fs2=_interopRequireDefault(_fs),_JohnnyFile=__webpack_require__(3),_JohnnyFile2=_interopRequireDefault(_JohnnyFile),_helpers=__webpack_require__(1),_PluginsConfig=__webpack_require__(12),_PluginsConfig2=_interopRequireDefault(_PluginsConfig),_promptly=__webpack_require__(14),_promptly2=_interopRequireDefault(_promptly),_ramda=__webpack_require__(0),_ramda2=_interopRequireDefault(_ramda),_settings=__webpack_require__(6),_settings2=_interopRequireDefault(_settings);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}__webpack_require__(4),exports.default=(()=>{var a=_asyncToGenerator(function*(b){const d=(0,_helpers.getDllHostPackages)();let e,f,g=yield _promptly2.default.prompt('Username: '),h=yield _promptly2.default.prompt('Password: ');try{f=yield(0,_API2.default)({password:h,username:g}).requestToken().then(function(i){return i}),e=(0,_JohnnyFile2.default)().create({name:b,path:_settings2.default.DEFAULT_DLL_PATH,token:f,user:g})}catch(i){return void(0,_helpers.logError)(i)}try{yield(0,_API2.default)({token:f}).start({name:b,packages:d})}catch(i){return(0,_helpers.logError)(i),void e.remove()}try{process.stdout.write('\n\x1B[1mCreating dll bundle...\x1B[0m'),yield(0,_Dll2.default)({path:e.get('path')}).create({packages:_ramda2.default.keys(d)}),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n')}catch(i){return void(0,_helpers.logError)('\n\n'+i)}process.stdout.write('\n\x1B[1mPut this into .plugins array of webpack config and you ready to go.\n'),process.stdout.write('Please note that "manifest" and "bundleConfig" are paths relative to your webpack config file.\x1B[0m\n\n'),console.log(_cardinal2.default.highlight('// Johnny Deps plugins')+(0,_templates.dllReferencePlugin)()+(0,_templates.cdnLinkPlugin)()+_cardinal2.default.highlight('// End of Johnny Deps plugins\n')),process.stdout.write('\n\x1B[1mDon\'t forget to:\x1B[0m\n'),console.log(`* to replace paths * properly setup dev environment flag * change the dev sever params if needed.\n`)});return function(){return a.apply(this,arguments)}})(); /***/ }), /* 25 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _cardinal=__webpack_require__(9),_cardinal2=_interopRequireDefault(_cardinal);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}exports.default=()=>_cardinal2.default.highlight(` JohnnyCDNLink({ bundleConfig : './johnny.json', isDev : false, localServerHost: 'http://localhost', localServerPort: '9000', outputPath : 'index.html', }) `); /***/ }), /* 26 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _cardinal=__webpack_require__(9),_cardinal2=_interopRequireDefault(_cardinal),_settings=__webpack_require__(6),_settings2=_interopRequireDefault(_settings);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}exports.default=()=>_cardinal2.default.highlight(` new webpack.DllReferencePlugin({manifest: require('${_settings2.default.DEFAULT_DLL_PATH}/manifest.json')}) `); /***/ }), /* 27 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _path=__webpack_require__(13),_path2=_interopRequireDefault(_path),_webpack=__webpack_require__(15),_webpack2=_interopRequireDefault(_webpack);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}exports.default=a=>({devtool:!1,entry:{vendor:a.packages},target:'web',output:{path:a.path,filename:'dll.js',library:'[hash]'},performance:{hints:!1},plugins:[new _webpack2.default.ContextReplacementPlugin(/moment[\\\/]locale$/,/^\.\/(en)$/),new _webpack2.default.optimize.OccurrenceOrderPlugin,new _webpack2.default.LoaderOptionsPlugin({minimize:!0,debug:!1}),new _webpack2.default.optimize.UglifyJsPlugin({compress:{warnings:!1,screw_ie8:!0}}),new _webpack2.default.DefinePlugin({"process.env":{NODE_ENV:JSON.stringify('production')}}),new _webpack2.default.DllPlugin({context:_path2.default.join('.','node_modules'),path:_path2.default.join(a.path,'manifest.json'),name:'[hash]'})].filter(b=>!!b),node:{console:!0,fs:'empty',net:'empty',tls:'empty'},resolve:{extensions:['.json','.js'],modules:['node_modules']}}); /***/ }), /* 28 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _lodash=__webpack_require__(10),_lodash2=_interopRequireDefault(_lodash),_helpers=__webpack_require__(1),_JohnnyFile=__webpack_require__(3),_JohnnyFile2=_interopRequireDefault(_JohnnyFile),_ramda=__webpack_require__(0),_ramda2=_interopRequireDefault(_ramda);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}__webpack_require__(4),exports.default=(()=>{var a=_asyncToGenerator(function*(b,c){if(c.saveDev){try{process.stdout.write('\x1B[1mUninstalling dev dependencies with npm...\x1B[0m\n'),yield(0,_helpers.spawnNpm)(['uninstall',...b,'--save-dev']),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n')}catch(d){return void console.log('\n\n'+d)}return}try{process.stdout.write('\x1B[1mUninstalling packages with npm...\x1B[0m'),yield(0,_helpers.spawnNpm)(_ramda2.default.filter(Boolean,['uninstall',...b,c.save?'':'--no-save'])),process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n')}catch(d){return void console.log('\n\n'+d)}c.save&&(yield(0,_helpers.rebuildAndSync)({johnnyFile:(0,_JohnnyFile2.default)()}))});return function(){return a.apply(this,arguments)}})(); /***/ }), /* 29 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports,'__esModule',{value:!0});var _lodash=__webpack_require__(10),_lodash2=_interopRequireDefault(_lodash),_API=__webpack_require__(5),_API2=_interopRequireDefault(_API),_Dll=__webpack_require__(2),_Dll2=_interopRequireDefault(_Dll),_helpers=__webpack_require__(1),_JohnnyFile=__webpack_require__(3),_JohnnyFile2=_interopRequireDefault(_JohnnyFile),_ramda=__webpack_require__(0),_ramda2=_interopRequireDefault(_ramda);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(c,d){function e(f,g){try{var h=b[f](g),i=h.value}catch(j){return void d(j)}return h.done?void c(i):Promise.resolve(i).then(function(j){e('next',j)},function(j){e('throw',j)})}return e('next')})}}__webpack_require__(4),exports.default=(()=>{var a=_asyncToGenerator(function*(b){if(b.saveDev){process.stdout.write('\x1B[1mUpdating dev dependencies with npm...\x1B[0m');try{yield(0,_helpers.spawnNpm)(['up','--save-dev','--save-exact'])}catch(c){return void console.log('\n\n'+c)}return void process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n')}process.stdout.write('\x1B[1mUpdating dependencies with npm...\x1B[0m');try{yield(0,_helpers.spawnNpm)(_ramda2.default.filter(Boolean,['up','--save-exact']))}catch(c){return void console.log('\n\n'+c)}process.stdout.write('\x1B[1m\x1B[32mDone\x1B[0m\n');b.save&&(yield(0,_helpers.rebuildAndSync)({johnnyFile:(0,_JohnnyFile2.default)()}))});return function(){return a.apply(this,arguments)}})(); /***/ }), /* 30 */ /***/ (function(module, exports) { module.exports = {"name":"johnny-cli","version":"0.0.2","description":"CLI for Johnny Deps","main":"build/johnny.js","scripts":{"compile":"babel --presets es2015,stage-0 -d lib/ src/","build":"NODE_ENV=production webpack --env.environment production --config config/webpack.js","typecheck":"flow","fakeapi":"node fakeapi/server.js","test":"jest --env=node --coverage"},"bin":{"johnny":"./build/johnny.js"},"author":"","license":"ISC","dependencies":{"babel-polyfill":"6.22.0","cardinal":"1.0.0","commander":"2.9.0","dfs":"0.0.2","fs":"0.0.1-security","lodash":"4.17.4","node-fetch":"1.6.3","promptly":"2.1.0","ramda":"0.24.1","restful.js":"0.9.6","some":"0.1.1","test":"0.6.0","webpack":"2.2.0","webpack-node-externals":"1.5.4"},"devDependencies":{"babel-cli":"6.22.2","babel-core":"6.22.1","babel-jest":"21.2.0","babel-loader":"6.2.10","babel-plugin-flow-runtime":"0.2.1","babel-plugin-transform-flow-strip-types":"6.22.0","babel-preset-babili":"0.0.10","babel-preset-env":"1.1.8","babel-preset-es2015":"6.22.0","babel-preset-stage-0":"6.22.0","banner-webpack-plugin":"0.2.3","clean-webpack-plugin":"0.1.17","commander":"2.9.0","flow-bin":"0.38.0","flow-runtime":"0.2.1","jest":"21.2.1","jest-cli":"21.2.1","jest-file-exists":"19.0.0","json-server":"0.9.4","lodash":"4.17.4","mock-fs":"4.4.1","path":"0.12.7","request":"2.83.0","webpack":"2.2.0","webpack-node-externals":"1.5.4"},"jest":{"collectCoverageFrom":["src/**/*.js"],"coveragePathIgnorePatterns":["/node_modules/","/jest/","/__tests__/","(/__tests__/.*|\\.(index|test|spec))\\.js$"],"moduleFileExtensions":["js","json"],"modulePathIgnorePatterns":["<rootDir>/(build|tmp|cache)/"],"modulePaths":["<rootDir>/src/"],"setupTestFrameworkScriptFile":"<rootDir>/jest/setup.js","transform":{".*":"<rootDir>/jest/transform.js"},"testPathIgnorePatterns":["<rootDir>/(jest|containers|coverage|build|tmp|cache|node_modules)/"],"testEnvironment":"node","testRegex":"(/__tests__/.*|\\.(index|test|spec))\\.js$"}} /***/ }), /* 31 */ /***/ (function(module, exports) { module.exports = require("child_process"); /***/ }), /* 32 */ /***/ (function(module, exports) { module.exports = require("commander"); /***/ }), /* 33 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(16); /***/ }) /******/ ]);