UNPKG

1.18 kBJavaScriptView Raw
1const chalk = require('chalk');
2const isObject = require('isobject');
3const merge = require('merge-options');
4
5module.exports = {
6 apply(argv, options) {
7 const result = {};
8 const resolve = {};
9
10 if (argv.resolveAlias && isObject(argv.resolveAlias)) {
11 resolve.alias = argv.resolveAlias;
12 }
13
14 if (argv.resolveExtensions) {
15 const value = argv.resolveExtensions;
16
17 if (value) {
18 resolve.extensions = Array.isArray(value) ? value : value.split(/,\s*/);
19 }
20 }
21
22 if (argv.resolveLoaderAlias) {
23 result.resolveLoader = argv.resolveAlias;
24 }
25
26 if (Object.keys(resolve).length) {
27 result.resolve = resolve;
28 }
29
30 return merge(options, result);
31 },
32
33 flags: {
34 'resolve-alias': {
35 desc: chalk`Setup a module alias for resolving
36{dim e.g. --resolve-alias.jquery jquery.plugin}`,
37 type: 'object',
38 },
39 'resolve-extensions': {
40 desc: chalk`Setup extensions that should be used to resolve modules
41{dim e.g. .es6,.js}`,
42 type: ['string', 'array'],
43 },
44 'resolve-loader-alias': {
45 desc: 'Setup a loader alias for resolving',
46 type: 'object',
47 },
48 },
49
50 name: 'Resolver',
51};