@modernpoacher/deps 1.5.9 → 1.6.1

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
+ del /q 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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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'},e=>!e?resolve():reject(e)).on('close',resolve).on('error',reject);});}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.9",
3
+ "version": "1.6.1",
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,9 +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' }, (e) => (!e) ? resolve() : reject(e))
281
- .on('close', resolve)
282
- .on('error', reject)
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)
283
291
  })
284
292
  )
285
293
  }
@@ -306,9 +314,13 @@ export function installSaveBundle (d, p, r, f) {
306
314
 
307
315
  log(commands)
308
316
 
309
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, (e) => (!e) ? resolve() : reject(e))
310
- .on('close', resolve)
311
- .on('error', reject)
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)
312
324
  })
313
325
  )
314
326
  }
@@ -335,9 +347,13 @@ export function installSaveOptionalSaveExact (d, p, r, f) {
335
347
 
336
348
  log(commands)
337
349
 
338
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, (e) => (!e) ? resolve() : reject(e))
339
- .on('close', resolve)
340
- .on('error', reject)
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)
341
357
  })
342
358
  )
343
359
  }
@@ -364,9 +380,13 @@ export function installSaveOptional (d, p, r, f) {
364
380
 
365
381
  log(commands)
366
382
 
367
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, (e) => (!e) ? resolve() : reject(e))
368
- .on('close', resolve)
369
- .on('error', reject)
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)
370
390
  })
371
391
  )
372
392
  }
@@ -393,9 +413,13 @@ export function installSaveDevSaveExact (d, p, r, f) {
393
413
 
394
414
  log(commands)
395
415
 
396
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, (e) => (!e) ? resolve() : reject(e))
397
- .on('close', resolve)
398
- .on('error', reject)
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)
399
423
  })
400
424
  )
401
425
  }
@@ -422,9 +446,13 @@ export function installSaveDev (d, p, r, f) {
422
446
 
423
447
  log(commands)
424
448
 
425
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, (e) => (!e) ? resolve() : reject(e))
426
- .on('close', resolve)
427
- .on('error', reject)
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)
428
456
  })
429
457
  )
430
458
  }
@@ -451,9 +479,13 @@ export function installSaveProdSaveExact (d, p, r, f) {
451
479
 
452
480
  log(commands)
453
481
 
454
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, (e) => (!e) ? resolve() : reject(e))
455
- .on('close', resolve)
456
- .on('error', reject)
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)
457
489
  })
458
490
  )
459
491
  }
@@ -480,9 +512,13 @@ export function installSaveProd (d, p, r, f) {
480
512
 
481
513
  log(commands)
482
514
 
483
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, (e) => (!e) ? resolve() : reject(e))
484
- .on('close', resolve)
485
- .on('error', reject)
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)
486
522
  })
487
523
  )
488
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,9 +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' }, (e) => (!e) ? resolve() : reject(e))
96
- .on('close', resolve)
97
- .on('error', reject)
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)
98
106
  })
99
107
  )
100
108
  }
@@ -119,9 +127,13 @@ export function install (d, p, s, r, f) {
119
127
  new Promise((resolve, reject) => {
120
128
  const commands = getCommands(d, getInstallCommands(p, s, r, f))
121
129
 
122
- spawn('/bin/bash', ['-c', commands], { shell: true, stdio: 'inherit' }, (e) => (!e) ? resolve() : reject(e))
123
- .on('close', resolve)
124
- .on('error', reject)
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)
125
137
  })
126
138
  )
127
139
  }