1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.getPresetByName = void 0;
|
4 | const path_1 = require("path");
|
5 | async function getPresetByName(name, loader) {
|
6 | const possibleNames = [
|
7 | `@graphql-codegen/${name}`,
|
8 | `@graphql-codegen/${name}-preset`,
|
9 | name,
|
10 | (0, path_1.resolve)(process.cwd(), name),
|
11 | ];
|
12 | for (const moduleName of possibleNames) {
|
13 | try {
|
14 | const loaded = await loader(moduleName);
|
15 | if (loaded === null || loaded === void 0 ? void 0 : loaded.preset) {
|
16 | return loaded.preset;
|
17 | }
|
18 | if (loaded === null || loaded === void 0 ? void 0 : loaded.default) {
|
19 | return loaded.default;
|
20 | }
|
21 | return loaded;
|
22 | }
|
23 | catch (err) {
|
24 | if (
|
25 |
|
26 | err.code !== 'MODULE_NOT_FOUND' &&
|
27 |
|
28 | err.code !== 'ERR_MODULE_NOT_FOUND') {
|
29 | throw new Error(`Unable to load preset matching ${name}
|
30 |
|
31 | Unable to load preset matching '${name}'.
|
32 | Reason:
|
33 | ${err.message}
|
34 | `);
|
35 | }
|
36 | }
|
37 | }
|
38 | const possibleNamesMsg = possibleNames
|
39 | .map(name => `
|
40 | - ${name}
|
41 | `.trimRight())
|
42 | .join('');
|
43 | throw new Error(`Unable to find preset matching ${name}
|
44 |
|
45 | Unable to find preset matching '${name}'
|
46 | Install one of the following packages:
|
47 |
|
48 | ${possibleNamesMsg}
|
49 | `);
|
50 | }
|
51 | exports.getPresetByName = getPresetByName;
|