@modernpoacher/deps 1.5.9 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/app.js +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 -29
- package/src/install/index.js +19 -7
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
|
+
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/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.1",
|
|
4
4
|
"description": "Update NPM package dependencies from the command line",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deps",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@babel/cli": "^7.17.6",
|
|
61
|
-
"@babel/core": "^7.17.
|
|
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,9 +281,13 @@ export function installSaveBundleSaveExact (d, p, r, f) {
|
|
|
277
281
|
|
|
278
282
|
log(commands)
|
|
279
283
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
284
|
+
const {
|
|
285
|
+
stdout,
|
|
286
|
+
stderr
|
|
287
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
288
|
+
|
|
289
|
+
stdout.on('data', log)
|
|
290
|
+
stderr.on('data', log)
|
|
283
291
|
})
|
|
284
292
|
)
|
|
285
293
|
}
|
|
@@ -306,9 +314,13 @@ export function installSaveBundle (d, p, r, f) {
|
|
|
306
314
|
|
|
307
315
|
log(commands)
|
|
308
316
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
317
|
+
const {
|
|
318
|
+
stdout,
|
|
319
|
+
stderr
|
|
320
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
321
|
+
|
|
322
|
+
stdout.on('data', log)
|
|
323
|
+
stderr.on('data', log)
|
|
312
324
|
})
|
|
313
325
|
)
|
|
314
326
|
}
|
|
@@ -335,9 +347,13 @@ export function installSaveOptionalSaveExact (d, p, r, f) {
|
|
|
335
347
|
|
|
336
348
|
log(commands)
|
|
337
349
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
350
|
+
const {
|
|
351
|
+
stdout,
|
|
352
|
+
stderr
|
|
353
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
354
|
+
|
|
355
|
+
stdout.on('data', log)
|
|
356
|
+
stderr.on('data', log)
|
|
341
357
|
})
|
|
342
358
|
)
|
|
343
359
|
}
|
|
@@ -364,9 +380,13 @@ export function installSaveOptional (d, p, r, f) {
|
|
|
364
380
|
|
|
365
381
|
log(commands)
|
|
366
382
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
383
|
+
const {
|
|
384
|
+
stdout,
|
|
385
|
+
stderr
|
|
386
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
387
|
+
|
|
388
|
+
stdout.on('data', log)
|
|
389
|
+
stderr.on('data', log)
|
|
370
390
|
})
|
|
371
391
|
)
|
|
372
392
|
}
|
|
@@ -393,9 +413,13 @@ export function installSaveDevSaveExact (d, p, r, f) {
|
|
|
393
413
|
|
|
394
414
|
log(commands)
|
|
395
415
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
416
|
+
const {
|
|
417
|
+
stdout,
|
|
418
|
+
stderr
|
|
419
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
420
|
+
|
|
421
|
+
stdout.on('data', log)
|
|
422
|
+
stderr.on('data', log)
|
|
399
423
|
})
|
|
400
424
|
)
|
|
401
425
|
}
|
|
@@ -422,9 +446,13 @@ export function installSaveDev (d, p, r, f) {
|
|
|
422
446
|
|
|
423
447
|
log(commands)
|
|
424
448
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
449
|
+
const {
|
|
450
|
+
stdout,
|
|
451
|
+
stderr
|
|
452
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
453
|
+
|
|
454
|
+
stdout.on('data', log)
|
|
455
|
+
stderr.on('data', log)
|
|
428
456
|
})
|
|
429
457
|
)
|
|
430
458
|
}
|
|
@@ -451,9 +479,13 @@ export function installSaveProdSaveExact (d, p, r, f) {
|
|
|
451
479
|
|
|
452
480
|
log(commands)
|
|
453
481
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
482
|
+
const {
|
|
483
|
+
stdout,
|
|
484
|
+
stderr
|
|
485
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
486
|
+
|
|
487
|
+
stdout.on('data', log)
|
|
488
|
+
stderr.on('data', log)
|
|
457
489
|
})
|
|
458
490
|
)
|
|
459
491
|
}
|
|
@@ -480,9 +512,13 @@ export function installSaveProd (d, p, r, f) {
|
|
|
480
512
|
|
|
481
513
|
log(commands)
|
|
482
514
|
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
515
|
+
const {
|
|
516
|
+
stdout,
|
|
517
|
+
stderr
|
|
518
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
519
|
+
|
|
520
|
+
stdout.on('data', log)
|
|
521
|
+
stderr.on('data', log)
|
|
486
522
|
})
|
|
487
523
|
)
|
|
488
524
|
}
|
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,9 +96,13 @@ export function installSaveExact (d, p, s, r, f) {
|
|
|
92
96
|
new Promise((resolve, reject) => {
|
|
93
97
|
const commands = getCommands(d, getInstallSaveExactCommands(p, s, r, f))
|
|
94
98
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
const {
|
|
100
|
+
stdout,
|
|
101
|
+
stderr
|
|
102
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
103
|
+
|
|
104
|
+
stdout.on('data', log)
|
|
105
|
+
stderr.on('data', log)
|
|
98
106
|
})
|
|
99
107
|
)
|
|
100
108
|
}
|
|
@@ -119,9 +127,13 @@ export function install (d, p, s, r, f) {
|
|
|
119
127
|
new Promise((resolve, reject) => {
|
|
120
128
|
const commands = getCommands(d, getInstallCommands(p, s, r, f))
|
|
121
129
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
130
|
+
const {
|
|
131
|
+
stdout,
|
|
132
|
+
stderr
|
|
133
|
+
} = exec(commands, { ...OPTIONS, cwd: d }, (e, v) => (!e) ? resolve(v) : reject(e))
|
|
134
|
+
|
|
135
|
+
stdout.on('data', log)
|
|
136
|
+
stderr.on('data', log)
|
|
125
137
|
})
|
|
126
138
|
)
|
|
127
139
|
}
|