@eik/cli 3.1.3 → 3.1.4
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/CHANGELOG.md +7 -0
- package/classes/alias.js +108 -118
- package/classes/index.js +58 -58
- package/classes/integrity.js +89 -97
- package/classes/login.js +47 -47
- package/classes/meta.js +75 -80
- package/classes/ping.js +53 -53
- package/classes/publish/map.js +90 -92
- package/classes/publish/package/index.js +130 -130
- package/classes/publish/package/tasks/check-bundle-sizes.js +19 -21
- package/classes/publish/package/tasks/check-if-already-published.js +67 -72
- package/classes/publish/package/tasks/cleanup.js +17 -17
- package/classes/publish/package/tasks/create-temp-directory.js +17 -17
- package/classes/publish/package/tasks/create-zip-file.js +60 -65
- package/classes/publish/package/tasks/dry-run.js +15 -15
- package/classes/publish/package/tasks/save-metafile.js +17 -17
- package/classes/publish/package/tasks/task.js +7 -7
- package/classes/publish/package/tasks/upload-files.js +52 -56
- package/classes/publish/package/tasks/validate-input.js +24 -24
- package/classes/version.js +152 -163
- package/commands/alias.js +87 -87
- package/commands/index.js +24 -24
- package/commands/init.js +98 -105
- package/commands/integrity.js +52 -52
- package/commands/login.js +96 -98
- package/commands/map-alias.js +73 -73
- package/commands/map.js +72 -72
- package/commands/meta.js +49 -50
- package/commands/npm-alias.js +69 -69
- package/commands/package-alias.js +79 -80
- package/commands/ping.js +25 -25
- package/commands/publish.js +120 -124
- package/commands/version.js +86 -88
- package/formatters/alias.js +60 -63
- package/formatters/artifact.js +77 -77
- package/formatters/file.js +25 -25
- package/formatters/index.js +4 -4
- package/formatters/version.js +49 -51
- package/index.js +61 -61
- package/package.json +3 -2
- package/types/classes/alias.d.ts +1 -1
- package/types/classes/integrity.d.ts +1 -1
- package/types/classes/login.d.ts +1 -1
- package/types/classes/meta.d.ts +1 -1
- package/types/classes/ping.d.ts +1 -1
- package/types/classes/publish/map.d.ts +1 -1
- package/types/classes/publish/package/index.d.ts +11 -11
- package/types/classes/publish/package/tasks/check-bundle-sizes.d.ts +1 -1
- package/types/classes/publish/package/tasks/check-if-already-published.d.ts +1 -1
- package/types/classes/publish/package/tasks/cleanup.d.ts +1 -1
- package/types/classes/publish/package/tasks/create-temp-directory.d.ts +1 -1
- package/types/classes/publish/package/tasks/create-zip-file.d.ts +1 -1
- package/types/classes/publish/package/tasks/dry-run.d.ts +1 -1
- package/types/classes/publish/package/tasks/save-metafile.d.ts +1 -1
- package/types/classes/publish/package/tasks/task.d.ts +1 -1
- package/types/classes/publish/package/tasks/upload-files.d.ts +1 -1
- package/types/classes/publish/package/tasks/validate-input.d.ts +1 -1
- package/types/classes/version.d.ts +3 -3
- package/types/utils/hash/index.d.ts +3 -3
- package/types/utils/http/index.d.ts +4 -4
- package/types/utils/index.d.ts +3 -3
- package/types/utils/json/index.d.ts +3 -3
- package/utils/hash/file.js +4 -4
- package/utils/hash/files.js +9 -9
- package/utils/hash/index.js +3 -3
- package/utils/http/index.js +4 -4
- package/utils/http/integrity.js +18 -18
- package/utils/http/latest-version.js +37 -37
- package/utils/http/request.js +42 -42
- package/utils/http/versions.js +20 -20
- package/utils/index.js +3 -3
- package/utils/json/index.js +3 -3
- package/utils/json/read.js +26 -26
- package/utils/json/write-eik.js +17 -17
- package/utils/json/write.js +26 -28
- package/utils/logger.js +43 -43
- package/utils/type-title.js +3 -3
- package/utils/url.js +2 -2
@@ -1,102 +1,101 @@
|
|
1
1
|
// @deprecated in favor of `alias` command
|
2
2
|
|
3
|
-
import ora from
|
4
|
-
import semver from
|
5
|
-
import Alias from
|
6
|
-
import { logger, getDefaults } from
|
7
|
-
import { Alias as AliasFormatter } from
|
3
|
+
import ora from "ora";
|
4
|
+
import semver from "semver";
|
5
|
+
import Alias from "../classes/alias.js";
|
6
|
+
import { logger, getDefaults } from "../utils/index.js";
|
7
|
+
import { Alias as AliasFormatter } from "../formatters/index.js";
|
8
8
|
|
9
|
-
export const command =
|
9
|
+
export const command = "package-alias [name] [version] [alias]";
|
10
10
|
|
11
|
-
export const aliases = [
|
11
|
+
export const aliases = ["pkg-alias", "pa"];
|
12
12
|
|
13
13
|
export const describe = `DEPRECATED: This command has been replaced by the alias command and will be removed in a future version. Create a semver major alias for a package as identified by its name and version. A package with the given name and version must already exist on asset server. Alias should be the semver major part of the package version. Eg. For a package of version 5.4.3, you should use 5 as the alias`;
|
14
14
|
|
15
15
|
export const builder = (yargs) => {
|
16
|
-
|
16
|
+
const defaults = getDefaults(yargs.argv.config || yargs.argv.cwd);
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
});
|
18
|
+
yargs
|
19
|
+
.positional("name", {
|
20
|
+
describe: "Name matching existing name for a package on Eik server",
|
21
|
+
type: "string",
|
22
|
+
// @ts-expect-error
|
23
|
+
default: defaults.name,
|
24
|
+
})
|
25
|
+
.positional("version", {
|
26
|
+
describe: "Version matching existing version for a package on Eik server",
|
27
|
+
type: "string",
|
28
|
+
// @ts-expect-error
|
29
|
+
default: defaults.version,
|
30
|
+
})
|
31
|
+
.positional("alias", {
|
32
|
+
describe:
|
33
|
+
"Alias for a semver version. Must be the semver major component of version. Eg. 1.0.0 should be given as 1",
|
34
|
+
type: "string",
|
35
|
+
// @ts-expect-error
|
36
|
+
default: defaults.version ? semver.major(defaults.version) : null,
|
37
|
+
});
|
39
38
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
39
|
+
yargs.options({
|
40
|
+
server: {
|
41
|
+
alias: "s",
|
42
|
+
describe: "Specify location of Eik asset server.",
|
43
|
+
// @ts-expect-error
|
44
|
+
default: defaults.server,
|
45
|
+
},
|
46
|
+
token: {
|
47
|
+
describe:
|
48
|
+
"Provide a jwt token to be used to authenticate with the Eik server.",
|
49
|
+
default: "",
|
50
|
+
alias: "t",
|
51
|
+
},
|
52
|
+
});
|
54
53
|
|
55
|
-
|
56
|
-
|
54
|
+
// @ts-expect-error
|
55
|
+
yargs.default("token", defaults.token, defaults.token ? "######" : "");
|
57
56
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
57
|
+
yargs.example(`eik package-alias my-app 1.0.0 1`);
|
58
|
+
yargs.example(`eik package-alias my-app 1.7.3 1`);
|
59
|
+
yargs.example(`eik package-alias my-app 6.3.1 6`);
|
60
|
+
yargs.example(
|
61
|
+
`eik package-alias my-app 6.3.1 6 --server https://assets.myeikserver.com`,
|
62
|
+
);
|
63
|
+
yargs.example(`eik package-alias my-app 4.2.2 4 --debug`);
|
65
64
|
};
|
66
65
|
|
67
66
|
export const handler = async (argv) => {
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
67
|
+
const spinner = ora({ stream: process.stdout }).start("working...");
|
68
|
+
let success = false;
|
69
|
+
const { debug, server } = argv;
|
70
|
+
const log = logger(spinner, debug);
|
71
|
+
let af;
|
73
72
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
73
|
+
try {
|
74
|
+
const data = await new Alias({
|
75
|
+
type: "pkg",
|
76
|
+
logger: log,
|
77
|
+
...argv,
|
78
|
+
}).run();
|
80
79
|
|
81
|
-
|
80
|
+
af = new AliasFormatter(data);
|
82
81
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
82
|
+
const createdOrUpdated = data.update ? "Updated" : "Created";
|
83
|
+
log.info(
|
84
|
+
`${createdOrUpdated} alias for package "${data.name}". ("${data.version}" => "v${data.alias}")`,
|
85
|
+
);
|
86
|
+
success = true;
|
87
|
+
} catch (err) {
|
88
|
+
log.warn(err.message);
|
89
|
+
}
|
91
90
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
91
|
+
spinner.text = "";
|
92
|
+
spinner.stopAndPersist();
|
93
|
+
if (success) {
|
94
|
+
af?.format(server);
|
95
|
+
} else {
|
96
|
+
process.exit(1);
|
97
|
+
}
|
99
98
|
};
|
100
99
|
|
101
100
|
export const deprecated =
|
102
|
-
|
101
|
+
'"package-alias" will be removed in a future version. Please use "alias" instead';
|
package/commands/ping.js
CHANGED
@@ -1,38 +1,38 @@
|
|
1
|
-
import ora from
|
2
|
-
import Ping from
|
3
|
-
import { logger, getDefaults } from
|
1
|
+
import ora from "ora";
|
2
|
+
import Ping from "../classes/ping.js";
|
3
|
+
import { logger, getDefaults } from "../utils/index.js";
|
4
4
|
|
5
|
-
export const command =
|
5
|
+
export const command = "ping [server]";
|
6
6
|
|
7
7
|
export const aliases = [];
|
8
8
|
|
9
9
|
export const describe = `Ping an Eik server to check that it is responding.`;
|
10
10
|
|
11
11
|
export const builder = (yargs) => {
|
12
|
-
|
12
|
+
const defaults = getDefaults(yargs.argv.config || yargs.argv.cwd);
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
yargs.positional("server", {
|
15
|
+
describe: "Specify location of Eik server to ping.",
|
16
|
+
// @ts-expect-error
|
17
|
+
default: defaults.server,
|
18
|
+
});
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
yargs.example(`eik ping`);
|
21
|
+
yargs.example(`eik ping http://assets.myeikserver.com`);
|
22
|
+
yargs.example(`eik ping http://assets.myeikserver.com --debug`);
|
23
23
|
};
|
24
24
|
|
25
25
|
export const handler = async (argv) => {
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
26
|
+
const spinner = ora({ stream: process.stdout }).start("working...");
|
27
|
+
const { debug, server } = argv;
|
28
|
+
|
29
|
+
try {
|
30
|
+
await new Ping({ logger: logger(spinner, debug), server }).run();
|
31
|
+
} catch (err) {
|
32
|
+
// @ts-expect-error
|
33
|
+
logger.warn(err.message);
|
34
|
+
}
|
35
|
+
|
36
|
+
spinner.text = "";
|
37
|
+
spinner.stopAndPersist();
|
38
38
|
};
|
package/commands/publish.js
CHANGED
@@ -1,134 +1,130 @@
|
|
1
|
-
import { join } from
|
2
|
-
import ora from
|
3
|
-
import chalk from
|
4
|
-
import PublishPackage from
|
5
|
-
import { logger, getDefaults, typeSlug, typeTitle } from
|
6
|
-
import { Artifact } from
|
1
|
+
import { join } from "path";
|
2
|
+
import ora from "ora";
|
3
|
+
import chalk from "chalk";
|
4
|
+
import PublishPackage from "../classes/publish/package/index.js";
|
5
|
+
import { logger, getDefaults, typeSlug, typeTitle } from "../utils/index.js";
|
6
|
+
import { Artifact } from "../formatters/index.js";
|
7
7
|
|
8
|
-
export const command =
|
8
|
+
export const command = "publish";
|
9
9
|
|
10
|
-
export const aliases = [
|
10
|
+
export const aliases = ["pkg", "package", "pub"];
|
11
11
|
|
12
12
|
export const describe = `Publish an app package to an Eik server. Reads configuration from eik.json or package.json files. See https://eik.dev for more details.`;
|
13
13
|
|
14
14
|
export const builder = (yargs) => {
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
15
|
+
const defaults = getDefaults(yargs.argv.config || yargs.argv.cwd);
|
16
|
+
|
17
|
+
yargs.options({
|
18
|
+
dryRun: {
|
19
|
+
alias: "d",
|
20
|
+
describe:
|
21
|
+
"Terminates the publish early (before upload) and provides information about created bundles for inspection.",
|
22
|
+
default: false,
|
23
|
+
type: "boolean",
|
24
|
+
},
|
25
|
+
token: {
|
26
|
+
describe: `Provide a jwt token to be used to authenticate with the Eik server. Automatically determined if authenticated (via eik login)`,
|
27
|
+
type: "string",
|
28
|
+
alias: "t",
|
29
|
+
},
|
30
|
+
});
|
31
|
+
|
32
|
+
// @ts-expect-error
|
33
|
+
yargs.default("token", defaults.token, defaults.token ? "######" : "");
|
34
|
+
|
35
|
+
yargs.example(`eik publish`);
|
36
|
+
yargs.example(`eik package`);
|
37
|
+
yargs.example(`eik pub --dry-run`);
|
38
|
+
yargs.example(`eik pkg --token ######`);
|
39
|
+
yargs.example(`eik pkg --debug`);
|
40
40
|
};
|
41
41
|
|
42
42
|
export const handler = async (argv) => {
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
spinner.text = '';
|
131
|
-
spinner.stopAndPersist();
|
132
|
-
process.exit(1);
|
133
|
-
}
|
43
|
+
const spinner = ora({ stream: process.stdout }).start("working...");
|
44
|
+
const { debug, dryRun, cwd, token, config } = argv;
|
45
|
+
// @ts-expect-error
|
46
|
+
const { name, version, server, map, out, files, type } = getDefaults(
|
47
|
+
config || cwd,
|
48
|
+
);
|
49
|
+
|
50
|
+
if (type === "map") {
|
51
|
+
spinner.warn(
|
52
|
+
'"type" is set to "map", which is not supported by the publish command. Please use the "eik map" command instead',
|
53
|
+
);
|
54
|
+
process.stdout.write("\n");
|
55
|
+
process.exit(0);
|
56
|
+
}
|
57
|
+
|
58
|
+
try {
|
59
|
+
const options = {
|
60
|
+
logger: logger(spinner, debug),
|
61
|
+
cwd,
|
62
|
+
token,
|
63
|
+
dryRun,
|
64
|
+
debug,
|
65
|
+
name,
|
66
|
+
server,
|
67
|
+
version,
|
68
|
+
type,
|
69
|
+
map,
|
70
|
+
out,
|
71
|
+
files,
|
72
|
+
};
|
73
|
+
|
74
|
+
const publish = await new PublishPackage(options).run();
|
75
|
+
|
76
|
+
if (!publish) {
|
77
|
+
spinner.warn(
|
78
|
+
"Version in eik.json has not changed since last publish, publishing is not necessary",
|
79
|
+
);
|
80
|
+
process.stdout.write("\n");
|
81
|
+
process.exit(0);
|
82
|
+
}
|
83
|
+
|
84
|
+
const { files: fls } = publish;
|
85
|
+
|
86
|
+
if (!dryRun) {
|
87
|
+
let url = new URL(join(typeSlug(type), name), server);
|
88
|
+
let res = await fetch(url);
|
89
|
+
const pkgMeta = await res.json();
|
90
|
+
|
91
|
+
url = new URL(join(typeSlug(type), name, version), server);
|
92
|
+
res = await fetch(url);
|
93
|
+
const pkgVersionMeta = await res.json();
|
94
|
+
|
95
|
+
const artifact = new Artifact(pkgMeta);
|
96
|
+
artifact.versions = [pkgVersionMeta];
|
97
|
+
|
98
|
+
spinner.text = "";
|
99
|
+
spinner.stopAndPersist();
|
100
|
+
|
101
|
+
artifact.format(server);
|
102
|
+
process.stdout.write("\n");
|
103
|
+
} else {
|
104
|
+
spinner.text = "";
|
105
|
+
spinner.stopAndPersist();
|
106
|
+
|
107
|
+
process.stdout.write(
|
108
|
+
`:: ${chalk.bgYellow.white.bold(
|
109
|
+
typeTitle(type),
|
110
|
+
)} > ${chalk.green(name)} | ${chalk.bold("dry run")}`,
|
111
|
+
);
|
112
|
+
process.stdout.write("\n\n");
|
113
|
+
process.stdout.write(" files (local temporary):\n");
|
114
|
+
for (const file of fls) {
|
115
|
+
process.stdout.write(` - ${chalk.bold("type")}: ${file.type}\n`);
|
116
|
+
process.stdout.write(
|
117
|
+
` ${chalk.bold("path")}: ${file.pathname}\n\n`,
|
118
|
+
);
|
119
|
+
}
|
120
|
+
process.stdout.write(
|
121
|
+
` ${chalk.bold("No files were published to remote server")}\n\n`,
|
122
|
+
);
|
123
|
+
}
|
124
|
+
} catch (err) {
|
125
|
+
spinner.warn(err.message);
|
126
|
+
spinner.text = "";
|
127
|
+
spinner.stopAndPersist();
|
128
|
+
process.exit(1);
|
129
|
+
}
|
134
130
|
};
|