@uxf/scripts 11.41.6 → 11.47.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/scripts",
3
- "version": "11.41.6",
3
+ "version": "11.47.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1,86 +1,4 @@
1
- const exec = require("child_process").exec;
2
-
3
- function execute(command) {
4
- return new Promise((resolve) => {
5
- exec(command, function (error, stdout, stderr) {
6
- resolve(stdout);
7
- });
8
- });
9
- }
10
-
11
- function executeJson(command) {
12
- return execute(command).then((output) =>
13
- output
14
- .split("\n")
15
- .filter((s) => s !== "")
16
- .map(JSON.parse),
17
- );
18
- }
19
-
20
- function parsePackageName(name) {
21
- if (name.charAt(0) === "@") {
22
- const [nameWithoutAt, version] = name.replace("@", "").split("@");
23
-
24
- return [`@${nameWithoutAt}`, version.replace(/^npm:/, "")];
25
- }
26
-
27
- const [nameWithoutAt, version] = name.split("@");
28
- return [nameWithoutAt, version.replace(/^npm:/, "")];
29
- }
30
-
31
- function getUxfPackagesInfo(yarnVersion) {
32
- if (yarnVersion > 1) {
33
- return executeJson('yarn info "@uxf/*" -AR --json').then((output) => {
34
- const result = {};
35
-
36
- output
37
- .map((info) => {
38
- const [name, version] = parsePackageName(info.value);
39
- return {
40
- name,
41
- version,
42
- isError: false,
43
- };
44
- })
45
- .forEach((item) => {
46
- const isError = result[item.name] !== undefined;
47
- result[item.name] = item;
48
- result[item.name].isError = isError;
49
- });
50
-
51
- return result;
52
- });
53
- }
54
-
55
- return executeJson('yarn list --pattern "@uxf" --depth=1 --json').then((output) => {
56
- const result = {};
57
-
58
- output[0].data.trees
59
- .map((info) => {
60
- const [name, version] = parsePackageName(info.name);
61
- return {
62
- name,
63
- version,
64
- isError: info.children.length > 0,
65
- };
66
- })
67
- .forEach((item) => {
68
- result[item.name] = item;
69
- });
70
-
71
- return result;
72
- });
73
- }
74
-
75
- function getPackageVersion(packageName, yarnVersion) {
76
- if (yarnVersion > 1) {
77
- return executeJson(`yarn info ${packageName} --json`).then((output) => parsePackageName(output[0].value)[1]);
78
- }
79
-
80
- return executeJson(`yarn list ${packageName} --depth=0 --json`).then((output) => {
81
- return parsePackageName(output[0].data.trees[0].name)[1];
82
- });
83
- }
1
+ const execute = require("./utils/json-exec").execute;
84
2
 
85
3
  function getNodeVersion() {
86
4
  return execute("node -v").then((output) => {
@@ -98,15 +16,24 @@ module.exports = async function run() {
98
16
  const yarn = await getYarnVersion();
99
17
  const yarnVersion = Number(yarn.replace(/\..*/, ""));
100
18
 
19
+ const manager = {
20
+ 1: require("./manager/yarn-1").Yarn1,
21
+ 4: require("./manager/yarn-4").Yarn4,
22
+ }[yarnVersion];
23
+
24
+ if (manager === undefined) {
25
+ throw new Error(`Unknown manager version ${yarnVersion} (${yarn})`);
26
+ }
27
+
101
28
  console.log(
102
29
  JSON.stringify(
103
30
  {
104
31
  node: await getNodeVersion(),
105
32
  yarn,
106
- next: await getPackageVersion("next", yarnVersion),
107
- react: await getPackageVersion("react", yarnVersion),
108
- "react-dom": await getPackageVersion("react-dom", yarnVersion),
109
- packages: await getUxfPackagesInfo(yarnVersion),
33
+ next: await manager.packageVersion("next"),
34
+ react: await manager.packageVersion("react"),
35
+ "react-dom": await manager.packageVersion("react-dom"),
36
+ packages: await manager.uxfPackagesInfo(),
110
37
  },
111
38
  null,
112
39
  " ",
@@ -0,0 +1,34 @@
1
+ const parsePackageName = require("../utils/parser").parsePackageName;
2
+ const executeJson = require("../utils/json-exec").executeJson;
3
+
4
+ const Yarn1 = {
5
+ uxfPackagesInfo() {
6
+ return executeJson('yarn list --pattern "@uxf" --depth=1 --json').then((output) => {
7
+ const result = {};
8
+
9
+ output[0].data.trees
10
+ .map((info) => {
11
+ const [name, version] = parsePackageName(info.name);
12
+ return {
13
+ name,
14
+ version,
15
+ isError: info.children.length > 0,
16
+ };
17
+ })
18
+ .forEach((item) => {
19
+ result[item.name] = item;
20
+ });
21
+
22
+ return result;
23
+ });
24
+ },
25
+ packageVersion(packageName) {
26
+ return executeJson(`yarn list ${packageName} --depth=0 --json`).then((output) => {
27
+ return parsePackageName(output[0].data.trees[0].name)[1];
28
+ });
29
+ }
30
+ }
31
+
32
+ module.exports = {
33
+ Yarn1
34
+ };
@@ -0,0 +1,34 @@
1
+ const parsePackageName = require("../utils/parser").parsePackageName;
2
+ const executeJson = require("../utils/json-exec").executeJson;
3
+
4
+ const Yarn4 = {
5
+ uxfPackagesInfo() {
6
+ return executeJson('yarn info "@uxf/*" -AR --json').then((output) => {
7
+ const result = {};
8
+
9
+ output
10
+ .map((info) => {
11
+ const [name, version] = parsePackageName(info.value);
12
+ return {
13
+ name,
14
+ version,
15
+ isError: false,
16
+ };
17
+ })
18
+ .forEach((item) => {
19
+ const isError = result[item.name] !== undefined;
20
+ result[item.name] = item;
21
+ result[item.name].isError = isError;
22
+ });
23
+
24
+ return result;
25
+ });
26
+ },
27
+ packageVersion(packageName) {
28
+ return executeJson(`yarn info ${packageName} --json`).then((output) => parsePackageName(output[0].value)[1]);
29
+ }
30
+ }
31
+
32
+ module.exports = {
33
+ Yarn4,
34
+ };
@@ -0,0 +1,23 @@
1
+ const exec = require("child_process").exec;
2
+
3
+ function execute(command) {
4
+ return new Promise((resolve) => {
5
+ exec(command, function (error, stdout, stderr) {
6
+ resolve(stdout);
7
+ });
8
+ });
9
+ }
10
+
11
+ function executeJson(command) {
12
+ return execute(command).then((output) =>
13
+ output
14
+ .split("\n")
15
+ .filter((s) => s !== "")
16
+ .map(JSON.parse),
17
+ );
18
+ }
19
+
20
+ module.exports = {
21
+ execute,
22
+ executeJson,
23
+ };
@@ -0,0 +1,14 @@
1
+ function parsePackageName(name) {
2
+ if (name.charAt(0) === "@") {
3
+ const [nameWithoutAt, version] = name.replace("@", "").split("@");
4
+
5
+ return [`@${nameWithoutAt}`, version.replace(/^npm:/, "")];
6
+ }
7
+
8
+ const [nameWithoutAt, version] = name.split("@");
9
+ return [nameWithoutAt, version.replace(/^npm:/, "")];
10
+ }
11
+
12
+ module.exports = {
13
+ parsePackageName,
14
+ };