1 | "use strict";
|
2 | var __spreadArrays = (this && this.__spreadArrays) || function () {
|
3 | for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
4 | for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
5 | for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
6 | r[k] = a[j];
|
7 | return r;
|
8 | };
|
9 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
10 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
11 | };
|
12 | exports.__esModule = true;
|
13 | var path_1 = __importDefault(require("path"));
|
14 | require("resolve-global");
|
15 | var resolve_from_1 = __importDefault(require("resolve-from"));
|
16 | var lodash_1 = require("lodash");
|
17 | var importFresh = require('import-fresh');
|
18 | function resolveExtends(config, context) {
|
19 | if (config === void 0) { config = {}; }
|
20 | if (context === void 0) { context = {}; }
|
21 | var e = config["extends"];
|
22 | var extended = loadExtends(config, context).reduceRight(function (r, c) {
|
23 | return lodash_1.mergeWith(r, lodash_1.omit(c, 'extends'), function (objValue, srcValue) {
|
24 | if (lodash_1.isArray(objValue)) {
|
25 | return srcValue;
|
26 | }
|
27 | });
|
28 | }, e ? { "extends": e } : {});
|
29 | return lodash_1.merge({}, extended, config);
|
30 | }
|
31 | exports["default"] = resolveExtends;
|
32 | function loadExtends(config, context) {
|
33 | if (config === void 0) { config = {}; }
|
34 | if (context === void 0) { context = {}; }
|
35 | return (config["extends"] || []).reduce(function (configs, raw) {
|
36 | var load = context.require || require;
|
37 | var resolved = resolveConfig(raw, context);
|
38 | var c = load(resolved);
|
39 | var cwd = path_1["default"].dirname(resolved);
|
40 | var ctx = lodash_1.merge({}, context, { cwd: cwd });
|
41 |
|
42 | if (!context.parserPreset &&
|
43 | typeof c === 'object' &&
|
44 | typeof c.parserPreset === 'string') {
|
45 | var resolvedParserPreset = resolve_from_1["default"](cwd, c.parserPreset);
|
46 | var parserPreset = {
|
47 | name: c.parserPreset,
|
48 | path: ("./" + path_1["default"].relative(process.cwd(), resolvedParserPreset))
|
49 | .split(path_1["default"].sep)
|
50 | .join('/'),
|
51 | parserOpts: require(resolvedParserPreset)
|
52 | };
|
53 | ctx.parserPreset = parserPreset;
|
54 | config.parserPreset = parserPreset;
|
55 | }
|
56 | return __spreadArrays(configs, [c], loadExtends(c, ctx));
|
57 | }, []);
|
58 | }
|
59 | function getId(raw, prefix) {
|
60 | if (raw === void 0) { raw = ''; }
|
61 | if (prefix === void 0) { prefix = ''; }
|
62 | var first = raw.charAt(0);
|
63 | var scoped = first === '@';
|
64 | var relative = first === '.';
|
65 | var absolute = path_1["default"].isAbsolute(raw);
|
66 | if (scoped) {
|
67 | return raw.includes('/') ? raw : [raw, prefix].filter(String).join('/');
|
68 | }
|
69 | return relative || absolute ? raw : [prefix, raw].filter(String).join('-');
|
70 | }
|
71 | function resolveConfig(raw, context) {
|
72 | if (context === void 0) { context = {}; }
|
73 | var resolve = context.resolve || resolveId;
|
74 | var id = getId(raw, context.prefix);
|
75 | try {
|
76 | return resolve(id, context);
|
77 | }
|
78 | catch (err) {
|
79 | var legacy = getId(raw, 'conventional-changelog-lint-config');
|
80 | var resolved = resolve(legacy, context);
|
81 | console.warn("Resolving " + raw + " to legacy config " + legacy + ". To silence this warning raise an issue at 'npm repo " + legacy + "' to rename to " + id + ".");
|
82 | return resolved;
|
83 | }
|
84 | }
|
85 | function resolveId(id, context) {
|
86 | if (context === void 0) { context = {}; }
|
87 | var cwd = context.cwd || process.cwd();
|
88 | var localPath = resolveFromSilent(cwd, id);
|
89 | if (typeof localPath === 'string') {
|
90 | return localPath;
|
91 | }
|
92 | var resolveGlobal = context.resolveGlobal || resolveGlobalSilent;
|
93 | var globalPath = resolveGlobal(id);
|
94 | if (typeof globalPath === 'string') {
|
95 | return globalPath;
|
96 | }
|
97 | var err = new Error("Cannot find module \"" + id + "\" from \"" + cwd + "\"");
|
98 | err.code = 'MODULE_NOT_FOUND';
|
99 | throw err;
|
100 | }
|
101 | function resolveFromSilent(cwd, id) {
|
102 | try {
|
103 | return resolve_from_1["default"](cwd, id);
|
104 | }
|
105 | catch (err) { }
|
106 | }
|
107 | function resolveGlobalSilent(id) {
|
108 | try {
|
109 | var resolveGlobal = importFresh('resolve-global');
|
110 | return resolveGlobal(id);
|
111 | }
|
112 | catch (err) { }
|
113 | }
|
114 |
|
\ | No newline at end of file |