@modernpoacher/deps 1.5.8 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/app.js +5 -5
- package/bin/common/index.js +34 -27
- package/bin/execute/app.js +9 -6
- package/bin/install/app.js +5 -5
- package/lib/common/env/index.js +1 -0
- package/lib/common/git/index.js +3 -3
- package/lib/common/index.js +7 -9
- package/lib/index.js +1 -1
- package/lib/install/index.js +1 -1
- package/package.json +3 -3
- package/src/common/env/index.js +15 -0
- package/src/common/git/index.js +56 -44
- package/src/common/index.js +21 -17
- package/src/index.js +65 -157
- package/src/install/index.js +19 -39
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} - ${
|
|
49
|
+
log(`\`deps\` (${VERSION} - ${PLATFORM}) is awake`)
|
|
50
50
|
|
|
51
51
|
async function app () {
|
|
52
52
|
log('Deps')
|
package/bin/common/index.js
CHANGED
|
@@ -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} - ${
|
|
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
|
|
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
|
+
rm -rf node_modules package-lock.json
|
|
61
|
+
`)
|
|
62
|
+
: (directory = DIRECTORY) => tidy(`
|
|
63
|
+
cd "${normalize(directory)}"
|
|
59
64
|
rm -rf node_modules package-lock.json
|
|
60
|
-
|
|
61
|
-
# exit 0
|
|
62
65
|
`)
|
|
63
66
|
|
|
64
|
-
const getNpmiCommands =
|
|
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/bin/execute/app.js
CHANGED
|
@@ -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} - ${
|
|
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 {
|
package/bin/install/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,
|
|
@@ -44,7 +44,7 @@ debug.enable(DEBUG)
|
|
|
44
44
|
|
|
45
45
|
const log = debug('@modernpoacher/deps')
|
|
46
46
|
|
|
47
|
-
log(`\`install\` (${VERSION} - ${
|
|
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`);
|
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
|
|
2
|
-
DIR=$(echo "${directory
|
|
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
|
|
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);});}
|
package/lib/common/index.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
|
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);}
|
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.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.
|
|
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.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Update NPM package dependencies from the command line",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deps",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@babel/cli": "^7.17.6",
|
|
61
|
-
"@babel/core": "^7.17.
|
|
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,20 +1,24 @@
|
|
|
1
1
|
import debug from 'debug'
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
} from '
|
|
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 =
|
|
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\` (${
|
|
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
|
|
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
|
|
103
|
-
log('
|
|
106
|
+
function getCatGitRefsRemotesOriginHeadCommands (directory = DIRECTORY) { /* eslint-disable no-useless-escape */
|
|
107
|
+
log('getCatGitRefsRemotesOriginHeadCommands')
|
|
104
108
|
|
|
105
109
|
return `
|
|
106
|
-
DIR=$(echo "${directory
|
|
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
|
|
148
|
+
// const log = use('cat-git-refs-remotes-origin-head')
|
|
149
|
+
const commands = getCatGitRefsRemotesOriginHeadCommands(directory)
|
|
145
150
|
|
|
146
151
|
/**
|
|
147
|
-
* log(
|
|
152
|
+
* log(commands)
|
|
148
153
|
*/
|
|
149
154
|
|
|
150
155
|
const {
|
|
151
156
|
stdout,
|
|
152
157
|
stderr
|
|
153
|
-
} = exec(
|
|
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
|
|
180
|
+
// const log = out('git-rev-parse')
|
|
181
|
+
const commands = 'git rev-parse --show-toplevel'
|
|
176
182
|
|
|
177
183
|
/**
|
|
178
|
-
* log(
|
|
184
|
+
* log(commands)
|
|
179
185
|
*/
|
|
180
186
|
|
|
181
187
|
const {
|
|
182
188
|
stdout,
|
|
183
189
|
stderr
|
|
184
|
-
} = exec(
|
|
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
|
|
213
|
+
const log = use('git-checkout')
|
|
214
|
+
const commands = `cd "${normalize(directory)}" && git checkout ${branch}`
|
|
208
215
|
|
|
209
216
|
/**
|
|
210
|
-
* log(
|
|
217
|
+
* log(commands)
|
|
211
218
|
*/
|
|
212
219
|
|
|
213
220
|
const {
|
|
214
221
|
stdout,
|
|
215
222
|
stderr
|
|
216
|
-
} = exec(
|
|
223
|
+
} = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
217
224
|
|
|
218
|
-
stdout.on('data',
|
|
219
|
-
stderr.on('data',
|
|
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
|
|
245
|
+
const log = use('git-pull')
|
|
246
|
+
const commands = `cd "${normalize(directory)}" && git pull`
|
|
239
247
|
|
|
240
248
|
/**
|
|
241
|
-
* log(
|
|
249
|
+
* log(commands)
|
|
242
250
|
*/
|
|
243
251
|
|
|
244
252
|
const {
|
|
245
253
|
stdout,
|
|
246
254
|
stderr
|
|
247
|
-
} = exec(
|
|
255
|
+
} = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
248
256
|
|
|
249
|
-
stdout.on('data',
|
|
250
|
-
stderr.on('data',
|
|
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
|
|
277
|
+
const log = use('git-push')
|
|
278
|
+
const commands = `cd "${normalize(directory)}" && git push`
|
|
270
279
|
|
|
271
280
|
/**
|
|
272
|
-
* log(
|
|
281
|
+
* log(commands)
|
|
273
282
|
*/
|
|
274
283
|
|
|
275
284
|
const {
|
|
276
285
|
stdout,
|
|
277
286
|
stderr
|
|
278
|
-
} = exec(
|
|
287
|
+
} = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
279
288
|
|
|
280
|
-
stdout.on('data',
|
|
281
|
-
stderr.on('data',
|
|
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
|
|
309
|
+
const log = use('git-push-tags')
|
|
310
|
+
const commands = `cd "${normalize(directory)}" && git push --tags`
|
|
301
311
|
|
|
302
312
|
/**
|
|
303
|
-
* log(
|
|
313
|
+
* log(commands)
|
|
304
314
|
*/
|
|
305
315
|
|
|
306
316
|
const {
|
|
307
317
|
stdout,
|
|
308
318
|
stderr
|
|
309
|
-
} = exec(
|
|
319
|
+
} = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
310
320
|
|
|
311
|
-
stdout.on('data',
|
|
312
|
-
stderr.on('data',
|
|
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
|
|
342
|
+
const log = use('git-add')
|
|
343
|
+
const commands = `cd "${normalize(directory)}" && git add ${add}`
|
|
333
344
|
|
|
334
345
|
/**
|
|
335
|
-
* log(
|
|
346
|
+
* log(commands)
|
|
336
347
|
*/
|
|
337
348
|
|
|
338
349
|
const {
|
|
339
350
|
stdout,
|
|
340
351
|
stderr
|
|
341
|
-
} = exec(
|
|
352
|
+
} = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
342
353
|
|
|
343
|
-
stdout.on('data',
|
|
344
|
-
stderr.on('data',
|
|
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
|
|
375
|
+
const log = use('git-commit')
|
|
376
|
+
const commands = `cd "${normalize(directory)}" && git commit -m "${commit}"`
|
|
365
377
|
|
|
366
378
|
/**
|
|
367
|
-
* log(
|
|
379
|
+
* log(commands)
|
|
368
380
|
*/
|
|
369
381
|
|
|
370
382
|
const {
|
|
371
383
|
stdout,
|
|
372
384
|
stderr
|
|
373
|
-
} = exec(
|
|
385
|
+
} = exec(commands, { ...OPTIONS, cwd: directory }, (e, v) => (e) ? isCommandError(e) ? resolve(v) : reject(e) : resolve(v))
|
|
374
386
|
|
|
375
|
-
stdout.on('data',
|
|
376
|
-
stderr.on('data',
|
|
387
|
+
stdout.on('data', log)
|
|
388
|
+
stderr.on('data', log)
|
|
377
389
|
})
|
|
378
390
|
)
|
|
379
391
|
}
|
package/src/common/index.js
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import debug from 'debug'
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
resolve
|
|
4
|
+
resolve,
|
|
5
|
+
normalize
|
|
9
6
|
} from 'path'
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
137
|
-
|
|
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
|
-
|
|
5
|
-
} from '
|
|
4
|
+
exec
|
|
5
|
+
} from 'child_process'
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
|
-
|
|
9
|
-
} from '
|
|
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\` (${
|
|
30
|
+
log(`\`deps\` (${PLATFORM}) is awake`)
|
|
31
|
+
|
|
32
|
+
const OPTIONS = {
|
|
33
|
+
maxBuffer: 1024 * 2000
|
|
34
|
+
}
|
|
31
35
|
|
|
32
36
|
function use (key) {
|
|
33
37
|
const log = debug(`@modernpoacher/deps:${key}`)
|
|
@@ -277,25 +281,13 @@ export function installSaveBundleSaveExact (d, p, r, f) {
|
|
|
277
281
|
|
|
278
282
|
log(commands)
|
|
279
283
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
return (
|
|
290
|
-
resolve()
|
|
291
|
-
)
|
|
292
|
-
})
|
|
293
|
-
.on('close', resolve)
|
|
294
|
-
.on('error', function handleError (e) {
|
|
295
|
-
log(e)
|
|
296
|
-
|
|
297
|
-
reject(e)
|
|
298
|
-
})
|
|
284
|
+
const {
|
|
285
|
+
stdout,
|
|
286
|
+
stderr
|
|
287
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
288
|
+
|
|
289
|
+
stdout.on('data', log)
|
|
290
|
+
stderr.on('data', log)
|
|
299
291
|
})
|
|
300
292
|
)
|
|
301
293
|
}
|
|
@@ -322,25 +314,13 @@ export function installSaveBundle (d, p, r, f) {
|
|
|
322
314
|
|
|
323
315
|
log(commands)
|
|
324
316
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
return (
|
|
335
|
-
resolve()
|
|
336
|
-
)
|
|
337
|
-
})
|
|
338
|
-
.on('close', resolve)
|
|
339
|
-
.on('error', function handleError (e) {
|
|
340
|
-
log(e)
|
|
341
|
-
|
|
342
|
-
reject(e)
|
|
343
|
-
})
|
|
317
|
+
const {
|
|
318
|
+
stdout,
|
|
319
|
+
stderr
|
|
320
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
321
|
+
|
|
322
|
+
stdout.on('data', log)
|
|
323
|
+
stderr.on('data', log)
|
|
344
324
|
})
|
|
345
325
|
)
|
|
346
326
|
}
|
|
@@ -367,25 +347,13 @@ export function installSaveOptionalSaveExact (d, p, r, f) {
|
|
|
367
347
|
|
|
368
348
|
log(commands)
|
|
369
349
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
return (
|
|
380
|
-
resolve()
|
|
381
|
-
)
|
|
382
|
-
})
|
|
383
|
-
.on('close', resolve)
|
|
384
|
-
.on('error', function handleError (e) {
|
|
385
|
-
log(e)
|
|
386
|
-
|
|
387
|
-
reject(e)
|
|
388
|
-
})
|
|
350
|
+
const {
|
|
351
|
+
stdout,
|
|
352
|
+
stderr
|
|
353
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
354
|
+
|
|
355
|
+
stdout.on('data', log)
|
|
356
|
+
stderr.on('data', log)
|
|
389
357
|
})
|
|
390
358
|
)
|
|
391
359
|
}
|
|
@@ -412,25 +380,13 @@ export function installSaveOptional (d, p, r, f) {
|
|
|
412
380
|
|
|
413
381
|
log(commands)
|
|
414
382
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
return (
|
|
425
|
-
resolve()
|
|
426
|
-
)
|
|
427
|
-
})
|
|
428
|
-
.on('close', resolve)
|
|
429
|
-
.on('error', function handleError (e) {
|
|
430
|
-
log(e)
|
|
431
|
-
|
|
432
|
-
reject(e)
|
|
433
|
-
})
|
|
383
|
+
const {
|
|
384
|
+
stdout,
|
|
385
|
+
stderr
|
|
386
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
387
|
+
|
|
388
|
+
stdout.on('data', log)
|
|
389
|
+
stderr.on('data', log)
|
|
434
390
|
})
|
|
435
391
|
)
|
|
436
392
|
}
|
|
@@ -457,25 +413,13 @@ export function installSaveDevSaveExact (d, p, r, f) {
|
|
|
457
413
|
|
|
458
414
|
log(commands)
|
|
459
415
|
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
return (
|
|
470
|
-
resolve()
|
|
471
|
-
)
|
|
472
|
-
})
|
|
473
|
-
.on('close', resolve)
|
|
474
|
-
.on('error', function handleError (e) {
|
|
475
|
-
log(e)
|
|
476
|
-
|
|
477
|
-
reject(e)
|
|
478
|
-
})
|
|
416
|
+
const {
|
|
417
|
+
stdout,
|
|
418
|
+
stderr
|
|
419
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
420
|
+
|
|
421
|
+
stdout.on('data', log)
|
|
422
|
+
stderr.on('data', log)
|
|
479
423
|
})
|
|
480
424
|
)
|
|
481
425
|
}
|
|
@@ -502,25 +446,13 @@ export function installSaveDev (d, p, r, f) {
|
|
|
502
446
|
|
|
503
447
|
log(commands)
|
|
504
448
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
return (
|
|
515
|
-
resolve()
|
|
516
|
-
)
|
|
517
|
-
})
|
|
518
|
-
.on('close', resolve)
|
|
519
|
-
.on('error', function handleError (e) {
|
|
520
|
-
log(e)
|
|
521
|
-
|
|
522
|
-
reject(e)
|
|
523
|
-
})
|
|
449
|
+
const {
|
|
450
|
+
stdout,
|
|
451
|
+
stderr
|
|
452
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
453
|
+
|
|
454
|
+
stdout.on('data', log)
|
|
455
|
+
stderr.on('data', log)
|
|
524
456
|
})
|
|
525
457
|
)
|
|
526
458
|
}
|
|
@@ -547,25 +479,13 @@ export function installSaveProdSaveExact (d, p, r, f) {
|
|
|
547
479
|
|
|
548
480
|
log(commands)
|
|
549
481
|
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
return (
|
|
560
|
-
resolve()
|
|
561
|
-
)
|
|
562
|
-
})
|
|
563
|
-
.on('close', resolve)
|
|
564
|
-
.on('error', function handleError (e) {
|
|
565
|
-
log(e)
|
|
566
|
-
|
|
567
|
-
reject(e)
|
|
568
|
-
})
|
|
482
|
+
const {
|
|
483
|
+
stdout,
|
|
484
|
+
stderr
|
|
485
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
486
|
+
|
|
487
|
+
stdout.on('data', log)
|
|
488
|
+
stderr.on('data', log)
|
|
569
489
|
})
|
|
570
490
|
)
|
|
571
491
|
}
|
|
@@ -592,25 +512,13 @@ export function installSaveProd (d, p, r, f) {
|
|
|
592
512
|
|
|
593
513
|
log(commands)
|
|
594
514
|
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
return (
|
|
605
|
-
resolve()
|
|
606
|
-
)
|
|
607
|
-
})
|
|
608
|
-
.on('close', resolve)
|
|
609
|
-
.on('error', function handleError (e) {
|
|
610
|
-
log(e)
|
|
611
|
-
|
|
612
|
-
reject(e)
|
|
613
|
-
})
|
|
515
|
+
const {
|
|
516
|
+
stdout,
|
|
517
|
+
stderr
|
|
518
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
519
|
+
|
|
520
|
+
stdout.on('data', log)
|
|
521
|
+
stderr.on('data', log)
|
|
614
522
|
})
|
|
615
523
|
)
|
|
616
524
|
}
|
package/src/install/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from 'os'
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
|
-
|
|
8
|
+
exec
|
|
9
9
|
} from 'child_process'
|
|
10
10
|
|
|
11
11
|
import {
|
|
@@ -26,6 +26,10 @@ const log = debug('@modernpoacher/deps:install')
|
|
|
26
26
|
|
|
27
27
|
log(`\`install\` (${platform}) is awake`)
|
|
28
28
|
|
|
29
|
+
const OPTIONS = {
|
|
30
|
+
maxBuffer: 1024 * 2000
|
|
31
|
+
}
|
|
32
|
+
|
|
29
33
|
/**
|
|
30
34
|
* @function getInstallSaveExactCommands
|
|
31
35
|
*
|
|
@@ -92,25 +96,13 @@ export function installSaveExact (d, p, s, r, f) {
|
|
|
92
96
|
new Promise((resolve, reject) => {
|
|
93
97
|
const commands = getCommands(d, getInstallSaveExactCommands(p, s, r, f))
|
|
94
98
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return (
|
|
105
|
-
resolve()
|
|
106
|
-
)
|
|
107
|
-
})
|
|
108
|
-
.on('close', resolve)
|
|
109
|
-
.on('error', function handleError (e) {
|
|
110
|
-
log(e)
|
|
111
|
-
|
|
112
|
-
reject(e)
|
|
113
|
-
})
|
|
99
|
+
const {
|
|
100
|
+
stdout,
|
|
101
|
+
stderr
|
|
102
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
103
|
+
|
|
104
|
+
stdout.on('data', log)
|
|
105
|
+
stderr.on('data', log)
|
|
114
106
|
})
|
|
115
107
|
)
|
|
116
108
|
}
|
|
@@ -135,25 +127,13 @@ export function install (d, p, s, r, f) {
|
|
|
135
127
|
new Promise((resolve, reject) => {
|
|
136
128
|
const commands = getCommands(d, getInstallCommands(p, s, r, f))
|
|
137
129
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
return (
|
|
148
|
-
resolve()
|
|
149
|
-
)
|
|
150
|
-
})
|
|
151
|
-
.on('close', resolve)
|
|
152
|
-
.on('error', function handleError (e) {
|
|
153
|
-
log(e)
|
|
154
|
-
|
|
155
|
-
reject(e)
|
|
156
|
-
})
|
|
130
|
+
const {
|
|
131
|
+
stdout,
|
|
132
|
+
stderr
|
|
133
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
134
|
+
|
|
135
|
+
stdout.on('data', log)
|
|
136
|
+
stderr.on('data', log)
|
|
157
137
|
})
|
|
158
138
|
)
|
|
159
139
|
}
|