UNPKG

1.59 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.getPresetByName = void 0;
4const path_1 = require("path");
5async 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 /** CJS Error code */
26 err.code !== 'MODULE_NOT_FOUND' &&
27 /** ESM Error code */
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}
51exports.getPresetByName = getPresetByName;