@modernpoacher/deps 1.5.8 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/app.js CHANGED
@@ -4,16 +4,16 @@ require('module-alias/register')
4
4
 
5
5
  const debug = require('debug')
6
6
 
7
- const {
8
- platform
9
- } = require('os')
10
-
11
7
  const commander = require('commander')
12
8
 
13
9
  const {
14
10
  version: VERSION
15
11
  } = require('~/package')
16
12
 
13
+ const {
14
+ PLATFORM
15
+ } = require('@modernpoacher/deps/common/env')
16
+
17
17
  const {
18
18
  getProdDependencies,
19
19
  getDevDependencies,
@@ -46,7 +46,7 @@ debug.enable(DEBUG)
46
46
 
47
47
  const log = debug('@modernpoacher/deps')
48
48
 
49
- log(`\`deps\` (${VERSION} - ${platform}) is awake`)
49
+ log(`\`deps\` (${VERSION} - ${PLATFORM}) is awake`)
50
50
 
51
51
  async function app () {
52
52
  log('Deps')
@@ -4,17 +4,14 @@ require('module-alias/register')
4
4
 
5
5
  const debug = require('debug')
6
6
 
7
- const {
8
- platform
9
- } = require('os')
10
-
11
7
  const {
12
8
  exec
13
9
  } = require('child_process')
14
10
 
15
11
  const {
16
12
  resolve,
17
- relative
13
+ relative,
14
+ normalize
18
15
  } = require('path')
19
16
 
20
17
  const {
@@ -30,6 +27,10 @@ const {
30
27
  version: VERSION
31
28
  } = require('~/package')
32
29
 
30
+ const {
31
+ PLATFORM
32
+ } = require('@modernpoacher/deps/common/env')
33
+
33
34
  const {
34
35
  DIRECTORY,
35
36
  REGISTRY,
@@ -41,44 +42,50 @@ const {
41
42
 
42
43
  const log = debug('@modernpoacher/deps')
43
44
 
44
- log(`\`common\` (${VERSION} - ${platform}) is awake`)
45
+ log(`\`common\` (${VERSION} - ${PLATFORM}) is awake`)
45
46
 
46
47
  const CODE = 0
47
48
 
48
49
  const MESSAGE = 'Either no error message has been defined or no error has been supplied'
49
50
 
50
- const trim = (v) => v.split('\n').map((v) => v.trimEnd()).join('\n').trim()
51
+ const tidy = (v) => v.replace(/\n\n/gm, String.fromCharCode(10)).trim()
51
52
 
52
- const normalise = (v) => v.replace(/\n\n/gm, String.fromCharCode(10)).trim()
53
+ const trim = (v) => v.split('\n').map((v) => v.trimEnd()).join('\n').trim()
53
54
 
54
55
  const toRelativePath = (to) => relative(process.cwd(), to) // const toRelativePath = relative.bind(null, process.cwd())
55
56
 
56
- const getRmrfCommands = (directory = DIRECTORY) => normalise(`
57
- cd "${directory}"
58
-
57
+ const getRmrfCommands = PLATFORM === 'win32'
58
+ ? (directory = DIRECTORY) => tidy(`
59
+ cd "${normalize(directory)}"
60
+ rm -rf node_modules package-lock.json
61
+ `)
62
+ : (directory = DIRECTORY) => tidy(`
63
+ cd "${normalize(directory)}"
59
64
  rm -rf node_modules package-lock.json
60
-
61
- # exit 0
62
65
  `)
63
66
 
64
- const getNpmiCommands = (directory = DIRECTORY, registry = REGISTRY, force = false) => normalise(`
65
- cd "${directory}"
66
-
67
- . "${NVM}" 2> /dev/null
68
-
67
+ const getNpmiCommands = PLATFORM === 'win32'
68
+ ? (directory = DIRECTORY, registry = REGISTRY, force = false) => tidy(`
69
+ cd "${normalize(directory)}"
70
+ ${getRegistryParameter(registry, getForceParameter(force, 'npm i'))}
71
+ `)
72
+ : (directory = DIRECTORY, registry = REGISTRY, force = false) => tidy(`
73
+ export PATH=/usr/local/bin:$PATH &> /dev/null
74
+ cd "${normalize(directory)}"
75
+ . "${normalize(NVM)}" 2> /dev/null
69
76
  ${getRegistryParameter(registry, getForceParameter(force, 'npm i'))}
70
-
71
- # exit 0
72
77
  `)
73
78
 
74
- const getDepsCommands = (directory = DIRECTORY, registry = REGISTRY, force = false) => normalise(`
75
- cd "${directory}"
76
-
77
- . "${NVM}" 2> /dev/null
78
-
79
+ const getDepsCommands = PLATFORM === 'win32'
80
+ ? (directory = DIRECTORY, registry = REGISTRY, force = false) => tidy(`
81
+ cd "${normalize(directory)}"
82
+ ${getRegistryParameter(registry, getForceParameter(force, 'deps'))}
83
+ `)
84
+ : (directory = DIRECTORY, registry = REGISTRY, force = false) => tidy(`
85
+ export PATH=/usr/local/bin:$PATH &> /dev/null
86
+ cd "${normalize(directory)}"
87
+ . "${normalize(NVM)}" 2> /dev/null
79
88
  ${getRegistryParameter(registry, getForceParameter(force, 'deps'))}
80
-
81
- # exit 0
82
89
  `)
83
90
 
84
91
  function use (key) {
@@ -4,10 +4,6 @@ require('module-alias/register')
4
4
 
5
5
  const debug = require('debug')
6
6
 
7
- const {
8
- platform
9
- } = require('os')
10
-
11
7
  const {
12
8
  resolve
13
9
  } = require('path')
@@ -20,6 +16,10 @@ const {
20
16
  version: VERSION
21
17
  } = require('~/package')
22
18
 
19
+ const {
20
+ PLATFORM
21
+ } = require('@modernpoacher/deps/common/env')
22
+
23
23
  const {
24
24
  catGitRefsRemotesOriginHead,
25
25
  gitRevParse,
@@ -31,6 +31,10 @@ const {
31
31
  gitCommit
32
32
  } = require('@modernpoacher/deps/common/git')
33
33
 
34
+ const {
35
+ REGISTRY
36
+ } = require('@modernpoacher/deps/common')
37
+
34
38
  const {
35
39
  handleError,
36
40
  rmrf,
@@ -48,10 +52,9 @@ debug.enable(DEBUG)
48
52
 
49
53
  const log = debug('@modernpoacher/deps')
50
54
 
51
- log(`\`execute\` (${VERSION} - ${platform}) is awake`)
55
+ log(`\`execute\` (${VERSION} - ${PLATFORM}) is awake`)
52
56
 
53
57
  const DIRECTORY = process.cwd()
54
- const REGISTRY = 'https://registry.npmjs.org'
55
58
 
56
59
  function handleCommandError (e) {
57
60
  const {
@@ -4,16 +4,16 @@ require('module-alias/register')
4
4
 
5
5
  const debug = require('debug')
6
6
 
7
- const {
8
- platform
9
- } = require('os')
10
-
11
7
  const commander = require('commander')
12
8
 
13
9
  const {
14
10
  version: VERSION
15
11
  } = require('~/package')
16
12
 
13
+ const {
14
+ PLATFORM
15
+ } = require('@modernpoacher/deps/common/env')
16
+
17
17
  const {
18
18
  getProdDependencies,
19
19
  getDevDependencies,
@@ -44,7 +44,7 @@ debug.enable(DEBUG)
44
44
 
45
45
  const log = debug('@modernpoacher/deps')
46
46
 
47
- log(`\`install\` (${VERSION} - ${platform}) is awake`)
47
+ log(`\`install\` (${VERSION} - ${PLATFORM}) is awake`)
48
48
 
49
49
  async function app () {
50
50
  log('Deps')
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.PLATFORM=void 0;var _debug=_interopRequireDefault(require("debug"));var _os=require("os");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const PLATFORM=(0,_os.platform)();exports.PLATFORM=PLATFORM;const log=(0,_debug.default)('@modernpoacher/deps');log(`\`env\` (${PLATFORM}) is awake`);
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.catGitRefsRemotesOriginHead=catGitRefsRemotesOriginHead;exports.gitAdd=gitAdd;exports.gitCheckout=gitCheckout;exports.gitCommit=gitCommit;exports.gitPull=gitPull;exports.gitPush=gitPush;exports.gitPushTags=gitPushTags;exports.gitRevParse=gitRevParse;var _debug=_interopRequireDefault(require("debug"));var _os=require("os");var _child_process=require("child_process");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const DIRECTORY='.';const BRANCH='master';const ADD='package.json package-lock.json';const COMMIT=_os.platform==='win32'?'Updated `package.json` &/ `package-lock.json`':'Updated \\`package.json\\` &/ \\`package-lock.json\\`';const OPTIONS={maxBuffer:1024*2000};const log=(0,_debug.default)('@modernpoacher/deps');log(`\`git\` (${_os.platform}) is awake`);const trim=v=>v.split('\n').map(v=>v.trimEnd()).join('\n').trim();function use(key){const log=(0,_debug.default)(`@modernpoacher/deps:${key}`);return function use(v){if(v.trim()==='')return;return log(trim(v));};}function out(key,directory){const log=(0,_debug.default)(`@modernpoacher/deps:${key}`);return function out(v){const s=v.trim();if(s===''||directory===s)return;return log(trim(s));};}function err(key,directory){const log=(0,_debug.default)(`@modernpoacher/deps:${key}`);return function err(v){const s=v.trim();if(s===''||directory===s||s.toLowerCase().startsWith('fatal: not a git repository'))return;return log(trim(s));};}const getErrorCode=({code=0}={})=>code;const getErrorMessage=({message=''}={})=>message;function getCatGitRefsRemotesOriginHeadCommand(directory=DIRECTORY){log('getCatGitRefsRemotesOriginHeadCommand');return`
2
- DIR=$(echo "${directory}/.git/refs/remotes/origin/HEAD" | sed -e "s/\\//\\\\\\/g" -e "s/://" | cat 2> /dev/null)
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.catGitRefsRemotesOriginHead=catGitRefsRemotesOriginHead;exports.gitAdd=gitAdd;exports.gitCheckout=gitCheckout;exports.gitCommit=gitCommit;exports.gitPull=gitPull;exports.gitPush=gitPush;exports.gitPushTags=gitPushTags;exports.gitRevParse=gitRevParse;var _debug=_interopRequireDefault(require("debug"));var _path=require("path");var _child_process=require("child_process");var _env=require("../env");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const DIRECTORY='.';const BRANCH='master';const ADD='package.json package-lock.json';const COMMIT=_env.PLATFORM==='win32'?'Updated `package.json` &/ `package-lock.json`':'Updated \\`package.json\\` &/ \\`package-lock.json\\`';const OPTIONS={maxBuffer:1024*2000};const log=(0,_debug.default)('@modernpoacher/deps');log(`\`git\` (${_env.PLATFORM}) is awake`);const trim=v=>v.split('\n').map(v=>v.trimEnd()).join('\n').trim();function use(key){const log=(0,_debug.default)(`@modernpoacher/deps:${key}`);return function use(v){if(v.trim()==='')return;return log(trim(v));};}function out(key,directory){const log=(0,_debug.default)(`@modernpoacher/deps:${key}`);return function out(v){const s=v.trim();if(s===''||directory===s)return;return log(trim(s));};}function err(key,directory){const log=(0,_debug.default)(`@modernpoacher/deps:${key}`);return function err(v){const s=v.trim();if(s===''||directory===s||s.toLowerCase().startsWith('fatal: not a git repository'))return;return log(trim(s));};}const getErrorCode=({code=0}={})=>code;const getErrorMessage=({message=''}={})=>message;function getCatGitRefsRemotesOriginHeadCommands(directory=DIRECTORY){log('getCatGitRefsRemotesOriginHeadCommands');return`
2
+ DIR=$(echo "${(0,_path.normalize)(directory.concat('/.git/refs/remotes/origin/HEAD'))}" | sed -e "s/\\//\\\\\\/g" -e "s/://" | cat 2> /dev/null)
3
3
  [[ $DIR =~ "[-0-9a-zA-Z]*$" ]]
4
4
  echo "$\{BASH_REMATCH[0]}"
5
- `;}function isCommandError(e){log('isCommandError');return getErrorCode(e)===1&&getErrorMessage(e).toLowerCase().startsWith('command failed:');}function catGitRefsRemotesOriginHead(directory=DIRECTORY){log('catGitRefsRemotesOriginHead');return new Promise((resolve,reject)=>{const command=getCatGitRefsRemotesOriginHeadCommand(directory);const{stdout,stderr}=(0,_child_process.exec)(command,{...OPTIONS,cwd:directory},(e,v='')=>!e?resolve(trim(v)):reject(e));stdout.on('data',out('cat-git-refs-remotes-origin-head',directory.trim()));stderr.on('data',err('cat-git-refs-remotes-origin-head',directory.trim()));});}function gitRevParse(directory=DIRECTORY){log('gitRevParse');return new Promise((resolve,reject)=>{const command='git rev-parse --show-toplevel';const{stdout,stderr}=(0,_child_process.exec)(command,{...OPTIONS,cwd:directory},(e,v='')=>!e?resolve(trim(v)):reject(e));stdout.on('data',out('git-rev-parse',directory.trim()));stderr.on('data',err('git-rev-parse',directory.trim()));});}function gitCheckout(directory=DIRECTORY,branch=BRANCH){log('gitCheckout');return new Promise((resolve,reject)=>{const command=`cd "${directory}" && git checkout ${branch}`;const{stdout,stderr}=(0,_child_process.exec)(command,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',use('git-checkout'));stderr.on('data',use('git-checkout'));});}function gitPull(directory=DIRECTORY){log('gitPull');return new Promise((resolve,reject)=>{const command=`cd "${directory}" && git pull`;const{stdout,stderr}=(0,_child_process.exec)(command,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',use('git-pull'));stderr.on('data',use('git-pull'));});}function gitPush(directory=DIRECTORY){log('gitPush');return new Promise((resolve,reject)=>{const command=`cd "${directory}" && git push`;const{stdout,stderr}=(0,_child_process.exec)(command,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',use('git-push'));stderr.on('data',use('git-push'));});}function gitPushTags(directory=DIRECTORY){log('gitPushTags');return new Promise((resolve,reject)=>{const command=`cd "${directory}" && git push --tags`;const{stdout,stderr}=(0,_child_process.exec)(command,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',use('git-push-tags'));stderr.on('data',use('git-push-tags'));});}function gitAdd(directory=DIRECTORY,add=ADD){log('gitAdd');return new Promise((resolve,reject)=>{const command=`cd "${directory}" && git add ${add}`;const{stdout,stderr}=(0,_child_process.exec)(command,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',use('git-add'));stderr.on('data',use('git-add'));});}function gitCommit(directory=DIRECTORY,commit=COMMIT){log('gitCommit');return new Promise((resolve,reject)=>{const command=`cd "${directory}" && git commit -m "${commit}"`;const{stdout,stderr}=(0,_child_process.exec)(command,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',use('git-commit'));stderr.on('data',use('git-commit'));});}
5
+ `;}function isCommandError(e){log('isCommandError');return getErrorCode(e)===1&&getErrorMessage(e).toLowerCase().startsWith('command failed:');}function catGitRefsRemotesOriginHead(directory=DIRECTORY){log('catGitRefsRemotesOriginHead');return new Promise((resolve,reject)=>{const commands=getCatGitRefsRemotesOriginHeadCommands(directory);const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:directory},(e,v='')=>!e?resolve(trim(v)):reject(e));stdout.on('data',out('cat-git-refs-remotes-origin-head',directory.trim()));stderr.on('data',err('cat-git-refs-remotes-origin-head',directory.trim()));});}function gitRevParse(directory=DIRECTORY){log('gitRevParse');return new Promise((resolve,reject)=>{const commands='git rev-parse --show-toplevel';const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:directory},(e,v='')=>!e?resolve(trim(v)):reject(e));stdout.on('data',out('git-rev-parse',directory.trim()));stderr.on('data',err('git-rev-parse',directory.trim()));});}function gitCheckout(directory=DIRECTORY,branch=BRANCH){log('gitCheckout');return new Promise((resolve,reject)=>{const log=use('git-checkout');const commands=`cd "${(0,_path.normalize)(directory)}" && git checkout ${branch}`;const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',log);stderr.on('data',log);});}function gitPull(directory=DIRECTORY){log('gitPull');return new Promise((resolve,reject)=>{const log=use('git-pull');const commands=`cd "${(0,_path.normalize)(directory)}" && git pull`;const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',log);stderr.on('data',log);});}function gitPush(directory=DIRECTORY){log('gitPush');return new Promise((resolve,reject)=>{const log=use('git-push');const commands=`cd "${(0,_path.normalize)(directory)}" && git push`;const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',log);stderr.on('data',log);});}function gitPushTags(directory=DIRECTORY){log('gitPushTags');return new Promise((resolve,reject)=>{const log=use('git-push-tags');const commands=`cd "${(0,_path.normalize)(directory)}" && git push --tags`;const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',log);stderr.on('data',log);});}function gitAdd(directory=DIRECTORY,add=ADD){log('gitAdd');return new Promise((resolve,reject)=>{const log=use('git-add');const commands=`cd "${(0,_path.normalize)(directory)}" && git add ${add}`;const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',log);stderr.on('data',log);});}function gitCommit(directory=DIRECTORY,commit=COMMIT){log('gitCommit');return new Promise((resolve,reject)=>{const log=use('git-commit');const commands=`cd "${(0,_path.normalize)(directory)}" && git commit -m "${commit}"`;const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:directory},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',log);stderr.on('data',log);});}
@@ -1,11 +1,9 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getCommands=exports.getBundleDependencies=exports.REGISTRY=exports.NVM=exports.DIRECTORY=void 0;exports.getDeps=getDeps;exports.getDepsExact=getDepsExact;exports.isPreRelease=exports.isExact=exports.getSaveProdParameter=exports.getSaveOptionalParameter=exports.getSaveExactParameter=exports.getSaveDevParameter=exports.getSaveBundleParameter=exports.getRegistryParameter=exports.getProdDependencies=exports.getPeerDependencies=exports.getOptionalDependencies=exports.getNoSaveParameter=exports.getForceParameter=exports.getDevDependencies=void 0;exports.normalise=normalise;exports.transform=transform;exports.transformDependency=void 0;var _debug=_interopRequireDefault(require("debug"));var _os=require("os");var _path=require("path");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const log=(0,_debug.default)('@modernpoacher/deps');log(`\`common\` (${_os.platform}) is awake`);const{path:MODULE_PATH}=module;const DIRECTORY='.';exports.DIRECTORY=DIRECTORY;const REGISTRY='https://registry.npmjs.org';exports.REGISTRY=REGISTRY;const NVM=(0,_path.resolve)(MODULE_PATH,'../../nvm.sh');exports.NVM=NVM;const getSaveProdParameter=commands=>commands.concat(' --save-prod');exports.getSaveProdParameter=getSaveProdParameter;const getSaveDevParameter=commands=>commands.concat(' --save-dev');exports.getSaveDevParameter=getSaveDevParameter;const getSaveBundleParameter=commands=>commands.concat(' --save-bundle');exports.getSaveBundleParameter=getSaveBundleParameter;const getSaveOptionalParameter=commands=>commands.concat(' --save-optional');exports.getSaveOptionalParameter=getSaveOptionalParameter;const getRegistryParameter=(r,commands)=>r?commands.concat(` --registry ${r}`):commands;exports.getRegistryParameter=getRegistryParameter;const getForceParameter=(f,commands)=>f?commands.concat(' --force'):commands;exports.getForceParameter=getForceParameter;const getNoSaveParameter=(s,commands)=>s?commands:commands.concat(' --no-save');exports.getNoSaveParameter=getNoSaveParameter;const getSaveExactParameter=commands=>commands.concat(' --save-exact');exports.getSaveExactParameter=getSaveExactParameter;const getCommands=(directory=DIRECTORY,commands='npm i')=>`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getCommands=exports.getBundleDependencies=exports.REGISTRY=exports.NVM=exports.DIRECTORY=void 0;exports.getDeps=getDeps;exports.getDepsExact=getDepsExact;exports.isPreRelease=exports.isExact=exports.getSaveProdParameter=exports.getSaveOptionalParameter=exports.getSaveExactParameter=exports.getSaveDevParameter=exports.getSaveBundleParameter=exports.getRegistryParameter=exports.getProdDependencies=exports.getPeerDependencies=exports.getOptionalDependencies=exports.getNoSaveParameter=exports.getForceParameter=exports.getDevDependencies=void 0;exports.normalise=normalise;exports.transform=transform;exports.transformDependency=void 0;var _debug=_interopRequireDefault(require("debug"));var _path=require("path");var _env=require("./env");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const{path:MODULE_PATH}=module;const DIRECTORY='.';exports.DIRECTORY=DIRECTORY;const REGISTRY='https://registry.npmjs.org';exports.REGISTRY=REGISTRY;const NVM=(0,_path.resolve)(MODULE_PATH,'../../nvm.sh');exports.NVM=NVM;const log=(0,_debug.default)('@modernpoacher/deps');log(`\`common\` (${_env.PLATFORM}) is awake`);const tidy=v=>v.replace(/\n\n/gm,String.fromCharCode(10)).trim();const getSaveProdParameter=commands=>commands.concat(' --save-prod');exports.getSaveProdParameter=getSaveProdParameter;const getSaveDevParameter=commands=>commands.concat(' --save-dev');exports.getSaveDevParameter=getSaveDevParameter;const getSaveBundleParameter=commands=>commands.concat(' --save-bundle');exports.getSaveBundleParameter=getSaveBundleParameter;const getSaveOptionalParameter=commands=>commands.concat(' --save-optional');exports.getSaveOptionalParameter=getSaveOptionalParameter;const getRegistryParameter=(r,commands)=>r?commands.concat(` --registry ${r}`):commands;exports.getRegistryParameter=getRegistryParameter;const getForceParameter=(f,commands)=>f?commands.concat(' --force'):commands;exports.getForceParameter=getForceParameter;const getNoSaveParameter=(s,commands)=>s?commands:commands.concat(' --no-save');exports.getNoSaveParameter=getNoSaveParameter;const getSaveExactParameter=commands=>commands.concat(' --save-exact');exports.getSaveExactParameter=getSaveExactParameter;const getCommands=_env.PLATFORM==='win32'?(directory=DIRECTORY,commands='npm i')=>tidy(`
2
+ cd "${(0,_path.normalize)(directory)}"
3
+ ${commands}
4
+ `):(directory=DIRECTORY,commands='npm i')=>tidy(`
2
5
  export PATH=/usr/local/bin:$PATH &> /dev/null
3
-
4
- cd "${directory}"
5
-
6
- . "${NVM}" 2> /dev/null
7
-
6
+ cd "${(0,_path.normalize)(directory)}"
7
+ . "${(0,_path.normalize)(NVM)}" 2> /dev/null
8
8
  ${commands}
9
-
10
- # exit 0
11
- `.replace(/\n\n/gm,String.fromCharCode(10)).trim();exports.getCommands=getCommands;const getProdDependencies=({dependencies={}}={})=>dependencies;exports.getProdDependencies=getProdDependencies;const getDevDependencies=({devDependencies={}}={})=>devDependencies;exports.getDevDependencies=getDevDependencies;const getOptionalDependencies=({optionalDependencies={}}={})=>optionalDependencies;exports.getOptionalDependencies=getOptionalDependencies;const getBundleDependencies=({bundleDependencies=[]}={})=>bundleDependencies;exports.getBundleDependencies=getBundleDependencies;const getPeerDependencies=({peerDependencies}={})=>peerDependencies;exports.getPeerDependencies=getPeerDependencies;const isPreRelease=v=>/-/.test(v);exports.isPreRelease=isPreRelease;const isExact=v=>/^\d/.test(v);exports.isExact=isExact;function getDepsExact(values,configuration){log('getDepsExact');return Object.entries(values).reduce((accumulator,[name,version])=>isExact(version)?accumulator.concat({name,version:Reflect.has(configuration,name)?Reflect.get(configuration,name):version}):accumulator,[]);}function getDeps(values){log('getDeps');return Object.entries(values).reduce((accumulator,[name,version])=>isExact(version)?accumulator:isPreRelease(version)?accumulator.concat({name,version}):accumulator.concat({name,version:'latest'}),[]);}function normalise(value){while(/\s\s|\n/.test(value)){value=value.replace(/\s\s/gm,String.fromCharCode(32)).replace(/\n/gm,String.fromCharCode(32));}return value.trim();}const transformDependency=({name='@modernpoacher/deps',version='latest'}={})=>`${name}@${version}`;exports.transformDependency=transformDependency;function transform(value){log('transform');return Array.isArray(value)?value.map(transformDependency).join(String.fromCharCode(32)).trim():transformDependency(value);}
9
+ `);exports.getCommands=getCommands;const getProdDependencies=({dependencies={}}={})=>dependencies;exports.getProdDependencies=getProdDependencies;const getDevDependencies=({devDependencies={}}={})=>devDependencies;exports.getDevDependencies=getDevDependencies;const getOptionalDependencies=({optionalDependencies={}}={})=>optionalDependencies;exports.getOptionalDependencies=getOptionalDependencies;const getBundleDependencies=({bundleDependencies=[]}={})=>bundleDependencies;exports.getBundleDependencies=getBundleDependencies;const getPeerDependencies=({peerDependencies}={})=>peerDependencies;exports.getPeerDependencies=getPeerDependencies;const isPreRelease=v=>/-/.test(v);exports.isPreRelease=isPreRelease;const isExact=v=>/^\d/.test(v);exports.isExact=isExact;function getDepsExact(values,configuration){log('getDepsExact');return Object.entries(values).reduce((accumulator,[name,version])=>isExact(version)?accumulator.concat({name,version:Reflect.has(configuration,name)?Reflect.get(configuration,name):version}):accumulator,[]);}function getDeps(values){log('getDeps');return Object.entries(values).reduce((accumulator,[name,version])=>isExact(version)?accumulator:isPreRelease(version)?accumulator.concat({name,version}):accumulator.concat({name,version:'latest'}),[]);}function normalise(value){while(/\s\s|\n/.test(value)){value=value.replace(/\s\s/gm,String.fromCharCode(32)).replace(/\n/gm,String.fromCharCode(32));}return value.trim();}const transformDependency=({name='@modernpoacher/deps',version='latest'}={})=>`${name}@${version}`;exports.transformDependency=transformDependency;function transform(value){log('transform');return Array.isArray(value)?value.map(transformDependency).join(String.fromCharCode(32)).trim():transformDependency(value);}
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.executeBundle=executeBundle;exports.executeDev=executeDev;exports.executeOptional=executeOptional;exports.executeProd=executeProd;exports.getInstallCommands=void 0;exports.getInstallSaveBundleCommands=getInstallSaveBundleCommands;exports.getInstallSaveBundleSaveExactCommands=getInstallSaveBundleSaveExactCommands;exports.getInstallSaveDevCommands=getInstallSaveDevCommands;exports.getInstallSaveDevSaveExactCommands=getInstallSaveDevSaveExactCommands;exports.getInstallSaveExactCommands=void 0;exports.getInstallSaveOptionalCommands=getInstallSaveOptionalCommands;exports.getInstallSaveOptionalSaveExactCommands=getInstallSaveOptionalSaveExactCommands;exports.getInstallSaveProdCommands=getInstallSaveProdCommands;exports.getInstallSaveProdSaveExactCommands=getInstallSaveProdSaveExactCommands;exports.installSaveBundle=installSaveBundle;exports.installSaveBundleSaveExact=installSaveBundleSaveExact;exports.installSaveDev=installSaveDev;exports.installSaveDevSaveExact=installSaveDevSaveExact;exports.installSaveOptional=installSaveOptional;exports.installSaveOptionalSaveExact=installSaveOptionalSaveExact;exports.installSaveProd=installSaveProd;exports.installSaveProdSaveExact=installSaveProdSaveExact;var _debug=_interopRequireDefault(require("debug"));var _os=require("os");var _child_process=require("child_process");var _common=require("./common");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const log=(0,_debug.default)('@modernpoacher/deps');log(`\`deps\` (${_os.platform}) is awake`);function use(key){const log=(0,_debug.default)(`@modernpoacher/deps:${key}`);return function use(v){const s=v.trim();if(s==='')return;return log(s);};}const getInstallSaveExactCommands=(p,r,f)=>{log('getInstallSaveExactCommands');const c=(0,_common.transform)(p);const commands=`npm i ${c}`;return(0,_common.normalise)((0,_common.getRegistryParameter)(r,(0,_common.getForceParameter)(f,(0,_common.getSaveExactParameter)(commands))));};exports.getInstallSaveExactCommands=getInstallSaveExactCommands;const getInstallCommands=(p,r,f)=>{log('getInstallCommands');const c=(0,_common.transform)(p);const commands=`npm i ${c}`;return(0,_common.normalise)((0,_common.getRegistryParameter)(r,(0,_common.getForceParameter)(f,commands)));};exports.getInstallCommands=getInstallCommands;function getInstallSaveBundleSaveExactCommands(p,r,f){log('getInstallSaveBundleSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveBundleParameter)(commands));}function getInstallSaveBundleCommands(p,r,f){log('getInstallSaveBundleCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveBundleParameter)(commands));}function getInstallSaveOptionalSaveExactCommands(p,r,f){log('getInstallSaveOptionalSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveOptionalParameter)(commands));}function getInstallSaveOptionalCommands(p,r,f){log('getInstallSaveOptionalCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveOptionalParameter)(commands));}function getInstallSaveDevSaveExactCommands(p,r,f){log('getInstallSaveDevSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveDevParameter)(commands));}function getInstallSaveDevCommands(p,r,f){log('getInstallSaveDevCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveDevParameter)(commands));}function getInstallSaveProdSaveExactCommands(p,r,f){log('getInstallSaveProdSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveProdParameter)(commands));}function getInstallSaveProdCommands(p,r,f){log('getInstallSaveProdCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveProdParameter)(commands));}function installSaveBundleSaveExact(d,p,r,f){log('installSaveBundleSaveExact');return new Promise((resolve,reject)=>{const log=use('install-save-bundle-save-exact');const commands=(0,_common.getCommands)(d,getInstallSaveBundleSaveExactCommands(p,r,f));log(commands);(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}function installSaveBundle(d,p,r,f){log('installSaveBundle');return new Promise((resolve,reject)=>{const log=use('install-save-bundle');const commands=(0,_common.getCommands)(d,getInstallSaveBundleCommands(p,r,f));log(commands);(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}function installSaveOptionalSaveExact(d,p,r,f){log('installSaveOptionalSaveExact');return new Promise((resolve,reject)=>{const log=use('install-save-otional-save-exact');const commands=(0,_common.getCommands)(d,getInstallSaveOptionalSaveExactCommands(p,r,f));log(commands);(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}function installSaveOptional(d,p,r,f){log('installSaveOptional');return new Promise((resolve,reject)=>{const log=use('install-save-otional');const commands=(0,_common.getCommands)(d,getInstallSaveOptionalCommands(p,r,f));log(commands);(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}function installSaveDevSaveExact(d,p,r,f){log('installSaveDevSaveExact');return new Promise((resolve,reject)=>{const log=use('install-save-dev-save-exact');const commands=(0,_common.getCommands)(d,getInstallSaveDevSaveExactCommands(p,r,f));log(commands);(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}function installSaveDev(d,p,r,f){log('installSaveDev');return new Promise((resolve,reject)=>{const log=use('install-save-dev');const commands=(0,_common.getCommands)(d,getInstallSaveDevCommands(p,r,f));log(commands);(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}function installSaveProdSaveExact(d,p,r,f){log('installSaveProdSaveExact');return new Promise((resolve,reject)=>{const log=use('install-save-prod-save-exact');const commands=(0,_common.getCommands)(d,getInstallSaveProdSaveExactCommands(p,r,f));log(commands);(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}function installSaveProd(d,p,r,f){log('installSaveProd');return new Promise((resolve,reject)=>{const log=use('install-save-prod');const commands=(0,_common.getCommands)(d,getInstallSaveProdCommands(p,r,f));log(commands);(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}async function executeBundle(directory=_common.DIRECTORY,packages={},configuration={},registry=_common.REGISTRY,force=false){log('executeBundle');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveBundleSaveExact(directory,depsExact,registry,force);const deps=(0,_common.getDeps)(packages);if(deps.length)await installSaveBundle(directory,deps,registry,force);}async function executeOptional(directory=_common.DIRECTORY,packages={},configuration={},registry=_common.REGISTRY,force=false){log('executeOptional');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveOptionalSaveExact(directory,depsExact,registry);const deps=(0,_common.getDeps)(packages);if(deps.length)await installSaveOptional(directory,deps,registry);}async function executeDev(directory=_common.DIRECTORY,packages={},configuration={},registry=_common.REGISTRY,force=false){log('executeDev');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveDevSaveExact(directory,depsExact,registry,force);const deps=(0,_common.getDeps)(packages);if(deps.length)await installSaveDev(directory,deps,registry,force);}async function executeProd(directory=_common.DIRECTORY,packages={},configuration={},registry=_common.REGISTRY,force=false){log('executeProd');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveProdSaveExact(directory,depsExact,registry,force);const deps=(0,_common.getDeps)(packages);if(deps.length)await installSaveProd(directory,deps,registry,force);}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.executeBundle=executeBundle;exports.executeDev=executeDev;exports.executeOptional=executeOptional;exports.executeProd=executeProd;exports.getInstallCommands=void 0;exports.getInstallSaveBundleCommands=getInstallSaveBundleCommands;exports.getInstallSaveBundleSaveExactCommands=getInstallSaveBundleSaveExactCommands;exports.getInstallSaveDevCommands=getInstallSaveDevCommands;exports.getInstallSaveDevSaveExactCommands=getInstallSaveDevSaveExactCommands;exports.getInstallSaveExactCommands=void 0;exports.getInstallSaveOptionalCommands=getInstallSaveOptionalCommands;exports.getInstallSaveOptionalSaveExactCommands=getInstallSaveOptionalSaveExactCommands;exports.getInstallSaveProdCommands=getInstallSaveProdCommands;exports.getInstallSaveProdSaveExactCommands=getInstallSaveProdSaveExactCommands;exports.installSaveBundle=installSaveBundle;exports.installSaveBundleSaveExact=installSaveBundleSaveExact;exports.installSaveDev=installSaveDev;exports.installSaveDevSaveExact=installSaveDevSaveExact;exports.installSaveOptional=installSaveOptional;exports.installSaveOptionalSaveExact=installSaveOptionalSaveExact;exports.installSaveProd=installSaveProd;exports.installSaveProdSaveExact=installSaveProdSaveExact;var _debug=_interopRequireDefault(require("debug"));var _child_process=require("child_process");var _env=require("./common/env");var _common=require("./common");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const log=(0,_debug.default)('@modernpoacher/deps');log(`\`deps\` (${_env.PLATFORM}) is awake`);const OPTIONS={maxBuffer:1024*2000};function use(key){const log=(0,_debug.default)(`@modernpoacher/deps:${key}`);return function use(v){const s=v.trim();if(s==='')return;return log(s);};}const getInstallSaveExactCommands=(p,r,f)=>{log('getInstallSaveExactCommands');const c=(0,_common.transform)(p);const commands=`npm i ${c}`;return(0,_common.normalise)((0,_common.getRegistryParameter)(r,(0,_common.getForceParameter)(f,(0,_common.getSaveExactParameter)(commands))));};exports.getInstallSaveExactCommands=getInstallSaveExactCommands;const getInstallCommands=(p,r,f)=>{log('getInstallCommands');const c=(0,_common.transform)(p);const commands=`npm i ${c}`;return(0,_common.normalise)((0,_common.getRegistryParameter)(r,(0,_common.getForceParameter)(f,commands)));};exports.getInstallCommands=getInstallCommands;function getInstallSaveBundleSaveExactCommands(p,r,f){log('getInstallSaveBundleSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveBundleParameter)(commands));}function getInstallSaveBundleCommands(p,r,f){log('getInstallSaveBundleCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveBundleParameter)(commands));}function getInstallSaveOptionalSaveExactCommands(p,r,f){log('getInstallSaveOptionalSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveOptionalParameter)(commands));}function getInstallSaveOptionalCommands(p,r,f){log('getInstallSaveOptionalCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveOptionalParameter)(commands));}function getInstallSaveDevSaveExactCommands(p,r,f){log('getInstallSaveDevSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveDevParameter)(commands));}function getInstallSaveDevCommands(p,r,f){log('getInstallSaveDevCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveDevParameter)(commands));}function getInstallSaveProdSaveExactCommands(p,r,f){log('getInstallSaveProdSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveProdParameter)(commands));}function getInstallSaveProdCommands(p,r,f){log('getInstallSaveProdCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalise)((0,_common.getSaveProdParameter)(commands));}function installSaveBundleSaveExact(d,p,r,f){log('installSaveBundleSaveExact');return new Promise((resolve,reject)=>{const log=use('install-save-bundle-save-exact');const commands=(0,_common.getCommands)(d,getInstallSaveBundleSaveExactCommands(p,r,f));log(commands);const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}function installSaveBundle(d,p,r,f){log('installSaveBundle');return new Promise((resolve,reject)=>{const log=use('install-save-bundle');const commands=(0,_common.getCommands)(d,getInstallSaveBundleCommands(p,r,f));log(commands);const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}function installSaveOptionalSaveExact(d,p,r,f){log('installSaveOptionalSaveExact');return new Promise((resolve,reject)=>{const log=use('install-save-otional-save-exact');const commands=(0,_common.getCommands)(d,getInstallSaveOptionalSaveExactCommands(p,r,f));log(commands);const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}function installSaveOptional(d,p,r,f){log('installSaveOptional');return new Promise((resolve,reject)=>{const log=use('install-save-otional');const commands=(0,_common.getCommands)(d,getInstallSaveOptionalCommands(p,r,f));log(commands);const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}function installSaveDevSaveExact(d,p,r,f){log('installSaveDevSaveExact');return new Promise((resolve,reject)=>{const log=use('install-save-dev-save-exact');const commands=(0,_common.getCommands)(d,getInstallSaveDevSaveExactCommands(p,r,f));log(commands);const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}function installSaveDev(d,p,r,f){log('installSaveDev');return new Promise((resolve,reject)=>{const log=use('install-save-dev');const commands=(0,_common.getCommands)(d,getInstallSaveDevCommands(p,r,f));log(commands);const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}function installSaveProdSaveExact(d,p,r,f){log('installSaveProdSaveExact');return new Promise((resolve,reject)=>{const log=use('install-save-prod-save-exact');const commands=(0,_common.getCommands)(d,getInstallSaveProdSaveExactCommands(p,r,f));log(commands);const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}function installSaveProd(d,p,r,f){log('installSaveProd');return new Promise((resolve,reject)=>{const log=use('install-save-prod');const commands=(0,_common.getCommands)(d,getInstallSaveProdCommands(p,r,f));log(commands);const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}async function executeBundle(directory=_common.DIRECTORY,packages={},configuration={},registry=_common.REGISTRY,force=false){log('executeBundle');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveBundleSaveExact(directory,depsExact,registry,force);const deps=(0,_common.getDeps)(packages);if(deps.length)await installSaveBundle(directory,deps,registry,force);}async function executeOptional(directory=_common.DIRECTORY,packages={},configuration={},registry=_common.REGISTRY,force=false){log('executeOptional');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveOptionalSaveExact(directory,depsExact,registry);const deps=(0,_common.getDeps)(packages);if(deps.length)await installSaveOptional(directory,deps,registry);}async function executeDev(directory=_common.DIRECTORY,packages={},configuration={},registry=_common.REGISTRY,force=false){log('executeDev');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveDevSaveExact(directory,depsExact,registry,force);const deps=(0,_common.getDeps)(packages);if(deps.length)await installSaveDev(directory,deps,registry,force);}async function executeProd(directory=_common.DIRECTORY,packages={},configuration={},registry=_common.REGISTRY,force=false){log('executeProd');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveProdSaveExact(directory,depsExact,registry,force);const deps=(0,_common.getDeps)(packages);if(deps.length)await installSaveProd(directory,deps,registry,force);}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.execute=execute;exports.getInstallSaveExactCommands=exports.getInstallCommands=void 0;exports.install=install;exports.installSaveExact=installSaveExact;var _debug=_interopRequireDefault(require("debug"));var _os=require("os");var _child_process=require("child_process");var _common=require("../common");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const log=(0,_debug.default)('@modernpoacher/deps:install');log(`\`install\` (${_os.platform}) is awake`);const getInstallSaveExactCommands=(p,s,r,f)=>{log('getInstallSaveExactCommands');const c=(0,_common.transform)(p);const commands=`npm i ${c}`;return(0,_common.normalise)((0,_common.getNoSaveParameter)(s,(0,_common.getRegistryParameter)(r,(0,_common.getForceParameter)(f,(0,_common.getSaveExactParameter)(commands)))));};exports.getInstallSaveExactCommands=getInstallSaveExactCommands;const getInstallCommands=(p,s,r,f)=>{log('getInstallCommands');const c=(0,_common.transform)(p);const commands=`npm i ${c}`;return(0,_common.normalise)((0,_common.getNoSaveParameter)(s,(0,_common.getRegistryParameter)(r,(0,_common.getForceParameter)(f,commands))));};exports.getInstallCommands=getInstallCommands;function installSaveExact(d,p,s,r,f){log('installSaveExact');return new Promise((resolve,reject)=>{const commands=(0,_common.getCommands)(d,getInstallSaveExactCommands(p,s,r,f));(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}function install(d,p,s,r,f){log('install');return new Promise((resolve,reject)=>{const commands=(0,_common.getCommands)(d,getInstallCommands(p,s,r,f));(0,_child_process.spawn)('/bin/bash',['-c',commands],{shell:true,stdio:'inherit'},function handleComplete(e){if(e){log(e);return reject(e);}return resolve();}).on('close',resolve).on('error',function handleError(e){log(e);reject(e);});});}async function execute(directory=_common.DIRECTORY,packages={},configuration={},save=false,registry=_common.REGISTRY,force=false){log('execute');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveExact(directory,depsExact,save,registry,force);const deps=(0,_common.getDeps)(packages);if(deps.length)await install(directory,deps,save,registry,force);}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.execute=execute;exports.getInstallSaveExactCommands=exports.getInstallCommands=void 0;exports.install=install;exports.installSaveExact=installSaveExact;var _debug=_interopRequireDefault(require("debug"));var _os=require("os");var _child_process=require("child_process");var _common=require("../common");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}const log=(0,_debug.default)('@modernpoacher/deps:install');log(`\`install\` (${_os.platform}) is awake`);const OPTIONS={maxBuffer:1024*2000};const getInstallSaveExactCommands=(p,s,r,f)=>{log('getInstallSaveExactCommands');const c=(0,_common.transform)(p);const commands=`npm i ${c}`;return(0,_common.normalise)((0,_common.getNoSaveParameter)(s,(0,_common.getRegistryParameter)(r,(0,_common.getForceParameter)(f,(0,_common.getSaveExactParameter)(commands)))));};exports.getInstallSaveExactCommands=getInstallSaveExactCommands;const getInstallCommands=(p,s,r,f)=>{log('getInstallCommands');const c=(0,_common.transform)(p);const commands=`npm i ${c}`;return(0,_common.normalise)((0,_common.getNoSaveParameter)(s,(0,_common.getRegistryParameter)(r,(0,_common.getForceParameter)(f,commands))));};exports.getInstallCommands=getInstallCommands;function installSaveExact(d,p,s,r,f){log('installSaveExact');return new Promise((resolve,reject)=>{const commands=(0,_common.getCommands)(d,getInstallSaveExactCommands(p,s,r,f));const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}function install(d,p,s,r,f){log('install');return new Promise((resolve,reject)=>{const commands=(0,_common.getCommands)(d,getInstallCommands(p,s,r,f));const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:d},(e,v)=>!e?resolve(v):reject(e));stdout.on('data',log);stderr.on('data',log);});}async function execute(directory=_common.DIRECTORY,packages={},configuration={},save=false,registry=_common.REGISTRY,force=false){log('execute');const depsExact=(0,_common.getDepsExact)(packages,configuration);if(depsExact.length)await installSaveExact(directory,depsExact,save,registry,force);const deps=(0,_common.getDeps)(packages);if(deps.length)await install(directory,deps,save,registry,force);}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modernpoacher/deps",
3
- "version": "1.5.8",
3
+ "version": "1.6.0",
4
4
  "description": "Update NPM package dependencies from the command line",
5
5
  "keywords": [
6
6
  "deps",
@@ -58,7 +58,7 @@
58
58
  },
59
59
  "devDependencies": {
60
60
  "@babel/cli": "^7.17.6",
61
- "@babel/core": "^7.17.8",
61
+ "@babel/core": "^7.17.9",
62
62
  "@babel/eslint-parser": "^7.17.0",
63
63
  "@babel/preset-env": "^7.16.11",
64
64
  "@babel/register": "^7.17.7",
@@ -69,7 +69,7 @@
69
69
  "eslint": "7.32.0",
70
70
  "eslint-config-standard": "^16.0.3",
71
71
  "eslint-import-resolver-babel-module": "^5.3.1",
72
- "eslint-plugin-import": "^2.25.4",
72
+ "eslint-plugin-import": "^2.26.0",
73
73
  "eslint-plugin-node": "^11.1.0",
74
74
  "eslint-plugin-promise": "5.2.0",
75
75
  "husky": "^7.0.4",
@@ -0,0 +1,15 @@
1
+ import debug from 'debug'
2
+
3
+ import {
4
+ platform
5
+ } from 'os'
6
+
7
+ const PLATFORM = platform()
8
+
9
+ const log = debug('@modernpoacher/deps')
10
+
11
+ log(`\`env\` (${PLATFORM}) is awake`)
12
+
13
+ export {
14
+ PLATFORM
15
+ }
@@ -1,20 +1,24 @@
1
1
  import debug from 'debug'
2
2
 
3
3
  import {
4
- platform
5
- } from 'os'
4
+ normalize
5
+ } from 'path'
6
6
 
7
7
  import {
8
8
  exec
9
9
  } from 'child_process'
10
10
 
11
+ import {
12
+ PLATFORM
13
+ } from '@modernpoacher/deps/common/env'
14
+
11
15
  const DIRECTORY = '.'
12
16
 
13
17
  const BRANCH = 'master'
14
18
 
15
19
  const ADD = 'package.json package-lock.json'
16
20
 
17
- const COMMIT = platform === 'win32'
21
+ const COMMIT = PLATFORM === 'win32'
18
22
  ? 'Updated `package.json` &/ `package-lock.json`'
19
23
  : 'Updated \\`package.json\\` &/ \\`package-lock.json\\`' /* eslint-disable-line no-useless-escape */
20
24
 
@@ -24,7 +28,7 @@ const OPTIONS = {
24
28
 
25
29
  const log = debug('@modernpoacher/deps')
26
30
 
27
- log(`\`git\` (${platform}) is awake`)
31
+ log(`\`git\` (${PLATFORM}) is awake`)
28
32
 
29
33
  const trim = (v) => v.split('\n').map((v) => v.trimEnd()).join('\n').trim()
30
34
 
@@ -91,7 +95,7 @@ const getErrorCode = ({ code = 0 } = {}) => code
91
95
  const getErrorMessage = ({ message = '' } = {}) => message
92
96
 
93
97
  /**
94
- * @function getCatGitRefsRemotesOriginHeadCommand
98
+ * @function getCatGitRefsRemotesOriginHeadCommands
95
99
  *
96
100
  * Compatible with MacOS and Windows
97
101
  *
@@ -99,11 +103,11 @@ const getErrorMessage = ({ message = '' } = {}) => message
99
103
  *
100
104
  * @return {String}
101
105
  */
102
- function getCatGitRefsRemotesOriginHeadCommand (directory = DIRECTORY) { /* eslint-disable no-useless-escape */
103
- log('getCatGitRefsRemotesOriginHeadCommand')
106
+ function getCatGitRefsRemotesOriginHeadCommands (directory = DIRECTORY) { /* eslint-disable no-useless-escape */
107
+ log('getCatGitRefsRemotesOriginHeadCommands')
104
108
 
105
109
  return `
106
- DIR=$(echo "${directory}/.git/refs/remotes/origin/HEAD" | sed -e "s/\\//\\\\\\/g" -e "s/://" | cat 2> /dev/null)
110
+ DIR=$(echo "${normalize(directory.concat('/.git/refs/remotes/origin/HEAD'))}" | sed -e "s/\\//\\\\\\/g" -e "s/://" | cat 2> /dev/null)
107
111
  [[ $DIR =~ "[-0-9a-zA-Z]*$" ]]
108
112
  echo "$\{BASH_REMATCH[0]}"
109
113
  ` /* eslint-enable no-useless-escape */
@@ -141,16 +145,17 @@ export function catGitRefsRemotesOriginHead (directory = DIRECTORY) {
141
145
 
142
146
  return (
143
147
  new Promise((resolve, reject) => {
144
- const command = getCatGitRefsRemotesOriginHeadCommand(directory)
148
+ // const log = use('cat-git-refs-remotes-origin-head')
149
+ const commands = getCatGitRefsRemotesOriginHeadCommands(directory)
145
150
 
146
151
  /**
147
- * log(command)
152
+ * log(commands)
148
153
  */
149
154
 
150
155
  const {
151
156
  stdout,
152
157
  stderr
153
- } = exec(command, { ...OPTIONS, cwd: directory }, (e, v = '') => (!e) ? resolve(trim(v)) : reject(e))
158
+ } = exec(commands, { ...OPTIONS, cwd: directory }, (e, v = '') => (!e) ? resolve(trim(v)) : reject(e))
154
159
 
155
160
  stdout.on('data', out('cat-git-refs-remotes-origin-head', directory.trim()))
156
161
  stderr.on('data', err('cat-git-refs-remotes-origin-head', directory.trim()))
@@ -172,16 +177,17 @@ export function gitRevParse (directory = DIRECTORY) {
172
177
 
173
178
  return (
174
179
  new Promise((resolve, reject) => {
175
- const command = 'git rev-parse --show-toplevel'
180
+ // const log = out('git-rev-parse')
181
+ const commands = 'git rev-parse --show-toplevel'
176
182
 
177
183
  /**
178
- * log(command)
184
+ * log(commands)
179
185
  */
180
186
 
181
187
  const {
182
188
  stdout,
183
189
  stderr
184
- } = exec(command, { ...OPTIONS, cwd: directory }, (e, v = '') => (!e) ? resolve(trim(v)) : reject(e))
190
+ } = exec(commands, { ...OPTIONS, cwd: directory }, (e, v = '') => (!e) ? resolve(trim(v)) : reject(e))
185
191
 
186
192
  stdout.on('data', out('git-rev-parse', directory.trim()))
187
193
  stderr.on('data', err('git-rev-parse', directory.trim()))
@@ -204,19 +210,20 @@ export function gitCheckout (directory = DIRECTORY, branch = BRANCH) {
204
210
 
205
211
  return (
206
212
  new Promise((resolve, reject) => {
207
- const command = `cd "${directory}" && git checkout ${branch}`
213
+ const log = use('git-checkout')
214
+ const commands = `cd "${normalize(directory)}" && git checkout ${branch}`
208
215
 
209
216
  /**
210
- * log(command)
217
+ * log(commands)
211
218
  */
212
219
 
213
220
  const {
214
221
  stdout,
215
222
  stderr
216
- } = exec(command, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
223
+ } = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
217
224
 
218
- stdout.on('data', use('git-checkout'))
219
- stderr.on('data', use('git-checkout'))
225
+ stdout.on('data', log)
226
+ stderr.on('data', log)
220
227
  })
221
228
  )
222
229
  }
@@ -235,19 +242,20 @@ export function gitPull (directory = DIRECTORY) {
235
242
 
236
243
  return (
237
244
  new Promise((resolve, reject) => {
238
- const command = `cd "${directory}" && git pull`
245
+ const log = use('git-pull')
246
+ const commands = `cd "${normalize(directory)}" && git pull`
239
247
 
240
248
  /**
241
- * log(command)
249
+ * log(commands)
242
250
  */
243
251
 
244
252
  const {
245
253
  stdout,
246
254
  stderr
247
- } = exec(command, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
255
+ } = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
248
256
 
249
- stdout.on('data', use('git-pull'))
250
- stderr.on('data', use('git-pull'))
257
+ stdout.on('data', log)
258
+ stderr.on('data', log)
251
259
  })
252
260
  )
253
261
  }
@@ -266,19 +274,20 @@ export function gitPush (directory = DIRECTORY) {
266
274
 
267
275
  return (
268
276
  new Promise((resolve, reject) => {
269
- const command = `cd "${directory}" && git push`
277
+ const log = use('git-push')
278
+ const commands = `cd "${normalize(directory)}" && git push`
270
279
 
271
280
  /**
272
- * log(command)
281
+ * log(commands)
273
282
  */
274
283
 
275
284
  const {
276
285
  stdout,
277
286
  stderr
278
- } = exec(command, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
287
+ } = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
279
288
 
280
- stdout.on('data', use('git-push'))
281
- stderr.on('data', use('git-push'))
289
+ stdout.on('data', log)
290
+ stderr.on('data', log)
282
291
  })
283
292
  )
284
293
  }
@@ -297,19 +306,20 @@ export function gitPushTags (directory = DIRECTORY) {
297
306
 
298
307
  return (
299
308
  new Promise((resolve, reject) => {
300
- const command = `cd "${directory}" && git push --tags`
309
+ const log = use('git-push-tags')
310
+ const commands = `cd "${normalize(directory)}" && git push --tags`
301
311
 
302
312
  /**
303
- * log(command)
313
+ * log(commands)
304
314
  */
305
315
 
306
316
  const {
307
317
  stdout,
308
318
  stderr
309
- } = exec(command, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
319
+ } = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
310
320
 
311
- stdout.on('data', use('git-push-tags'))
312
- stderr.on('data', use('git-push-tags'))
321
+ stdout.on('data', log)
322
+ stderr.on('data', log)
313
323
  })
314
324
  )
315
325
  }
@@ -329,19 +339,20 @@ export function gitAdd (directory = DIRECTORY, add = ADD) {
329
339
 
330
340
  return (
331
341
  new Promise((resolve, reject) => {
332
- const command = `cd "${directory}" && git add ${add}`
342
+ const log = use('git-add')
343
+ const commands = `cd "${normalize(directory)}" && git add ${add}`
333
344
 
334
345
  /**
335
- * log(command)
346
+ * log(commands)
336
347
  */
337
348
 
338
349
  const {
339
350
  stdout,
340
351
  stderr
341
- } = exec(command, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
352
+ } = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
342
353
 
343
- stdout.on('data', use('git-add'))
344
- stderr.on('data', use('git-add'))
354
+ stdout.on('data', log)
355
+ stderr.on('data', log)
345
356
  })
346
357
  )
347
358
  }
@@ -361,19 +372,20 @@ export function gitCommit (directory = DIRECTORY, commit = COMMIT) {
361
372
 
362
373
  return (
363
374
  new Promise((resolve, reject) => {
364
- const command = `cd "${directory}" && git commit -m "${commit}"`
375
+ const log = use('git-commit')
376
+ const commands = `cd "${normalize(directory)}" && git commit -m "${commit}"`
365
377
 
366
378
  /**
367
- * log(command)
379
+ * log(commands)
368
380
  */
369
381
 
370
382
  const {
371
383
  stdout,
372
384
  stderr
373
- } = exec(command, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
385
+ } = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
374
386
 
375
- stdout.on('data', use('git-commit'))
376
- stderr.on('data', use('git-commit'))
387
+ stdout.on('data', log)
388
+ stderr.on('data', log)
377
389
  })
378
390
  )
379
391
  }
@@ -1,16 +1,13 @@
1
1
  import debug from 'debug'
2
2
 
3
3
  import {
4
- platform
5
- } from 'os'
6
-
7
- import {
8
- resolve
4
+ resolve,
5
+ normalize
9
6
  } from 'path'
10
7
 
11
- const log = debug('@modernpoacher/deps')
12
-
13
- log(`\`common\` (${platform}) is awake`)
8
+ import {
9
+ PLATFORM
10
+ } from '@modernpoacher/deps/common/env'
14
11
 
15
12
  const {
16
13
  path: MODULE_PATH
@@ -22,6 +19,12 @@ export const REGISTRY = 'https://registry.npmjs.org'
22
19
 
23
20
  export const NVM = resolve(MODULE_PATH, '../../nvm.sh')
24
21
 
22
+ const log = debug('@modernpoacher/deps')
23
+
24
+ log(`\`common\` (${PLATFORM}) is awake`)
25
+
26
+ const tidy = (v) => v.replace(/\n\n/gm, String.fromCharCode(10)).trim()
27
+
25
28
  /**
26
29
  * @function getSaveProdParameter
27
30
  *
@@ -124,17 +127,18 @@ export const getSaveExactParameter = (commands) => commands.concat(' --save-exac
124
127
  *
125
128
  * @return {String}
126
129
  */
127
- export const getCommands = (directory = DIRECTORY, commands = 'npm i') => (`
128
- export PATH=/usr/local/bin:$PATH &> /dev/null
129
-
130
- cd "${directory}"
131
-
132
- . "${NVM}" 2> /dev/null
133
130
 
131
+ export const getCommands = PLATFORM === 'win32'
132
+ ? (directory = DIRECTORY, commands = 'npm i') => tidy(`
133
+ cd "${normalize(directory)}"
134
134
  ${commands}
135
-
136
- # exit 0
137
- `).replace(/\n\n/gm, String.fromCharCode(10)).trim()
135
+ `)
136
+ : (directory = DIRECTORY, commands = 'npm i') => tidy(`
137
+ export PATH=/usr/local/bin:$PATH &> /dev/null
138
+ cd "${normalize(directory)}"
139
+ . "${normalize(NVM)}" 2> /dev/null
140
+ ${commands}
141
+ `)
138
142
 
139
143
  /**
140
144
  * @function getProdDependencies
package/src/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import debug from 'debug'
2
2
 
3
3
  import {
4
- platform
5
- } from 'os'
4
+ exec
5
+ } from 'child_process'
6
6
 
7
7
  import {
8
- spawn
9
- } from 'child_process'
8
+ PLATFORM
9
+ } from './common/env'
10
10
 
11
11
  import {
12
12
  DIRECTORY,
@@ -27,7 +27,11 @@ import {
27
27
 
28
28
  const log = debug('@modernpoacher/deps')
29
29
 
30
- log(`\`deps\` (${platform}) is awake`)
30
+ log(`\`deps\` (${PLATFORM}) is awake`)
31
+
32
+ const OPTIONS = {
33
+ maxBuffer: 1024 * 2000
34
+ }
31
35
 
32
36
  function use (key) {
33
37
  const log = debug(`@modernpoacher/deps:${key}`)
@@ -277,25 +281,13 @@ export function installSaveBundleSaveExact (d, p, r, f) {
277
281
 
278
282
  log(commands)
279
283
 
280
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
281
- if (e) {
282
- log(e)
283
-
284
- return (
285
- reject(e)
286
- )
287
- }
288
-
289
- return (
290
- resolve()
291
- )
292
- })
293
- .on('close', resolve)
294
- .on('error', function handleError (e) {
295
- log(e)
296
-
297
- reject(e)
298
- })
284
+ const {
285
+ stdout,
286
+ stderr
287
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
288
+
289
+ stdout.on('data', log)
290
+ stderr.on('data', log)
299
291
  })
300
292
  )
301
293
  }
@@ -322,25 +314,13 @@ export function installSaveBundle (d, p, r, f) {
322
314
 
323
315
  log(commands)
324
316
 
325
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
326
- if (e) {
327
- log(e)
328
-
329
- return (
330
- reject(e)
331
- )
332
- }
333
-
334
- return (
335
- resolve()
336
- )
337
- })
338
- .on('close', resolve)
339
- .on('error', function handleError (e) {
340
- log(e)
341
-
342
- reject(e)
343
- })
317
+ const {
318
+ stdout,
319
+ stderr
320
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
321
+
322
+ stdout.on('data', log)
323
+ stderr.on('data', log)
344
324
  })
345
325
  )
346
326
  }
@@ -367,25 +347,13 @@ export function installSaveOptionalSaveExact (d, p, r, f) {
367
347
 
368
348
  log(commands)
369
349
 
370
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
371
- if (e) {
372
- log(e)
373
-
374
- return (
375
- reject(e)
376
- )
377
- }
378
-
379
- return (
380
- resolve()
381
- )
382
- })
383
- .on('close', resolve)
384
- .on('error', function handleError (e) {
385
- log(e)
386
-
387
- reject(e)
388
- })
350
+ const {
351
+ stdout,
352
+ stderr
353
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
354
+
355
+ stdout.on('data', log)
356
+ stderr.on('data', log)
389
357
  })
390
358
  )
391
359
  }
@@ -412,25 +380,13 @@ export function installSaveOptional (d, p, r, f) {
412
380
 
413
381
  log(commands)
414
382
 
415
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
416
- if (e) {
417
- log(e)
418
-
419
- return (
420
- reject(e)
421
- )
422
- }
423
-
424
- return (
425
- resolve()
426
- )
427
- })
428
- .on('close', resolve)
429
- .on('error', function handleError (e) {
430
- log(e)
431
-
432
- reject(e)
433
- })
383
+ const {
384
+ stdout,
385
+ stderr
386
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
387
+
388
+ stdout.on('data', log)
389
+ stderr.on('data', log)
434
390
  })
435
391
  )
436
392
  }
@@ -457,25 +413,13 @@ export function installSaveDevSaveExact (d, p, r, f) {
457
413
 
458
414
  log(commands)
459
415
 
460
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
461
- if (e) {
462
- log(e)
463
-
464
- return (
465
- reject(e)
466
- )
467
- }
468
-
469
- return (
470
- resolve()
471
- )
472
- })
473
- .on('close', resolve)
474
- .on('error', function handleError (e) {
475
- log(e)
476
-
477
- reject(e)
478
- })
416
+ const {
417
+ stdout,
418
+ stderr
419
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
420
+
421
+ stdout.on('data', log)
422
+ stderr.on('data', log)
479
423
  })
480
424
  )
481
425
  }
@@ -502,25 +446,13 @@ export function installSaveDev (d, p, r, f) {
502
446
 
503
447
  log(commands)
504
448
 
505
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
506
- if (e) {
507
- log(e)
508
-
509
- return (
510
- reject(e)
511
- )
512
- }
513
-
514
- return (
515
- resolve()
516
- )
517
- })
518
- .on('close', resolve)
519
- .on('error', function handleError (e) {
520
- log(e)
521
-
522
- reject(e)
523
- })
449
+ const {
450
+ stdout,
451
+ stderr
452
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
453
+
454
+ stdout.on('data', log)
455
+ stderr.on('data', log)
524
456
  })
525
457
  )
526
458
  }
@@ -547,25 +479,13 @@ export function installSaveProdSaveExact (d, p, r, f) {
547
479
 
548
480
  log(commands)
549
481
 
550
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
551
- if (e) {
552
- log(e)
553
-
554
- return (
555
- reject(e)
556
- )
557
- }
558
-
559
- return (
560
- resolve()
561
- )
562
- })
563
- .on('close', resolve)
564
- .on('error', function handleError (e) {
565
- log(e)
566
-
567
- reject(e)
568
- })
482
+ const {
483
+ stdout,
484
+ stderr
485
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
486
+
487
+ stdout.on('data', log)
488
+ stderr.on('data', log)
569
489
  })
570
490
  )
571
491
  }
@@ -592,25 +512,13 @@ export function installSaveProd (d, p, r, f) {
592
512
 
593
513
  log(commands)
594
514
 
595
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
596
- if (e) {
597
- log(e)
598
-
599
- return (
600
- reject(e)
601
- )
602
- }
603
-
604
- return (
605
- resolve()
606
- )
607
- })
608
- .on('close', resolve)
609
- .on('error', function handleError (e) {
610
- log(e)
611
-
612
- reject(e)
613
- })
515
+ const {
516
+ stdout,
517
+ stderr
518
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
519
+
520
+ stdout.on('data', log)
521
+ stderr.on('data', log)
614
522
  })
615
523
  )
616
524
  }
@@ -5,7 +5,7 @@ import {
5
5
  } from 'os'
6
6
 
7
7
  import {
8
- spawn
8
+ exec
9
9
  } from 'child_process'
10
10
 
11
11
  import {
@@ -26,6 +26,10 @@ const log = debug('@modernpoacher/deps:install')
26
26
 
27
27
  log(`\`install\` (${platform}) is awake`)
28
28
 
29
+ const OPTIONS = {
30
+ maxBuffer: 1024 * 2000
31
+ }
32
+
29
33
  /**
30
34
  * @function getInstallSaveExactCommands
31
35
  *
@@ -92,25 +96,13 @@ export function installSaveExact (d, p, s, r, f) {
92
96
  new Promise((resolve, reject) => {
93
97
  const commands = getCommands(d, getInstallSaveExactCommands(p, s, r, f))
94
98
 
95
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
96
- if (e) {
97
- log(e)
98
-
99
- return (
100
- reject(e)
101
- )
102
- }
103
-
104
- return (
105
- resolve()
106
- )
107
- })
108
- .on('close', resolve)
109
- .on('error', function handleError (e) {
110
- log(e)
111
-
112
- reject(e)
113
- })
99
+ const {
100
+ stdout,
101
+ stderr
102
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
103
+
104
+ stdout.on('data', log)
105
+ stderr.on('data', log)
114
106
  })
115
107
  )
116
108
  }
@@ -135,25 +127,13 @@ export function install (d, p, s, r, f) {
135
127
  new Promise((resolve, reject) => {
136
128
  const commands = getCommands(d, getInstallCommands(p, s, r, f))
137
129
 
138
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, function handleComplete (e) {
139
- if (e) {
140
- log(e)
141
-
142
- return (
143
- reject(e)
144
- )
145
- }
146
-
147
- return (
148
- resolve()
149
- )
150
- })
151
- .on('close', resolve)
152
- .on('error', function handleError (e) {
153
- log(e)
154
-
155
- reject(e)
156
- })
130
+ const {
131
+ stdout,
132
+ stderr
133
+ } = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
134
+
135
+ stdout.on('data', log)
136
+ stderr.on('data', log)
157
137
  })
158
138
  )
159
139
  }