@eik/cli 3.0.0-next.1 → 3.0.0-next.2
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +17 -0
- package/classes/alias.js +6 -6
- package/commands/alias.js +125 -0
- package/formatters/alias.js +6 -0
- package/package.json +1 -1
- package/commands/map-alias.js +0 -105
- package/commands/npm-alias.js +0 -100
- package/commands/package-alias.js +0 -109
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
# [3.0.0-next.2](https://github.com/eik-lib/cli/compare/v3.0.0-next.1...v3.0.0-next.2) (2022-08-17)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* incorrect version number displayed on alias when updating with a cache layer infront ([8c468d6](https://github.com/eik-lib/cli/commit/8c468d670f6f10f25ae4decdab7a6950a1093d6a))
|
7
|
+
|
8
|
+
|
9
|
+
### Features
|
10
|
+
|
11
|
+
* **!:** new alias command for all types of packages ([e482880](https://github.com/eik-lib/cli/commit/e48288002e9e8942f71d8f8dd0583395152aff49))
|
12
|
+
|
13
|
+
|
14
|
+
### BREAKING CHANGES
|
15
|
+
|
16
|
+
* **!:** New alias command that is to be used for creating package, npm and import map aliases. Old alias commands have been removed.
|
17
|
+
|
1
18
|
# [3.0.0-next.1](https://github.com/eik-lib/cli/compare/v2.0.22...v3.0.0-next.1) (2022-08-17)
|
2
19
|
|
3
20
|
|
package/classes/alias.js
CHANGED
@@ -59,7 +59,9 @@ module.exports = class Alias {
|
|
59
59
|
|
60
60
|
data.org = message.org || '';
|
61
61
|
data.integrity = message.integrity || '';
|
62
|
-
|
62
|
+
// We'll use message.version when the cache has been properly purged
|
63
|
+
// data.version = message.version || this.version;
|
64
|
+
data.version = this.version;
|
63
65
|
data.name = message.name || this.name;
|
64
66
|
data.files = message.files || [];
|
65
67
|
|
@@ -68,10 +70,6 @@ module.exports = class Alias {
|
|
68
70
|
let status = err.statusCode;
|
69
71
|
|
70
72
|
if (status === 409) {
|
71
|
-
this.log.debug(
|
72
|
-
'Alias already exists on server, performing update',
|
73
|
-
);
|
74
|
-
|
75
73
|
try {
|
76
74
|
const { message: msg } = await request({
|
77
75
|
host: this.server,
|
@@ -83,7 +81,9 @@ module.exports = class Alias {
|
|
83
81
|
|
84
82
|
data.org = msg.org || '';
|
85
83
|
data.integrity = msg.integrity || '';
|
86
|
-
|
84
|
+
// We'll use msg.version when the cache has been properly purged
|
85
|
+
// data.version = msg.version || this.version;
|
86
|
+
data.version = this.version;
|
87
87
|
data.name = msg.name || this.name;
|
88
88
|
data.files = msg.files || [];
|
89
89
|
data.update = true;
|
@@ -0,0 +1,125 @@
|
|
1
|
+
/* eslint-disable no-nested-ternary */
|
2
|
+
const ora = require('ora');
|
3
|
+
const { configStore, getDefaults } = require('@eik/common-config-loader');
|
4
|
+
const { getCWD, logger } = require('../utils');
|
5
|
+
|
6
|
+
const Alias = require('../classes/alias');
|
7
|
+
const { Alias: AliasFormatter } = require('../formatters');
|
8
|
+
|
9
|
+
exports.command = 'alias <name> <version> <alias>';
|
10
|
+
|
11
|
+
exports.aliases = [
|
12
|
+
'ma',
|
13
|
+
'pa',
|
14
|
+
'pkg-alias',
|
15
|
+
'na',
|
16
|
+
'dep-alias',
|
17
|
+
'dependency-alias',
|
18
|
+
];
|
19
|
+
|
20
|
+
exports.describe = `Create a semver major alias for a package or an import map as identified by its name and version.
|
21
|
+
A package or import map with the given name and version must already exist on the Eik server
|
22
|
+
Alias should be the semver major part of the version.
|
23
|
+
Eg. For a package or import map of version 5.4.3, you should use 5 as the alias`;
|
24
|
+
|
25
|
+
exports.builder = (yargs) => {
|
26
|
+
const cwd = getCWD();
|
27
|
+
const defaults = getDefaults(cwd);
|
28
|
+
|
29
|
+
yargs
|
30
|
+
.positional('name', {
|
31
|
+
describe: `Name of package or map that is to be aliased`,
|
32
|
+
type: 'string',
|
33
|
+
})
|
34
|
+
.positional('version', {
|
35
|
+
describe: `Version for package or map that is to be aliased`,
|
36
|
+
type: 'string',
|
37
|
+
})
|
38
|
+
.positional('alias', {
|
39
|
+
describe: `Alias for a semver version. Should be the semver major component of version.`,
|
40
|
+
type: 'string',
|
41
|
+
});
|
42
|
+
|
43
|
+
yargs.options({
|
44
|
+
server: {
|
45
|
+
alias: 's',
|
46
|
+
describe: 'Specify location of Eik server.',
|
47
|
+
default: defaults.server,
|
48
|
+
},
|
49
|
+
cwd: {
|
50
|
+
alias: 'c',
|
51
|
+
describe: 'Alter current working directory.',
|
52
|
+
default: defaults.cwd,
|
53
|
+
},
|
54
|
+
debug: {
|
55
|
+
describe: 'Log additional messages',
|
56
|
+
default: false,
|
57
|
+
type: 'boolean',
|
58
|
+
},
|
59
|
+
token: {
|
60
|
+
describe:
|
61
|
+
'Provide a jwt token to be used to authenticate with the Eik server.',
|
62
|
+
default: '',
|
63
|
+
alias: 't',
|
64
|
+
},
|
65
|
+
});
|
66
|
+
|
67
|
+
yargs.default('token', defaults.token, defaults.token ? '######' : '');
|
68
|
+
|
69
|
+
yargs.example(`eik alias my-app 1.6.2 1`);
|
70
|
+
yargs.example(`eik alias my-map 1.0.1 1`);
|
71
|
+
yargs.example(`eik alias lodash 4.17.19 4`);
|
72
|
+
yargs.example(
|
73
|
+
`eik alias my-map 6.3.1 6 --server https://assets.myeikserver.com`,
|
74
|
+
);
|
75
|
+
yargs.example(`eik alias my-map 4.2.2 4 --debug`);
|
76
|
+
};
|
77
|
+
|
78
|
+
exports.handler = async (argv) => {
|
79
|
+
const spinner = ora({ stream: process.stdout }).start('working...');
|
80
|
+
let success = false;
|
81
|
+
const { cwd, type: typeFromArgs, debug } = argv;
|
82
|
+
const config = configStore.findInDirectory(cwd);
|
83
|
+
const { server, type } = config;
|
84
|
+
|
85
|
+
const typeOverride = typeFromArgs || type;
|
86
|
+
const log = logger(spinner, debug);
|
87
|
+
|
88
|
+
const isPackage = ['package', 'npm'].includes(typeOverride);
|
89
|
+
|
90
|
+
try {
|
91
|
+
const data = await new Alias({
|
92
|
+
type:
|
93
|
+
typeOverride === 'package'
|
94
|
+
? 'pkg'
|
95
|
+
: typeOverride === 'npm'
|
96
|
+
? 'npm'
|
97
|
+
: typeOverride === 'map'
|
98
|
+
? 'map'
|
99
|
+
: 'pkg',
|
100
|
+
logger: log,
|
101
|
+
...argv,
|
102
|
+
}).run();
|
103
|
+
|
104
|
+
const createdOrUpdated = data.update ? 'Updated' : 'Created';
|
105
|
+
log.info(
|
106
|
+
`${createdOrUpdated} alias for ${isPackage ? 'package' : 'map'} "${
|
107
|
+
data.name
|
108
|
+
}". ("${data.version}" => "v${data.alias}")`,
|
109
|
+
);
|
110
|
+
success = true;
|
111
|
+
|
112
|
+
spinner.text = '';
|
113
|
+
spinner.stopAndPersist();
|
114
|
+
if (success) {
|
115
|
+
new AliasFormatter(data).format(server);
|
116
|
+
} else {
|
117
|
+
process.exit(1);
|
118
|
+
}
|
119
|
+
} catch (err) {
|
120
|
+
spinner.warn(err.message);
|
121
|
+
spinner.text = '';
|
122
|
+
spinner.stopAndPersist();
|
123
|
+
process.exit(1);
|
124
|
+
}
|
125
|
+
};
|
package/formatters/alias.js
CHANGED
@@ -55,6 +55,12 @@ class Alias {
|
|
55
55
|
|
56
56
|
if (this.update) {
|
57
57
|
write(`${chalk.bgMagenta.white(' UPDATED \n\n')}`);
|
58
|
+
|
59
|
+
write(
|
60
|
+
`${chalk.yellow.bold(
|
61
|
+
'! It may take up to 40 minutes before this alias updates due to caching.',
|
62
|
+
)}\n\n`,
|
63
|
+
);
|
58
64
|
} else {
|
59
65
|
write(`${chalk.bgGreen.white(' NEW ')}\n\n`);
|
60
66
|
}
|
package/package.json
CHANGED
package/commands/map-alias.js
DELETED
@@ -1,105 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
const ora = require('ora');
|
4
|
-
const { getDefaults } = require('@eik/common-config-loader');
|
5
|
-
const Alias = require('../classes/alias');
|
6
|
-
const { logger, getCWD } = require('../utils');
|
7
|
-
const { Alias: AliasFormatter } = require('../formatters');
|
8
|
-
|
9
|
-
exports.command = 'map-alias <name> <version> <alias>';
|
10
|
-
|
11
|
-
exports.aliases = ['ma'];
|
12
|
-
|
13
|
-
exports.describe = `Create a semver major alias for an import map as identified by its name and version.
|
14
|
-
An import map with the given name and version must already exist on asset server
|
15
|
-
Alias should be the semver major part of the import map version.
|
16
|
-
Eg. For an import map of version 5.4.3, you should use 5 as the alias`;
|
17
|
-
|
18
|
-
exports.builder = (yargs) => {
|
19
|
-
const cwd = getCWD();
|
20
|
-
const defaults = getDefaults(cwd);
|
21
|
-
|
22
|
-
yargs
|
23
|
-
.positional('name', {
|
24
|
-
describe: `Import map name for import map that is to be aliased`,
|
25
|
-
type: 'string',
|
26
|
-
})
|
27
|
-
.positional('version', {
|
28
|
-
describe: `Import map version for import map that is to be aliased`,
|
29
|
-
type: 'string',
|
30
|
-
})
|
31
|
-
.positional('alias', {
|
32
|
-
describe: `Alias for a semver version. Should be the semver major component of version.`,
|
33
|
-
type: 'string',
|
34
|
-
});
|
35
|
-
|
36
|
-
yargs.options({
|
37
|
-
server: {
|
38
|
-
alias: 's',
|
39
|
-
describe: 'Specify location of asset server.',
|
40
|
-
default: defaults.server,
|
41
|
-
},
|
42
|
-
cwd: {
|
43
|
-
alias: 'c',
|
44
|
-
describe: 'Alter current working directory.',
|
45
|
-
default: defaults.cwd,
|
46
|
-
},
|
47
|
-
debug: {
|
48
|
-
describe: 'Logs additional messages',
|
49
|
-
default: false,
|
50
|
-
type: 'boolean',
|
51
|
-
},
|
52
|
-
token: {
|
53
|
-
describe:
|
54
|
-
'Provide a jwt token to be used to authenticate with the Eik server.',
|
55
|
-
default: '',
|
56
|
-
alias: 't',
|
57
|
-
},
|
58
|
-
});
|
59
|
-
|
60
|
-
yargs.default('token', defaults.token, defaults.token ? '######' : '');
|
61
|
-
|
62
|
-
yargs.example(`eik map-alias my-map 1.0.0 1`);
|
63
|
-
yargs.example(`eik map-alias my-map 1.7.3 1`);
|
64
|
-
yargs.example(`eik map-alias my-map 6.3.1 6`);
|
65
|
-
yargs.example(
|
66
|
-
`eik map-alias my-map 6.3.1 6 --server https://assets.myeikserver.com`,
|
67
|
-
);
|
68
|
-
yargs.example(`eik map-alias my-map 4.2.2 4 --debug`);
|
69
|
-
};
|
70
|
-
|
71
|
-
exports.handler = async (argv) => {
|
72
|
-
const spinner = ora({ stream: process.stdout }).start('working...');
|
73
|
-
let success = false;
|
74
|
-
const { debug, name, version, server } = argv;
|
75
|
-
const log = logger(spinner, debug);
|
76
|
-
let data = {};
|
77
|
-
|
78
|
-
try {
|
79
|
-
data = await new Alias({
|
80
|
-
type: 'map',
|
81
|
-
logger: log,
|
82
|
-
...argv,
|
83
|
-
}).run();
|
84
|
-
|
85
|
-
data.name = name;
|
86
|
-
data.version = version;
|
87
|
-
data.files = [];
|
88
|
-
|
89
|
-
const createdOrUpdated = data.update ? 'Updated' : 'Created';
|
90
|
-
log.info(
|
91
|
-
`${createdOrUpdated} alias for package "${data.name}". ("${data.version}" => "v${data.alias}")`,
|
92
|
-
);
|
93
|
-
success = true;
|
94
|
-
} catch (err) {
|
95
|
-
log.warn(err.message);
|
96
|
-
}
|
97
|
-
|
98
|
-
spinner.text = '';
|
99
|
-
spinner.stopAndPersist();
|
100
|
-
if (success) {
|
101
|
-
new AliasFormatter(data).format(server);
|
102
|
-
} else {
|
103
|
-
process.exit(1);
|
104
|
-
}
|
105
|
-
};
|
package/commands/npm-alias.js
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
const ora = require('ora');
|
4
|
-
const { getDefaults } = require('@eik/common-config-loader');
|
5
|
-
const Alias = require('../classes/alias');
|
6
|
-
const { logger, getCWD } = require('../utils');
|
7
|
-
const { Alias: AliasFormatter } = require('../formatters');
|
8
|
-
|
9
|
-
exports.command = 'npm-alias <name> <version> <alias>';
|
10
|
-
|
11
|
-
exports.aliases = ['na', 'dep-alias', 'dependency-alias'];
|
12
|
-
|
13
|
-
exports.describe = `Create a semver major alias for an NPM package as identified by its name and version.
|
14
|
-
An NPM package with the given name and version must already exist on the asset server
|
15
|
-
Alias should be the semver major part of the NPM package version.
|
16
|
-
Eg. For an NPM package of version 5.4.3, you should use 5 as the alias`;
|
17
|
-
|
18
|
-
exports.builder = (yargs) => {
|
19
|
-
const cwd = getCWD();
|
20
|
-
const defaults = getDefaults(cwd);
|
21
|
-
|
22
|
-
yargs
|
23
|
-
.positional('name', {
|
24
|
-
describe: 'Name matching NPM package name.',
|
25
|
-
type: 'string',
|
26
|
-
})
|
27
|
-
.positional('version', {
|
28
|
-
describe: 'Version matching NPM package version.',
|
29
|
-
type: 'string',
|
30
|
-
})
|
31
|
-
.positional('alias', {
|
32
|
-
describe:
|
33
|
-
'Alias for a semver version. Must be the semver major component of version.',
|
34
|
-
type: 'string',
|
35
|
-
});
|
36
|
-
|
37
|
-
yargs.options({
|
38
|
-
server: {
|
39
|
-
alias: 's',
|
40
|
-
describe: 'Specify location of asset server.',
|
41
|
-
default: defaults.server,
|
42
|
-
},
|
43
|
-
cwd: {
|
44
|
-
alias: 'c',
|
45
|
-
describe: 'Alter current working directory.',
|
46
|
-
default: defaults.cwd,
|
47
|
-
},
|
48
|
-
debug: {
|
49
|
-
describe: 'Logs additional messages',
|
50
|
-
default: false,
|
51
|
-
type: 'boolean',
|
52
|
-
},
|
53
|
-
token: {
|
54
|
-
describe:
|
55
|
-
'Provide a jwt token to be used to authenticate with the Eik server.',
|
56
|
-
default: '',
|
57
|
-
alias: 't',
|
58
|
-
},
|
59
|
-
});
|
60
|
-
|
61
|
-
yargs.default('token', defaults.token, defaults.token ? '######' : '');
|
62
|
-
|
63
|
-
yargs.example(`eik npm lit-html 1.0.0 1`);
|
64
|
-
yargs.example(`eik npm lit-html 1.3.5 1 --debug`);
|
65
|
-
yargs.example(
|
66
|
-
`eik npm lit-html 5.3.2 5 --server https://assets.myeikserver.com`,
|
67
|
-
);
|
68
|
-
};
|
69
|
-
|
70
|
-
exports.handler = async (argv) => {
|
71
|
-
const spinner = ora({ stream: process.stdout }).start('working...');
|
72
|
-
let success = false;
|
73
|
-
const { debug, server } = argv;
|
74
|
-
const log = logger(spinner, debug);
|
75
|
-
let data = {};
|
76
|
-
|
77
|
-
try {
|
78
|
-
data = await new Alias({
|
79
|
-
type: 'npm',
|
80
|
-
logger: log,
|
81
|
-
...argv,
|
82
|
-
}).run();
|
83
|
-
|
84
|
-
const createdOrUpdated = data.update ? 'Updated' : 'Created';
|
85
|
-
log.info(
|
86
|
-
`${createdOrUpdated} alias for package "${data.name}". ("${data.version}" => "v${data.alias}")`,
|
87
|
-
);
|
88
|
-
success = true;
|
89
|
-
} catch (err) {
|
90
|
-
log.warn(err.message);
|
91
|
-
}
|
92
|
-
|
93
|
-
spinner.text = '';
|
94
|
-
spinner.stopAndPersist();
|
95
|
-
if (success) {
|
96
|
-
new AliasFormatter(data).format(server);
|
97
|
-
} else {
|
98
|
-
process.exit(1);
|
99
|
-
}
|
100
|
-
};
|
@@ -1,109 +0,0 @@
|
|
1
|
-
'use strict';
|
2
|
-
|
3
|
-
const ora = require('ora');
|
4
|
-
const semver = require('semver');
|
5
|
-
const { getDefaults } = require('@eik/common-config-loader');
|
6
|
-
const Alias = require('../classes/alias');
|
7
|
-
const { logger, getCWD } = require('../utils');
|
8
|
-
const { Alias: AliasFormatter } = require('../formatters');
|
9
|
-
|
10
|
-
exports.command = 'package-alias [name] [version] [alias]';
|
11
|
-
|
12
|
-
exports.aliases = ['pkg-alias', 'pa'];
|
13
|
-
|
14
|
-
exports.describe = `Create a semver major alias for a package as identified by its name and version.
|
15
|
-
A package with the given name and version must already exist on asset server
|
16
|
-
Alias should be the semver major part of the package version.
|
17
|
-
Eg. For a package of version 5.4.3, you should use 5 as the alias`;
|
18
|
-
|
19
|
-
exports.builder = (yargs) => {
|
20
|
-
const cwd = getCWD();
|
21
|
-
const defaults = getDefaults(cwd);
|
22
|
-
|
23
|
-
yargs
|
24
|
-
.positional('name', {
|
25
|
-
describe: 'Name matching existing name for a package on Eik server',
|
26
|
-
type: 'string',
|
27
|
-
default: defaults.name,
|
28
|
-
})
|
29
|
-
.positional('version', {
|
30
|
-
describe:
|
31
|
-
'Version matching existing version for a package on Eik server',
|
32
|
-
type: 'string',
|
33
|
-
default: defaults.version,
|
34
|
-
})
|
35
|
-
.positional('alias', {
|
36
|
-
describe:
|
37
|
-
'Alias for a semver version. Must be the semver major component of version. Eg. 1.0.0 should be given as 1',
|
38
|
-
type: 'string',
|
39
|
-
default: defaults.version ? semver.major(defaults.version) : null,
|
40
|
-
});
|
41
|
-
|
42
|
-
yargs.options({
|
43
|
-
server: {
|
44
|
-
alias: 's',
|
45
|
-
describe: 'Specify location of Eik asset server.',
|
46
|
-
default: defaults.server,
|
47
|
-
},
|
48
|
-
cwd: {
|
49
|
-
alias: 'c',
|
50
|
-
describe: 'Alter the current working directory.',
|
51
|
-
default: defaults.cwd,
|
52
|
-
},
|
53
|
-
debug: {
|
54
|
-
describe: 'Logs additional messages',
|
55
|
-
default: false,
|
56
|
-
type: 'boolean',
|
57
|
-
},
|
58
|
-
token: {
|
59
|
-
describe:
|
60
|
-
'Provide a jwt token to be used to authenticate with the Eik server.',
|
61
|
-
default: '',
|
62
|
-
alias: 't',
|
63
|
-
},
|
64
|
-
});
|
65
|
-
|
66
|
-
yargs.default('token', defaults.token, defaults.token ? '######' : '');
|
67
|
-
|
68
|
-
yargs.example(`eik package-alias my-app 1.0.0 1`);
|
69
|
-
yargs.example(`eik package-alias my-app 1.7.3 1`);
|
70
|
-
yargs.example(`eik package-alias my-app 6.3.1 6`);
|
71
|
-
yargs.example(
|
72
|
-
`eik package-alias my-app 6.3.1 6 --server https://assets.myeikserver.com`,
|
73
|
-
);
|
74
|
-
yargs.example(`eik package-alias my-app 4.2.2 4 --debug`);
|
75
|
-
};
|
76
|
-
|
77
|
-
exports.handler = async (argv) => {
|
78
|
-
const spinner = ora({ stream: process.stdout }).start('working...');
|
79
|
-
let success = false;
|
80
|
-
const { debug, server } = argv;
|
81
|
-
const log = logger(spinner, debug);
|
82
|
-
let af;
|
83
|
-
|
84
|
-
try {
|
85
|
-
const data = await new Alias({
|
86
|
-
type: 'pkg',
|
87
|
-
logger: log,
|
88
|
-
...argv,
|
89
|
-
}).run();
|
90
|
-
|
91
|
-
af = new AliasFormatter(data);
|
92
|
-
|
93
|
-
const createdOrUpdated = data.update ? 'Updated' : 'Created';
|
94
|
-
log.info(
|
95
|
-
`${createdOrUpdated} alias for package "${data.name}". ("${data.version}" => "v${data.alias}")`,
|
96
|
-
);
|
97
|
-
success = true;
|
98
|
-
} catch (err) {
|
99
|
-
log.warn(err.message);
|
100
|
-
}
|
101
|
-
|
102
|
-
spinner.text = '';
|
103
|
-
spinner.stopAndPersist();
|
104
|
-
if (success) {
|
105
|
-
af.format(server);
|
106
|
-
} else {
|
107
|
-
process.exit(1);
|
108
|
-
}
|
109
|
-
};
|