@yuw-cli-dev/exec 1.0.37

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.
Files changed (3) hide show
  1. package/README.md +11 -0
  2. package/lib/index.js +58 -0
  3. package/package.json +34 -0
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # `@yuw-cli-dev/exec`
2
+
3
+ > TODO: description
4
+
5
+ ## Usage
6
+
7
+ ```
8
+ const exec = require('@yuw-cli-dev/exec');
9
+
10
+ // TODO: DEMONSTRATE API
11
+ ```
package/lib/index.js ADDED
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ const path = require("path");
4
+ const Package = require("@yuw-cli-dev/package");
5
+ const log = require("@yuw-cli-dev/log");
6
+
7
+ const SETTINGS = {
8
+ init: "@yuw-cli-dev/init",
9
+ };
10
+ const CACHE_DIR = "dependencies";
11
+ async function exec() {
12
+ let targetPath = process.env.CLI_TARGET_PATH;
13
+ let storeDir = "";
14
+ let pkg;
15
+ const homePath = process.env.CLI_HOME_PATH;
16
+
17
+ log.verbose("targetPath", targetPath);
18
+ log.verbose("homePath", homePath);
19
+
20
+ const cmdObj = arguments[arguments.length - 1];
21
+ const cmdName = cmdObj.name();
22
+ const packageName = SETTINGS[cmdName];
23
+ const packageVersion = "latest";
24
+
25
+ if (!targetPath) {
26
+ targetPath = path.resolve(homePath, CACHE_DIR);
27
+ storeDir = path.resolve(targetPath, "node_modules");
28
+
29
+ log.verbose("storeDir", storeDir);
30
+ log.verbose("targetPath", targetPath);
31
+
32
+ pkg = new Package({
33
+ targetPath,
34
+ storeDir,
35
+ packageName,
36
+ packageVersion,
37
+ });
38
+
39
+ if (pkg.exists()) {
40
+ // 更新package
41
+ pkg.update();
42
+ } else {
43
+ // 安装package
44
+ await pkg.install();
45
+ }
46
+ } else {
47
+ pkg = new Package({
48
+ targetPath,
49
+ packageName,
50
+ packageVersion,
51
+ });
52
+ }
53
+ const rootFile = pkg.getRootFilePath();
54
+ if (rootFile) {
55
+ require(rootFile).call(null, ...arguments);
56
+ }
57
+ }
58
+ module.exports = exec;
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@yuw-cli-dev/exec",
3
+ "version": "1.0.37",
4
+ "description": "yuw-cli-dev execute package",
5
+ "author": "yuwei <yuwei@huya.com>",
6
+ "homepage": "https://github.com/yousanjin/yuw-cli#readme",
7
+ "license": "ISC",
8
+ "main": "lib/index.js",
9
+ "directories": {
10
+ "lib": "lib",
11
+ "test": "__tests__"
12
+ },
13
+ "files": [
14
+ "lib"
15
+ ],
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/yousanjin/yuw-cli.git"
22
+ },
23
+ "scripts": {
24
+ "test": "echo \"Error: run tests from root\" && exit 1"
25
+ },
26
+ "bugs": {
27
+ "url": "https://github.com/yousanjin/yuw-cli/issues"
28
+ },
29
+ "dependencies": {
30
+ "@yuw-cli-dev/log": "^1.0.36",
31
+ "@yuw-cli-dev/package": "file:../../models/package"
32
+ },
33
+ "gitHead": "ab03556d97ed9d4caf7af33d1720f4e45e34749a"
34
+ }