@modernpoacher/deps 1.5.10 → 1.6.2
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/common/index.js +29 -22
- package/lib/common/git/index.js +3 -3
- package/lib/common/index.js +2 -8
- package/lib/index.js +1 -1
- package/lib/install/index.js +1 -1
- package/package.json +3 -3
- package/src/common/git/index.js +35 -29
- package/src/common/index.js +9 -10
- package/src/index.js +78 -36
- package/src/install/index.js +26 -10
- package/test/common/index.spec.js +3 -3
package/bin/common/index.js
CHANGED
|
@@ -10,7 +10,8 @@ const {
|
|
|
10
10
|
|
|
11
11
|
const {
|
|
12
12
|
resolve,
|
|
13
|
-
relative
|
|
13
|
+
relative,
|
|
14
|
+
normalize
|
|
14
15
|
} = require('path')
|
|
15
16
|
|
|
16
17
|
const {
|
|
@@ -47,38 +48,44 @@ 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
|
|
51
|
+
const tidy = (v) => v.replace(/\n\n/gm, String.fromCharCode(10)).trim()
|
|
51
52
|
|
|
52
|
-
const
|
|
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 =
|
|
57
|
-
|
|
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 =
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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 =
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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) {
|
package/lib/common/git/index.js
CHANGED
|
@@ -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 _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
|
|
2
|
-
DIR=$(echo "
|
|
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,shell:true,stdio:'inherit'};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 "./.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
|
|
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:(0,_path.normalize)(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:(0,_path.normalize)(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=`git checkout ${branch}`;const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:(0,_path.normalize)(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='git pull';const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:(0,_path.normalize)(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='git push';const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:(0,_path.normalize)(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='git push --tags';const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:(0,_path.normalize)(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=`git add ${add}`;const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:(0,_path.normalize)(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=`git commit -m "${commit}"`;const{stdout,stderr}=(0,_child_process.exec)(commands,{...OPTIONS,cwd:(0,_path.normalize)(directory)},(e,v)=>e?isCommandError(e)?resolve(v):reject(e):resolve(v));stdout.on('data',log);stderr.on('data',log);});}
|
package/lib/common/index.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
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.
|
|
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.normalizeCommands=normalizeCommands;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(commands):(directory=DIRECTORY,commands='npm i')=>tidy(`
|
|
2
2
|
export PATH=/usr/local/bin:$PATH &> /dev/null
|
|
3
|
-
|
|
4
|
-
cd "${directory}"
|
|
5
|
-
|
|
6
3
|
. "${NVM}" 2> /dev/null
|
|
7
|
-
|
|
8
4
|
${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);}
|
|
5
|
+
`);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 normalizeCommands(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 _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`);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.
|
|
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 _path=require("path");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,shell:true,stdio:'inherit'};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.normalizeCommands)((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.normalizeCommands)((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.normalizeCommands)((0,_common.getSaveBundleParameter)(commands));}function getInstallSaveBundleCommands(p,r,f){log('getInstallSaveBundleCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalizeCommands)((0,_common.getSaveBundleParameter)(commands));}function getInstallSaveOptionalSaveExactCommands(p,r,f){log('getInstallSaveOptionalSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalizeCommands)((0,_common.getSaveOptionalParameter)(commands));}function getInstallSaveOptionalCommands(p,r,f){log('getInstallSaveOptionalCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalizeCommands)((0,_common.getSaveOptionalParameter)(commands));}function getInstallSaveDevSaveExactCommands(p,r,f){log('getInstallSaveDevSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalizeCommands)((0,_common.getSaveDevParameter)(commands));}function getInstallSaveDevCommands(p,r,f){log('getInstallSaveDevCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalizeCommands)((0,_common.getSaveDevParameter)(commands));}function getInstallSaveProdSaveExactCommands(p,r,f){log('getInstallSaveProdSaveExactCommands');const commands=getInstallSaveExactCommands(p,r,f);return(0,_common.normalizeCommands)((0,_common.getSaveProdParameter)(commands));}function getInstallSaveProdCommands(p,r,f){log('getInstallSaveProdCommands');const commands=getInstallCommands(p,r,f);return(0,_common.normalizeCommands)((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:(0,_path.normalize)(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:(0,_path.normalize)(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:(0,_path.normalize)(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:(0,_path.normalize)(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:(0,_path.normalize)(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:(0,_path.normalize)(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:(0,_path.normalize)(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:(0,_path.normalize)(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);}
|
package/lib/install/index.js
CHANGED
|
@@ -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.
|
|
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 _path=require("path");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.normalizeCommands)((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.normalizeCommands)((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:(0,_path.normalize)(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:(0,_path.normalize)(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.
|
|
3
|
+
"version": "1.6.2",
|
|
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.
|
|
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.
|
|
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",
|
package/src/common/git/index.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import debug from 'debug'
|
|
2
2
|
|
|
3
|
+
import {
|
|
4
|
+
normalize
|
|
5
|
+
} from 'path'
|
|
6
|
+
|
|
3
7
|
import {
|
|
4
8
|
exec
|
|
5
9
|
} from 'child_process'
|
|
@@ -19,7 +23,9 @@ const COMMIT = PLATFORM === 'win32'
|
|
|
19
23
|
: 'Updated \\`package.json\\` &/ \\`package-lock.json\\`' /* eslint-disable-line no-useless-escape */
|
|
20
24
|
|
|
21
25
|
const OPTIONS = {
|
|
22
|
-
maxBuffer: 1024 * 2000
|
|
26
|
+
maxBuffer: 1024 * 2000,
|
|
27
|
+
shell: true,
|
|
28
|
+
stdio: 'inherit'
|
|
23
29
|
}
|
|
24
30
|
|
|
25
31
|
const log = debug('@modernpoacher/deps')
|
|
@@ -91,7 +97,7 @@ const getErrorCode = ({ code = 0 } = {}) => code
|
|
|
91
97
|
const getErrorMessage = ({ message = '' } = {}) => message
|
|
92
98
|
|
|
93
99
|
/**
|
|
94
|
-
* @function
|
|
100
|
+
* @function getCatGitRefsRemotesOriginHeadCommands
|
|
95
101
|
*
|
|
96
102
|
* Compatible with MacOS and Windows
|
|
97
103
|
*
|
|
@@ -99,11 +105,11 @@ const getErrorMessage = ({ message = '' } = {}) => message
|
|
|
99
105
|
*
|
|
100
106
|
* @return {String}
|
|
101
107
|
*/
|
|
102
|
-
function
|
|
103
|
-
log('
|
|
108
|
+
function getCatGitRefsRemotesOriginHeadCommands (directory = DIRECTORY) { /* eslint-disable no-useless-escape */
|
|
109
|
+
log('getCatGitRefsRemotesOriginHeadCommands')
|
|
104
110
|
|
|
105
111
|
return `
|
|
106
|
-
DIR=$(echo "
|
|
112
|
+
DIR=$(echo "./.git/refs/remotes/origin/HEAD'" | sed -e "s/\\//\\\\\\/g" -e "s/://" | cat 2> /dev/null)
|
|
107
113
|
[[ $DIR =~ "[-0-9a-zA-Z]*$" ]]
|
|
108
114
|
echo "$\{BASH_REMATCH[0]}"
|
|
109
115
|
` /* eslint-enable no-useless-escape */
|
|
@@ -142,16 +148,16 @@ export function catGitRefsRemotesOriginHead (directory = DIRECTORY) {
|
|
|
142
148
|
return (
|
|
143
149
|
new Promise((resolve, reject) => {
|
|
144
150
|
// const log = use('cat-git-refs-remotes-origin-head')
|
|
145
|
-
const
|
|
151
|
+
const commands = getCatGitRefsRemotesOriginHeadCommands(directory)
|
|
146
152
|
|
|
147
153
|
/**
|
|
148
|
-
* log(
|
|
154
|
+
* log(commands)
|
|
149
155
|
*/
|
|
150
156
|
|
|
151
157
|
const {
|
|
152
158
|
stdout,
|
|
153
159
|
stderr
|
|
154
|
-
} = exec(
|
|
160
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(directory) }, (e, v = '') => (!e) ? resolve(trim(v)) : reject(e))
|
|
155
161
|
|
|
156
162
|
stdout.on('data', out('cat-git-refs-remotes-origin-head', directory.trim()))
|
|
157
163
|
stderr.on('data', err('cat-git-refs-remotes-origin-head', directory.trim()))
|
|
@@ -174,16 +180,16 @@ export function gitRevParse (directory = DIRECTORY) {
|
|
|
174
180
|
return (
|
|
175
181
|
new Promise((resolve, reject) => {
|
|
176
182
|
// const log = out('git-rev-parse')
|
|
177
|
-
const
|
|
183
|
+
const commands = 'git rev-parse --show-toplevel'
|
|
178
184
|
|
|
179
185
|
/**
|
|
180
|
-
* log(
|
|
186
|
+
* log(commands)
|
|
181
187
|
*/
|
|
182
188
|
|
|
183
189
|
const {
|
|
184
190
|
stdout,
|
|
185
191
|
stderr
|
|
186
|
-
} = exec(
|
|
192
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(directory) }, (e, v = '') => (!e) ? resolve(trim(v)) : reject(e))
|
|
187
193
|
|
|
188
194
|
stdout.on('data', out('git-rev-parse', directory.trim()))
|
|
189
195
|
stderr.on('data', err('git-rev-parse', directory.trim()))
|
|
@@ -207,16 +213,16 @@ export function gitCheckout (directory = DIRECTORY, branch = BRANCH) {
|
|
|
207
213
|
return (
|
|
208
214
|
new Promise((resolve, reject) => {
|
|
209
215
|
const log = use('git-checkout')
|
|
210
|
-
const
|
|
216
|
+
const commands = `git checkout ${branch}`
|
|
211
217
|
|
|
212
218
|
/**
|
|
213
|
-
* log(
|
|
219
|
+
* log(commands)
|
|
214
220
|
*/
|
|
215
221
|
|
|
216
222
|
const {
|
|
217
223
|
stdout,
|
|
218
224
|
stderr
|
|
219
|
-
} = exec(
|
|
225
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(directory) }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
220
226
|
|
|
221
227
|
stdout.on('data', log)
|
|
222
228
|
stderr.on('data', log)
|
|
@@ -239,16 +245,16 @@ export function gitPull (directory = DIRECTORY) {
|
|
|
239
245
|
return (
|
|
240
246
|
new Promise((resolve, reject) => {
|
|
241
247
|
const log = use('git-pull')
|
|
242
|
-
const
|
|
248
|
+
const commands = 'git pull'
|
|
243
249
|
|
|
244
250
|
/**
|
|
245
|
-
* log(
|
|
251
|
+
* log(commands)
|
|
246
252
|
*/
|
|
247
253
|
|
|
248
254
|
const {
|
|
249
255
|
stdout,
|
|
250
256
|
stderr
|
|
251
|
-
} = exec(
|
|
257
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(directory) }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
252
258
|
|
|
253
259
|
stdout.on('data', log)
|
|
254
260
|
stderr.on('data', log)
|
|
@@ -271,16 +277,16 @@ export function gitPush (directory = DIRECTORY) {
|
|
|
271
277
|
return (
|
|
272
278
|
new Promise((resolve, reject) => {
|
|
273
279
|
const log = use('git-push')
|
|
274
|
-
const
|
|
280
|
+
const commands = 'git push'
|
|
275
281
|
|
|
276
282
|
/**
|
|
277
|
-
* log(
|
|
283
|
+
* log(commands)
|
|
278
284
|
*/
|
|
279
285
|
|
|
280
286
|
const {
|
|
281
287
|
stdout,
|
|
282
288
|
stderr
|
|
283
|
-
} = exec(
|
|
289
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(directory) }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
284
290
|
|
|
285
291
|
stdout.on('data', log)
|
|
286
292
|
stderr.on('data', log)
|
|
@@ -303,16 +309,16 @@ export function gitPushTags (directory = DIRECTORY) {
|
|
|
303
309
|
return (
|
|
304
310
|
new Promise((resolve, reject) => {
|
|
305
311
|
const log = use('git-push-tags')
|
|
306
|
-
const
|
|
312
|
+
const commands = 'git push --tags'
|
|
307
313
|
|
|
308
314
|
/**
|
|
309
|
-
* log(
|
|
315
|
+
* log(commands)
|
|
310
316
|
*/
|
|
311
317
|
|
|
312
318
|
const {
|
|
313
319
|
stdout,
|
|
314
320
|
stderr
|
|
315
|
-
} = exec(
|
|
321
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(directory) }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
316
322
|
|
|
317
323
|
stdout.on('data', log)
|
|
318
324
|
stderr.on('data', log)
|
|
@@ -336,16 +342,16 @@ export function gitAdd (directory = DIRECTORY, add = ADD) {
|
|
|
336
342
|
return (
|
|
337
343
|
new Promise((resolve, reject) => {
|
|
338
344
|
const log = use('git-add')
|
|
339
|
-
const
|
|
345
|
+
const commands = `git add ${add}`
|
|
340
346
|
|
|
341
347
|
/**
|
|
342
|
-
* log(
|
|
348
|
+
* log(commands)
|
|
343
349
|
*/
|
|
344
350
|
|
|
345
351
|
const {
|
|
346
352
|
stdout,
|
|
347
353
|
stderr
|
|
348
|
-
} = exec(
|
|
354
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(directory) }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
349
355
|
|
|
350
356
|
stdout.on('data', log)
|
|
351
357
|
stderr.on('data', log)
|
|
@@ -369,16 +375,16 @@ export function gitCommit (directory = DIRECTORY, commit = COMMIT) {
|
|
|
369
375
|
return (
|
|
370
376
|
new Promise((resolve, reject) => {
|
|
371
377
|
const log = use('git-commit')
|
|
372
|
-
const
|
|
378
|
+
const commands = `git commit -m "${commit}"`
|
|
373
379
|
|
|
374
380
|
/**
|
|
375
|
-
* log(
|
|
381
|
+
* log(commands)
|
|
376
382
|
*/
|
|
377
383
|
|
|
378
384
|
const {
|
|
379
385
|
stdout,
|
|
380
386
|
stderr
|
|
381
|
-
} = exec(
|
|
387
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(directory) }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
382
388
|
|
|
383
389
|
stdout.on('data', log)
|
|
384
390
|
stderr.on('data', log)
|
package/src/common/index.js
CHANGED
|
@@ -22,6 +22,8 @@ const log = debug('@modernpoacher/deps')
|
|
|
22
22
|
|
|
23
23
|
log(`\`common\` (${PLATFORM}) is awake`)
|
|
24
24
|
|
|
25
|
+
const tidy = (v) => v.replace(/\n\n/gm, String.fromCharCode(10)).trim()
|
|
26
|
+
|
|
25
27
|
/**
|
|
26
28
|
* @function getSaveProdParameter
|
|
27
29
|
*
|
|
@@ -124,17 +126,14 @@ export const getSaveExactParameter = (commands) => commands.concat(' --save-exac
|
|
|
124
126
|
*
|
|
125
127
|
* @return {String}
|
|
126
128
|
*/
|
|
127
|
-
export const getCommands = (directory = DIRECTORY, commands = 'npm i') => (`
|
|
128
|
-
export PATH=/usr/local/bin:$PATH &> /dev/null
|
|
129
|
-
|
|
130
|
-
cd "${directory}"
|
|
131
129
|
|
|
130
|
+
export const getCommands = PLATFORM === 'win32'
|
|
131
|
+
? (directory = DIRECTORY, commands = 'npm i') => tidy(commands)
|
|
132
|
+
: (directory = DIRECTORY, commands = 'npm i') => tidy(`
|
|
133
|
+
export PATH=/usr/local/bin:$PATH &> /dev/null
|
|
132
134
|
. "${NVM}" 2> /dev/null
|
|
133
|
-
|
|
134
135
|
${commands}
|
|
135
|
-
|
|
136
|
-
exit 0
|
|
137
|
-
`).replace(/\n\n/gm, String.fromCharCode(10)).trim()
|
|
136
|
+
`)
|
|
138
137
|
|
|
139
138
|
/**
|
|
140
139
|
* @function getProdDependencies
|
|
@@ -261,7 +260,7 @@ export function getDeps (values) {
|
|
|
261
260
|
}
|
|
262
261
|
|
|
263
262
|
/**
|
|
264
|
-
* @function
|
|
263
|
+
* @function normalizeCommands
|
|
265
264
|
*
|
|
266
265
|
* Normalise the commands string
|
|
267
266
|
*
|
|
@@ -269,7 +268,7 @@ export function getDeps (values) {
|
|
|
269
268
|
*
|
|
270
269
|
* @return {String}
|
|
271
270
|
*/
|
|
272
|
-
export function
|
|
271
|
+
export function normalizeCommands (value) {
|
|
273
272
|
while (/\s\s|\n/.test(value)) {
|
|
274
273
|
value = value.replace(/\s\s/gm, String.fromCharCode(32)).replace(/\n/gm, String.fromCharCode(32))
|
|
275
274
|
}
|
package/src/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import debug from 'debug'
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
|
|
4
|
+
normalize
|
|
5
|
+
} from 'path'
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
exec
|
|
5
9
|
} from 'child_process'
|
|
6
10
|
|
|
7
11
|
import {
|
|
@@ -19,7 +23,7 @@ import {
|
|
|
19
23
|
getSaveDevParameter,
|
|
20
24
|
getSaveProdParameter,
|
|
21
25
|
getCommands,
|
|
22
|
-
|
|
26
|
+
normalizeCommands,
|
|
23
27
|
transform,
|
|
24
28
|
getDepsExact,
|
|
25
29
|
getDeps
|
|
@@ -29,6 +33,12 @@ const log = debug('@modernpoacher/deps')
|
|
|
29
33
|
|
|
30
34
|
log(`\`deps\` (${PLATFORM}) is awake`)
|
|
31
35
|
|
|
36
|
+
const OPTIONS = {
|
|
37
|
+
maxBuffer: 1024 * 2000,
|
|
38
|
+
shell: true,
|
|
39
|
+
stdio: 'inherit'
|
|
40
|
+
}
|
|
41
|
+
|
|
32
42
|
function use (key) {
|
|
33
43
|
const log = debug(`@modernpoacher/deps:${key}`)
|
|
34
44
|
|
|
@@ -60,7 +70,7 @@ export const getInstallSaveExactCommands = (p, r, f) => {
|
|
|
60
70
|
const c = transform(p)
|
|
61
71
|
const commands = `npm i ${c}`
|
|
62
72
|
|
|
63
|
-
return
|
|
73
|
+
return normalizeCommands(
|
|
64
74
|
getRegistryParameter(r, getForceParameter(f, getSaveExactParameter(commands)))
|
|
65
75
|
)
|
|
66
76
|
}
|
|
@@ -82,7 +92,7 @@ export const getInstallCommands = (p, r, f) => {
|
|
|
82
92
|
const c = transform(p)
|
|
83
93
|
const commands = `npm i ${c}`
|
|
84
94
|
|
|
85
|
-
return
|
|
95
|
+
return normalizeCommands(
|
|
86
96
|
getRegistryParameter(r, getForceParameter(f, commands))
|
|
87
97
|
)
|
|
88
98
|
}
|
|
@@ -103,7 +113,7 @@ export function getInstallSaveBundleSaveExactCommands (p, r, f) {
|
|
|
103
113
|
|
|
104
114
|
const commands = getInstallSaveExactCommands(p, r, f)
|
|
105
115
|
|
|
106
|
-
return
|
|
116
|
+
return normalizeCommands(
|
|
107
117
|
getSaveBundleParameter(commands)
|
|
108
118
|
)
|
|
109
119
|
}
|
|
@@ -124,7 +134,7 @@ export function getInstallSaveBundleCommands (p, r, f) {
|
|
|
124
134
|
|
|
125
135
|
const commands = getInstallCommands(p, r, f)
|
|
126
136
|
|
|
127
|
-
return
|
|
137
|
+
return normalizeCommands(
|
|
128
138
|
getSaveBundleParameter(commands)
|
|
129
139
|
)
|
|
130
140
|
}
|
|
@@ -145,7 +155,7 @@ export function getInstallSaveOptionalSaveExactCommands (p, r, f) {
|
|
|
145
155
|
|
|
146
156
|
const commands = getInstallSaveExactCommands(p, r, f)
|
|
147
157
|
|
|
148
|
-
return
|
|
158
|
+
return normalizeCommands(
|
|
149
159
|
getSaveOptionalParameter(commands)
|
|
150
160
|
)
|
|
151
161
|
}
|
|
@@ -166,7 +176,7 @@ export function getInstallSaveOptionalCommands (p, r, f) {
|
|
|
166
176
|
|
|
167
177
|
const commands = getInstallCommands(p, r, f)
|
|
168
178
|
|
|
169
|
-
return
|
|
179
|
+
return normalizeCommands(
|
|
170
180
|
getSaveOptionalParameter(commands)
|
|
171
181
|
)
|
|
172
182
|
}
|
|
@@ -187,7 +197,7 @@ export function getInstallSaveDevSaveExactCommands (p, r, f) {
|
|
|
187
197
|
|
|
188
198
|
const commands = getInstallSaveExactCommands(p, r, f)
|
|
189
199
|
|
|
190
|
-
return
|
|
200
|
+
return normalizeCommands(
|
|
191
201
|
getSaveDevParameter(commands)
|
|
192
202
|
)
|
|
193
203
|
}
|
|
@@ -208,7 +218,7 @@ export function getInstallSaveDevCommands (p, r, f) {
|
|
|
208
218
|
|
|
209
219
|
const commands = getInstallCommands(p, r, f)
|
|
210
220
|
|
|
211
|
-
return
|
|
221
|
+
return normalizeCommands(
|
|
212
222
|
getSaveDevParameter(commands)
|
|
213
223
|
)
|
|
214
224
|
}
|
|
@@ -229,7 +239,7 @@ export function getInstallSaveProdSaveExactCommands (p, r, f) {
|
|
|
229
239
|
|
|
230
240
|
const commands = getInstallSaveExactCommands(p, r, f)
|
|
231
241
|
|
|
232
|
-
return
|
|
242
|
+
return normalizeCommands(
|
|
233
243
|
getSaveProdParameter(commands)
|
|
234
244
|
)
|
|
235
245
|
}
|
|
@@ -250,7 +260,7 @@ export function getInstallSaveProdCommands (p, r, f) {
|
|
|
250
260
|
|
|
251
261
|
const commands = getInstallCommands(p, r, f)
|
|
252
262
|
|
|
253
|
-
return
|
|
263
|
+
return normalizeCommands(
|
|
254
264
|
getSaveProdParameter(commands)
|
|
255
265
|
)
|
|
256
266
|
}
|
|
@@ -277,9 +287,13 @@ export function installSaveBundleSaveExact (d, p, r, f) {
|
|
|
277
287
|
|
|
278
288
|
log(commands)
|
|
279
289
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
290
|
+
const {
|
|
291
|
+
stdout,
|
|
292
|
+
stderr
|
|
293
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
294
|
+
|
|
295
|
+
stdout.on('data', log)
|
|
296
|
+
stderr.on('data', log)
|
|
283
297
|
})
|
|
284
298
|
)
|
|
285
299
|
}
|
|
@@ -306,9 +320,13 @@ export function installSaveBundle (d, p, r, f) {
|
|
|
306
320
|
|
|
307
321
|
log(commands)
|
|
308
322
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
323
|
+
const {
|
|
324
|
+
stdout,
|
|
325
|
+
stderr
|
|
326
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
327
|
+
|
|
328
|
+
stdout.on('data', log)
|
|
329
|
+
stderr.on('data', log)
|
|
312
330
|
})
|
|
313
331
|
)
|
|
314
332
|
}
|
|
@@ -335,9 +353,13 @@ export function installSaveOptionalSaveExact (d, p, r, f) {
|
|
|
335
353
|
|
|
336
354
|
log(commands)
|
|
337
355
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
356
|
+
const {
|
|
357
|
+
stdout,
|
|
358
|
+
stderr
|
|
359
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
360
|
+
|
|
361
|
+
stdout.on('data', log)
|
|
362
|
+
stderr.on('data', log)
|
|
341
363
|
})
|
|
342
364
|
)
|
|
343
365
|
}
|
|
@@ -364,9 +386,13 @@ export function installSaveOptional (d, p, r, f) {
|
|
|
364
386
|
|
|
365
387
|
log(commands)
|
|
366
388
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
389
|
+
const {
|
|
390
|
+
stdout,
|
|
391
|
+
stderr
|
|
392
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
393
|
+
|
|
394
|
+
stdout.on('data', log)
|
|
395
|
+
stderr.on('data', log)
|
|
370
396
|
})
|
|
371
397
|
)
|
|
372
398
|
}
|
|
@@ -393,9 +419,13 @@ export function installSaveDevSaveExact (d, p, r, f) {
|
|
|
393
419
|
|
|
394
420
|
log(commands)
|
|
395
421
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
422
|
+
const {
|
|
423
|
+
stdout,
|
|
424
|
+
stderr
|
|
425
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
426
|
+
|
|
427
|
+
stdout.on('data', log)
|
|
428
|
+
stderr.on('data', log)
|
|
399
429
|
})
|
|
400
430
|
)
|
|
401
431
|
}
|
|
@@ -422,9 +452,13 @@ export function installSaveDev (d, p, r, f) {
|
|
|
422
452
|
|
|
423
453
|
log(commands)
|
|
424
454
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
455
|
+
const {
|
|
456
|
+
stdout,
|
|
457
|
+
stderr
|
|
458
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
459
|
+
|
|
460
|
+
stdout.on('data', log)
|
|
461
|
+
stderr.on('data', log)
|
|
428
462
|
})
|
|
429
463
|
)
|
|
430
464
|
}
|
|
@@ -451,9 +485,13 @@ export function installSaveProdSaveExact (d, p, r, f) {
|
|
|
451
485
|
|
|
452
486
|
log(commands)
|
|
453
487
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
488
|
+
const {
|
|
489
|
+
stdout,
|
|
490
|
+
stderr
|
|
491
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
492
|
+
|
|
493
|
+
stdout.on('data', log)
|
|
494
|
+
stderr.on('data', log)
|
|
457
495
|
})
|
|
458
496
|
)
|
|
459
497
|
}
|
|
@@ -480,9 +518,13 @@ export function installSaveProd (d, p, r, f) {
|
|
|
480
518
|
|
|
481
519
|
log(commands)
|
|
482
520
|
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
521
|
+
const {
|
|
522
|
+
stdout,
|
|
523
|
+
stderr
|
|
524
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
525
|
+
|
|
526
|
+
stdout.on('data', log)
|
|
527
|
+
stderr.on('data', log)
|
|
486
528
|
})
|
|
487
529
|
)
|
|
488
530
|
}
|
package/src/install/index.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import debug from 'debug'
|
|
2
2
|
|
|
3
|
+
import {
|
|
4
|
+
normalize
|
|
5
|
+
} from 'path'
|
|
6
|
+
|
|
3
7
|
import {
|
|
4
8
|
platform
|
|
5
9
|
} from 'os'
|
|
6
10
|
|
|
7
11
|
import {
|
|
8
|
-
|
|
12
|
+
exec
|
|
9
13
|
} from 'child_process'
|
|
10
14
|
|
|
11
15
|
import {
|
|
@@ -16,7 +20,7 @@ import {
|
|
|
16
20
|
getForceParameter,
|
|
17
21
|
getSaveExactParameter,
|
|
18
22
|
getCommands,
|
|
19
|
-
|
|
23
|
+
normalizeCommands,
|
|
20
24
|
transform,
|
|
21
25
|
getDepsExact,
|
|
22
26
|
getDeps
|
|
@@ -26,6 +30,10 @@ const log = debug('@modernpoacher/deps:install')
|
|
|
26
30
|
|
|
27
31
|
log(`\`install\` (${platform}) is awake`)
|
|
28
32
|
|
|
33
|
+
const OPTIONS = {
|
|
34
|
+
maxBuffer: 1024 * 2000
|
|
35
|
+
}
|
|
36
|
+
|
|
29
37
|
/**
|
|
30
38
|
* @function getInstallSaveExactCommands
|
|
31
39
|
*
|
|
@@ -44,7 +52,7 @@ export const getInstallSaveExactCommands = (p, s, r, f) => {
|
|
|
44
52
|
const c = transform(p)
|
|
45
53
|
const commands = `npm i ${c}`
|
|
46
54
|
|
|
47
|
-
return
|
|
55
|
+
return normalizeCommands(
|
|
48
56
|
getNoSaveParameter(s, getRegistryParameter(r, getForceParameter(f, getSaveExactParameter(commands))))
|
|
49
57
|
)
|
|
50
58
|
}
|
|
@@ -67,7 +75,7 @@ export const getInstallCommands = (p, s, r, f) => {
|
|
|
67
75
|
const c = transform(p)
|
|
68
76
|
const commands = `npm i ${c}`
|
|
69
77
|
|
|
70
|
-
return
|
|
78
|
+
return normalizeCommands(
|
|
71
79
|
getNoSaveParameter(s, getRegistryParameter(r, getForceParameter(f, commands)))
|
|
72
80
|
)
|
|
73
81
|
}
|
|
@@ -92,9 +100,13 @@ export function installSaveExact (d, p, s, r, f) {
|
|
|
92
100
|
new Promise((resolve, reject) => {
|
|
93
101
|
const commands = getCommands(d, getInstallSaveExactCommands(p, s, r, f))
|
|
94
102
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
103
|
+
const {
|
|
104
|
+
stdout,
|
|
105
|
+
stderr
|
|
106
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
107
|
+
|
|
108
|
+
stdout.on('data', log)
|
|
109
|
+
stderr.on('data', log)
|
|
98
110
|
})
|
|
99
111
|
)
|
|
100
112
|
}
|
|
@@ -119,9 +131,13 @@ export function install (d, p, s, r, f) {
|
|
|
119
131
|
new Promise((resolve, reject) => {
|
|
120
132
|
const commands = getCommands(d, getInstallCommands(p, s, r, f))
|
|
121
133
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
134
|
+
const {
|
|
135
|
+
stdout,
|
|
136
|
+
stderr
|
|
137
|
+
} = exec(commands, { ...OPTIONS, cwd: normalize(d) }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
138
|
+
|
|
139
|
+
stdout.on('data', log)
|
|
140
|
+
stderr.on('data', log)
|
|
125
141
|
})
|
|
126
142
|
)
|
|
127
143
|
}
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
isExact,
|
|
15
15
|
getDepsExact,
|
|
16
16
|
getDeps,
|
|
17
|
-
|
|
17
|
+
normalizeCommands,
|
|
18
18
|
transformDependency,
|
|
19
19
|
transform,
|
|
20
20
|
getProdDependencies,
|
|
@@ -147,9 +147,9 @@ describe('@modernpoacher/deps/common', () => {
|
|
|
147
147
|
})
|
|
148
148
|
})
|
|
149
149
|
|
|
150
|
-
describe('`
|
|
150
|
+
describe('`normalizeCommands`', () => {
|
|
151
151
|
it('is a function', () => {
|
|
152
|
-
return expect(
|
|
152
|
+
return expect(normalizeCommands)
|
|
153
153
|
.to.be.a('function')
|
|
154
154
|
})
|
|
155
155
|
})
|