@graphql-tools/load-files 6.2.7 → 6.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es5/index.cjs.js CHANGED
@@ -33,7 +33,47 @@ const fs = require('fs');
33
33
  var readFile = fs.promises.readFile, stat = fs.promises.stat;
34
34
  var DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];
35
35
  var DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];
36
- var DEFAULT_EXPORT_NAMES = ['typeDefs', 'schema'];
36
+ var DEFAULT_EXPORT_NAMES = ['schema', 'typeDef', 'typeDefs', 'resolver', 'resolvers'];
37
+ var DEFAULT_EXTRACT_EXPORTS_FACTORY = function (exportNames) { return function (fileExport) {
38
+ var e_1, _a, e_2, _b;
39
+ if (!fileExport) {
40
+ return null;
41
+ }
42
+ if (fileExport.default) {
43
+ try {
44
+ for (var exportNames_1 = tslib.__values(exportNames), exportNames_1_1 = exportNames_1.next(); !exportNames_1_1.done; exportNames_1_1 = exportNames_1.next()) {
45
+ var exportName = exportNames_1_1.value;
46
+ if (fileExport.default[exportName]) {
47
+ return fileExport.default[exportName];
48
+ }
49
+ }
50
+ }
51
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
52
+ finally {
53
+ try {
54
+ if (exportNames_1_1 && !exportNames_1_1.done && (_a = exportNames_1.return)) _a.call(exportNames_1);
55
+ }
56
+ finally { if (e_1) throw e_1.error; }
57
+ }
58
+ return fileExport.default;
59
+ }
60
+ try {
61
+ for (var exportNames_2 = tslib.__values(exportNames), exportNames_2_1 = exportNames_2.next(); !exportNames_2_1.done; exportNames_2_1 = exportNames_2.next()) {
62
+ var exportName = exportNames_2_1.value;
63
+ if (fileExport[exportName]) {
64
+ return fileExport[exportName];
65
+ }
66
+ }
67
+ }
68
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
69
+ finally {
70
+ try {
71
+ if (exportNames_2_1 && !exportNames_2_1.done && (_b = exportNames_2.return)) _b.call(exportNames_2);
72
+ }
73
+ finally { if (e_2) throw e_2.error; }
74
+ }
75
+ return fileExport;
76
+ }; };
37
77
  function asArray(obj) {
38
78
  if (obj instanceof Array) {
39
79
  return obj;
@@ -53,7 +93,7 @@ function isDirectorySync(path) {
53
93
  }
54
94
  function isDirectory(path) {
55
95
  return tslib.__awaiter(this, void 0, void 0, function () {
56
- var pathStat, e_1;
96
+ var pathStat, e_3;
57
97
  return tslib.__generator(this, function (_a) {
58
98
  switch (_a.label) {
59
99
  case 0:
@@ -63,7 +103,7 @@ function isDirectory(path) {
63
103
  pathStat = _a.sent();
64
104
  return [2 /*return*/, pathStat.isDirectory()];
65
105
  case 2:
66
- e_1 = _a.sent();
106
+ e_3 = _a.sent();
67
107
  return [2 /*return*/, false];
68
108
  case 3: return [2 /*return*/];
69
109
  }
@@ -83,46 +123,6 @@ function buildGlob(basePath, extensions, ignoredExtensions, recursive) {
83
123
  var ext = extensions.map(function (e) { return "*" + formatExtension(e); }).join('|');
84
124
  return "" + basePath + (recursive ? '/**' : '') + "/" + ignored + "+(" + ext + ")";
85
125
  }
86
- function extractExports(fileExport, exportNames) {
87
- var e_2, _a, e_3, _b;
88
- if (!fileExport) {
89
- return null;
90
- }
91
- if (fileExport.default) {
92
- try {
93
- for (var exportNames_1 = tslib.__values(exportNames), exportNames_1_1 = exportNames_1.next(); !exportNames_1_1.done; exportNames_1_1 = exportNames_1.next()) {
94
- var exportName = exportNames_1_1.value;
95
- if (fileExport.default[exportName]) {
96
- return fileExport.default[exportName];
97
- }
98
- }
99
- }
100
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
101
- finally {
102
- try {
103
- if (exportNames_1_1 && !exportNames_1_1.done && (_a = exportNames_1.return)) _a.call(exportNames_1);
104
- }
105
- finally { if (e_2) throw e_2.error; }
106
- }
107
- return fileExport.default;
108
- }
109
- try {
110
- for (var exportNames_2 = tslib.__values(exportNames), exportNames_2_1 = exportNames_2.next(); !exportNames_2_1.done; exportNames_2_1 = exportNames_2.next()) {
111
- var exportName = exportNames_2_1.value;
112
- if (fileExport[exportName]) {
113
- return fileExport[exportName];
114
- }
115
- }
116
- }
117
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
118
- finally {
119
- try {
120
- if (exportNames_2_1 && !exportNames_2_1.done && (_b = exportNames_2.return)) _b.call(exportNames_2);
121
- }
122
- finally { if (e_3) throw e_3.error; }
123
- }
124
- return fileExport;
125
- }
126
126
  var LoadFilesDefaultOptions = {
127
127
  ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,
128
128
  extensions: DEFAULT_EXTENSIONS,
@@ -148,6 +148,8 @@ function loadFilesSync(pattern, options) {
148
148
  ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)
149
149
  : unixify(path);
150
150
  }), options.globOptions);
151
+ var extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);
152
+ var requireMethod = execOptions.requireMethod || require;
151
153
  return relevantPaths
152
154
  .map(function (path$1) {
153
155
  if (!checkExtension(path$1, options)) {
@@ -158,26 +160,8 @@ function loadFilesSync(pattern, options) {
158
160
  }
159
161
  var extension = path.extname(path$1);
160
162
  if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {
161
- var fileExports = (execOptions.requireMethod ? execOptions.requireMethod : require)(path$1);
162
- var extractedExport = extractExports(fileExports, execOptions.exportNames);
163
- if (extractedExport.typeDefs && extractedExport.resolvers) {
164
- return extractedExport;
165
- }
166
- if (extractedExport.schema) {
167
- return extractedExport.schema;
168
- }
169
- if (extractedExport.typeDef) {
170
- return extractedExport.typeDef;
171
- }
172
- if (extractedExport.typeDefs) {
173
- return extractedExport.typeDefs;
174
- }
175
- if (extractedExport.resolver) {
176
- return extractedExport.resolver;
177
- }
178
- if (extractedExport.resolvers) {
179
- return extractedExport.resolvers;
180
- }
163
+ var fileExports = requireMethod(path$1);
164
+ var extractedExport = extractExports(fileExports);
181
165
  return extractedExport;
182
166
  }
183
167
  else {
@@ -195,7 +179,7 @@ function scanForFiles(globStr, globOptions) {
195
179
  });
196
180
  }
197
181
  var checkExtension = function (path, _a) {
198
- var e_4, _b, e_5, _c;
182
+ var e_4, _b, e_5, _c, e_6, _d;
199
183
  var extensions = _a.extensions, ignoredExtensions = _a.ignoredExtensions;
200
184
  if (ignoredExtensions) {
201
185
  try {
@@ -220,7 +204,26 @@ var checkExtension = function (path, _a) {
220
204
  try {
221
205
  for (var extensions_1 = tslib.__values(extensions), extensions_1_1 = extensions_1.next(); !extensions_1_1.done; extensions_1_1 = extensions_1.next()) {
222
206
  var extension = extensions_1_1.value;
223
- if (path.endsWith(formatExtension(extension))) {
207
+ var formattedExtension = formatExtension(extension);
208
+ if (path.endsWith(formattedExtension)) {
209
+ if (ignoredExtensions) {
210
+ try {
211
+ for (var ignoredExtensions_2 = (e_6 = void 0, tslib.__values(ignoredExtensions)), ignoredExtensions_2_1 = ignoredExtensions_2.next(); !ignoredExtensions_2_1.done; ignoredExtensions_2_1 = ignoredExtensions_2.next()) {
212
+ var ignoredExtension = ignoredExtensions_2_1.value;
213
+ var formattedIgnoredExtension = formatExtension(ignoredExtension);
214
+ if (path.endsWith(formattedIgnoredExtension + formattedExtension)) {
215
+ return false;
216
+ }
217
+ }
218
+ }
219
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
220
+ finally {
221
+ try {
222
+ if (ignoredExtensions_2_1 && !ignoredExtensions_2_1.done && (_d = ignoredExtensions_2.return)) _d.call(ignoredExtensions_2);
223
+ }
224
+ finally { if (e_6) throw e_6.error; }
225
+ }
226
+ }
224
227
  return true;
225
228
  }
226
229
  }
@@ -242,7 +245,7 @@ var checkExtension = function (path, _a) {
242
245
  function loadFiles(pattern, options) {
243
246
  if (options === void 0) { options = LoadFilesDefaultOptions; }
244
247
  return tslib.__awaiter(this, void 0, void 0, function () {
245
- var execOptions, relevantPaths, _a, require$;
248
+ var execOptions, relevantPaths, _a, extractExports, defaultRequireMethod, requireMethod;
246
249
  var _this = this;
247
250
  return tslib.__generator(this, function (_b) {
248
251
  switch (_b.label) {
@@ -262,9 +265,11 @@ function loadFiles(pattern, options) {
262
265
  case 1: return [4 /*yield*/, _a.apply(void 0, [_b.sent(), options.globOptions])];
263
266
  case 2:
264
267
  relevantPaths = _b.sent();
265
- require$ = function (path) { return new Promise(function (resolve) { resolve(_interopNamespace(require(path))); }).catch(function () { return tslib.__awaiter(_this, void 0, void 0, function () { return tslib.__generator(this, function (_a) {
268
+ extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);
269
+ defaultRequireMethod = function (path) { return new Promise(function (resolve) { resolve(_interopNamespace(require(path))); }).catch(function () { return tslib.__awaiter(_this, void 0, void 0, function () { return tslib.__generator(this, function (_a) {
266
270
  return [2 /*return*/, require(path)];
267
271
  }); }); }); };
272
+ requireMethod = execOptions.requireMethod || defaultRequireMethod;
268
273
  return [2 /*return*/, Promise.all(relevantPaths
269
274
  .filter(function (path) { return checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex); })
270
275
  .map(function (path$1) { return tslib.__awaiter(_this, void 0, void 0, function () {
@@ -274,16 +279,10 @@ function loadFiles(pattern, options) {
274
279
  case 0:
275
280
  extension = path.extname(path$1);
276
281
  if (!(extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire)) return [3 /*break*/, 2];
277
- return [4 /*yield*/, (execOptions.requireMethod ? execOptions.requireMethod : require$)(path$1)];
282
+ return [4 /*yield*/, requireMethod(path$1)];
278
283
  case 1:
279
284
  fileExports = _a.sent();
280
- extractedExport = extractExports(fileExports, execOptions.exportNames);
281
- if (extractedExport.resolver) {
282
- return [2 /*return*/, extractedExport.resolver];
283
- }
284
- if (extractedExport.resolvers) {
285
- return [2 /*return*/, extractedExport.resolvers];
286
- }
285
+ extractedExport = extractExports(fileExports);
287
286
  return [2 /*return*/, extractedExport];
288
287
  case 2: return [2 /*return*/, readFile(path$1, { encoding: 'utf-8' })];
289
288
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../dist-es5/load-files/src/index.js"],"sourcesContent":["import { __assign, __awaiter, __generator, __values } from \"tslib\";\nimport globby, { sync as globbySync } from 'globby';\nimport unixify from 'unixify';\nimport { extname } from 'path';\nimport { statSync, readFileSync, promises as fsPromises } from 'fs';\nvar readFile = fsPromises.readFile, stat = fsPromises.stat;\nvar DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];\nvar DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];\nvar DEFAULT_EXPORT_NAMES = ['typeDefs', 'schema'];\nfunction asArray(obj) {\n if (obj instanceof Array) {\n return obj;\n }\n else {\n return [obj];\n }\n}\nfunction isDirectorySync(path) {\n try {\n var pathStat = statSync(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nfunction isDirectory(path) {\n return __awaiter(this, void 0, void 0, function () {\n var pathStat, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, stat(path)];\n case 1:\n pathStat = _a.sent();\n return [2 /*return*/, pathStat.isDirectory()];\n case 2:\n e_1 = _a.sent();\n return [2 /*return*/, false];\n case 3: return [2 /*return*/];\n }\n });\n });\n}\nfunction scanForFilesSync(globStr, globOptions) {\n if (globOptions === void 0) { globOptions = {}; }\n return globbySync(globStr, __assign({ absolute: true }, globOptions));\n}\nfunction formatExtension(extension) {\n return extension.charAt(0) === '.' ? extension : \".\" + extension;\n}\nfunction buildGlob(basePath, extensions, ignoredExtensions, recursive) {\n if (ignoredExtensions === void 0) { ignoredExtensions = []; }\n var ignored = ignoredExtensions.length > 0 ? \"!(\" + ignoredExtensions.map(function (e) { return \"*\" + formatExtension(e); }).join('|') + \")\" : '*';\n var ext = extensions.map(function (e) { return \"*\" + formatExtension(e); }).join('|');\n return \"\" + basePath + (recursive ? '/**' : '') + \"/\" + ignored + \"+(\" + ext + \")\";\n}\nfunction extractExports(fileExport, exportNames) {\n var e_2, _a, e_3, _b;\n if (!fileExport) {\n return null;\n }\n if (fileExport.default) {\n try {\n for (var exportNames_1 = __values(exportNames), exportNames_1_1 = exportNames_1.next(); !exportNames_1_1.done; exportNames_1_1 = exportNames_1.next()) {\n var exportName = exportNames_1_1.value;\n if (fileExport.default[exportName]) {\n return fileExport.default[exportName];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (exportNames_1_1 && !exportNames_1_1.done && (_a = exportNames_1.return)) _a.call(exportNames_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return fileExport.default;\n }\n try {\n for (var exportNames_2 = __values(exportNames), exportNames_2_1 = exportNames_2.next(); !exportNames_2_1.done; exportNames_2_1 = exportNames_2.next()) {\n var exportName = exportNames_2_1.value;\n if (fileExport[exportName]) {\n return fileExport[exportName];\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (exportNames_2_1 && !exportNames_2_1.done && (_b = exportNames_2.return)) _b.call(exportNames_2);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return fileExport;\n}\nvar LoadFilesDefaultOptions = {\n ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,\n extensions: DEFAULT_EXTENSIONS,\n useRequire: false,\n requireMethod: null,\n globOptions: {\n absolute: true,\n },\n exportNames: DEFAULT_EXPORT_NAMES,\n recursive: true,\n ignoreIndex: false,\n};\n/**\n * Synchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFilesSync(pattern, options) {\n if (options === void 0) { options = LoadFilesDefaultOptions; }\n var execOptions = __assign(__assign({}, LoadFilesDefaultOptions), options);\n var relevantPaths = scanForFilesSync(asArray(pattern).map(function (path) {\n return isDirectorySync(path)\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path);\n }), options.globOptions);\n return relevantPaths\n .map(function (path) {\n if (!checkExtension(path, options)) {\n return null;\n }\n if (isIndex(path, execOptions.extensions) && options.ignoreIndex) {\n return false;\n }\n var extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n var fileExports = (execOptions.requireMethod ? execOptions.requireMethod : require)(path);\n var extractedExport = extractExports(fileExports, execOptions.exportNames);\n if (extractedExport.typeDefs && extractedExport.resolvers) {\n return extractedExport;\n }\n if (extractedExport.schema) {\n return extractedExport.schema;\n }\n if (extractedExport.typeDef) {\n return extractedExport.typeDef;\n }\n if (extractedExport.typeDefs) {\n return extractedExport.typeDefs;\n }\n if (extractedExport.resolver) {\n return extractedExport.resolver;\n }\n if (extractedExport.resolvers) {\n return extractedExport.resolvers;\n }\n return extractedExport;\n }\n else {\n return readFileSync(path, { encoding: 'utf-8' });\n }\n })\n .filter(function (v) { return v; });\n}\nfunction scanForFiles(globStr, globOptions) {\n if (globOptions === void 0) { globOptions = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, globby(globStr, __assign({ absolute: true }, globOptions))];\n });\n });\n}\nvar checkExtension = function (path, _a) {\n var e_4, _b, e_5, _c;\n var extensions = _a.extensions, ignoredExtensions = _a.ignoredExtensions;\n if (ignoredExtensions) {\n try {\n for (var ignoredExtensions_1 = __values(ignoredExtensions), ignoredExtensions_1_1 = ignoredExtensions_1.next(); !ignoredExtensions_1_1.done; ignoredExtensions_1_1 = ignoredExtensions_1.next()) {\n var ignoredExtension = ignoredExtensions_1_1.value;\n if (path.endsWith(formatExtension(ignoredExtension))) {\n return false;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (ignoredExtensions_1_1 && !ignoredExtensions_1_1.done && (_b = ignoredExtensions_1.return)) _b.call(ignoredExtensions_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n if (!extensions) {\n return true;\n }\n try {\n for (var extensions_1 = __values(extensions), extensions_1_1 = extensions_1.next(); !extensions_1_1.done; extensions_1_1 = extensions_1.next()) {\n var extension = extensions_1_1.value;\n if (path.endsWith(formatExtension(extension))) {\n return true;\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (extensions_1_1 && !extensions_1_1.done && (_c = extensions_1.return)) _c.call(extensions_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return false;\n};\n/**\n * Asynchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFiles(pattern, options) {\n if (options === void 0) { options = LoadFilesDefaultOptions; }\n return __awaiter(this, void 0, void 0, function () {\n var execOptions, relevantPaths, _a, require$;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n execOptions = __assign(__assign({}, LoadFilesDefaultOptions), options);\n _a = scanForFiles;\n return [4 /*yield*/, Promise.all(asArray(pattern).map(function (path) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, isDirectory(path)];\n case 1: return [2 /*return*/, (_a.sent())\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path)];\n }\n });\n }); }))];\n case 1: return [4 /*yield*/, _a.apply(void 0, [_b.sent(), options.globOptions])];\n case 2:\n relevantPaths = _b.sent();\n require$ = function (path) { return import(path).catch(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, require(path)];\n }); }); }); };\n return [2 /*return*/, Promise.all(relevantPaths\n .filter(function (path) { return checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex); })\n .map(function (path) { return __awaiter(_this, void 0, void 0, function () {\n var extension, fileExports, extractedExport;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n extension = extname(path);\n if (!(extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire)) return [3 /*break*/, 2];\n return [4 /*yield*/, (execOptions.requireMethod ? execOptions.requireMethod : require$)(path)];\n case 1:\n fileExports = _a.sent();\n extractedExport = extractExports(fileExports, execOptions.exportNames);\n if (extractedExport.resolver) {\n return [2 /*return*/, extractedExport.resolver];\n }\n if (extractedExport.resolvers) {\n return [2 /*return*/, extractedExport.resolvers];\n }\n return [2 /*return*/, extractedExport];\n case 2: return [2 /*return*/, readFile(path, { encoding: 'utf-8' })];\n }\n });\n }); }))];\n }\n });\n });\n}\nfunction isIndex(path, extensions) {\n if (extensions === void 0) { extensions = []; }\n var IS_INDEX = /(\\/|\\\\)index\\.[^\\/\\\\]+$/i; // (/ or \\) AND `index.` AND (everything except \\ and /)(end of line)\n return IS_INDEX.test(path) && extensions.some(function (ext) { return path.endsWith(formatExtension(ext)); });\n}\n//# sourceMappingURL=index.js.map"],"names":["fsPromises","statSync","__awaiter","__generator","globbySync","__assign","__values","path","extname","readFileSync","globby"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../dist-es5/load-files/src/index.js"],"sourcesContent":["import { __assign, __awaiter, __generator, __values } from \"tslib\";\nimport globby, { sync as globbySync } from 'globby';\nimport unixify from 'unixify';\nimport { extname } from 'path';\nimport { statSync, readFileSync, promises as fsPromises } from 'fs';\nvar readFile = fsPromises.readFile, stat = fsPromises.stat;\nvar DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];\nvar DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];\nvar DEFAULT_EXPORT_NAMES = ['schema', 'typeDef', 'typeDefs', 'resolver', 'resolvers'];\nvar DEFAULT_EXTRACT_EXPORTS_FACTORY = function (exportNames) { return function (fileExport) {\n var e_1, _a, e_2, _b;\n if (!fileExport) {\n return null;\n }\n if (fileExport.default) {\n try {\n for (var exportNames_1 = __values(exportNames), exportNames_1_1 = exportNames_1.next(); !exportNames_1_1.done; exportNames_1_1 = exportNames_1.next()) {\n var exportName = exportNames_1_1.value;\n if (fileExport.default[exportName]) {\n return fileExport.default[exportName];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (exportNames_1_1 && !exportNames_1_1.done && (_a = exportNames_1.return)) _a.call(exportNames_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return fileExport.default;\n }\n try {\n for (var exportNames_2 = __values(exportNames), exportNames_2_1 = exportNames_2.next(); !exportNames_2_1.done; exportNames_2_1 = exportNames_2.next()) {\n var exportName = exportNames_2_1.value;\n if (fileExport[exportName]) {\n return fileExport[exportName];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (exportNames_2_1 && !exportNames_2_1.done && (_b = exportNames_2.return)) _b.call(exportNames_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return fileExport;\n}; };\nfunction asArray(obj) {\n if (obj instanceof Array) {\n return obj;\n }\n else {\n return [obj];\n }\n}\nfunction isDirectorySync(path) {\n try {\n var pathStat = statSync(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nfunction isDirectory(path) {\n return __awaiter(this, void 0, void 0, function () {\n var pathStat, e_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, stat(path)];\n case 1:\n pathStat = _a.sent();\n return [2 /*return*/, pathStat.isDirectory()];\n case 2:\n e_3 = _a.sent();\n return [2 /*return*/, false];\n case 3: return [2 /*return*/];\n }\n });\n });\n}\nfunction scanForFilesSync(globStr, globOptions) {\n if (globOptions === void 0) { globOptions = {}; }\n return globbySync(globStr, __assign({ absolute: true }, globOptions));\n}\nfunction formatExtension(extension) {\n return extension.charAt(0) === '.' ? extension : \".\" + extension;\n}\nfunction buildGlob(basePath, extensions, ignoredExtensions, recursive) {\n if (ignoredExtensions === void 0) { ignoredExtensions = []; }\n var ignored = ignoredExtensions.length > 0 ? \"!(\" + ignoredExtensions.map(function (e) { return \"*\" + formatExtension(e); }).join('|') + \")\" : '*';\n var ext = extensions.map(function (e) { return \"*\" + formatExtension(e); }).join('|');\n return \"\" + basePath + (recursive ? '/**' : '') + \"/\" + ignored + \"+(\" + ext + \")\";\n}\nvar LoadFilesDefaultOptions = {\n ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,\n extensions: DEFAULT_EXTENSIONS,\n useRequire: false,\n requireMethod: null,\n globOptions: {\n absolute: true,\n },\n exportNames: DEFAULT_EXPORT_NAMES,\n recursive: true,\n ignoreIndex: false,\n};\n/**\n * Synchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFilesSync(pattern, options) {\n if (options === void 0) { options = LoadFilesDefaultOptions; }\n var execOptions = __assign(__assign({}, LoadFilesDefaultOptions), options);\n var relevantPaths = scanForFilesSync(asArray(pattern).map(function (path) {\n return isDirectorySync(path)\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path);\n }), options.globOptions);\n var extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);\n var requireMethod = execOptions.requireMethod || require;\n return relevantPaths\n .map(function (path) {\n if (!checkExtension(path, options)) {\n return null;\n }\n if (isIndex(path, execOptions.extensions) && options.ignoreIndex) {\n return false;\n }\n var extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n var fileExports = requireMethod(path);\n var extractedExport = extractExports(fileExports);\n return extractedExport;\n }\n else {\n return readFileSync(path, { encoding: 'utf-8' });\n }\n })\n .filter(function (v) { return v; });\n}\nfunction scanForFiles(globStr, globOptions) {\n if (globOptions === void 0) { globOptions = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, globby(globStr, __assign({ absolute: true }, globOptions))];\n });\n });\n}\nvar checkExtension = function (path, _a) {\n var e_4, _b, e_5, _c, e_6, _d;\n var extensions = _a.extensions, ignoredExtensions = _a.ignoredExtensions;\n if (ignoredExtensions) {\n try {\n for (var ignoredExtensions_1 = __values(ignoredExtensions), ignoredExtensions_1_1 = ignoredExtensions_1.next(); !ignoredExtensions_1_1.done; ignoredExtensions_1_1 = ignoredExtensions_1.next()) {\n var ignoredExtension = ignoredExtensions_1_1.value;\n if (path.endsWith(formatExtension(ignoredExtension))) {\n return false;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (ignoredExtensions_1_1 && !ignoredExtensions_1_1.done && (_b = ignoredExtensions_1.return)) _b.call(ignoredExtensions_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n if (!extensions) {\n return true;\n }\n try {\n for (var extensions_1 = __values(extensions), extensions_1_1 = extensions_1.next(); !extensions_1_1.done; extensions_1_1 = extensions_1.next()) {\n var extension = extensions_1_1.value;\n var formattedExtension = formatExtension(extension);\n if (path.endsWith(formattedExtension)) {\n if (ignoredExtensions) {\n try {\n for (var ignoredExtensions_2 = (e_6 = void 0, __values(ignoredExtensions)), ignoredExtensions_2_1 = ignoredExtensions_2.next(); !ignoredExtensions_2_1.done; ignoredExtensions_2_1 = ignoredExtensions_2.next()) {\n var ignoredExtension = ignoredExtensions_2_1.value;\n var formattedIgnoredExtension = formatExtension(ignoredExtension);\n if (path.endsWith(formattedIgnoredExtension + formattedExtension)) {\n return false;\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (ignoredExtensions_2_1 && !ignoredExtensions_2_1.done && (_d = ignoredExtensions_2.return)) _d.call(ignoredExtensions_2);\n }\n finally { if (e_6) throw e_6.error; }\n }\n }\n return true;\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (extensions_1_1 && !extensions_1_1.done && (_c = extensions_1.return)) _c.call(extensions_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return false;\n};\n/**\n * Asynchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFiles(pattern, options) {\n if (options === void 0) { options = LoadFilesDefaultOptions; }\n return __awaiter(this, void 0, void 0, function () {\n var execOptions, relevantPaths, _a, extractExports, defaultRequireMethod, requireMethod;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n execOptions = __assign(__assign({}, LoadFilesDefaultOptions), options);\n _a = scanForFiles;\n return [4 /*yield*/, Promise.all(asArray(pattern).map(function (path) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, isDirectory(path)];\n case 1: return [2 /*return*/, (_a.sent())\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path)];\n }\n });\n }); }))];\n case 1: return [4 /*yield*/, _a.apply(void 0, [_b.sent(), options.globOptions])];\n case 2:\n relevantPaths = _b.sent();\n extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);\n defaultRequireMethod = function (path) { return import(path).catch(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, require(path)];\n }); }); }); };\n requireMethod = execOptions.requireMethod || defaultRequireMethod;\n return [2 /*return*/, Promise.all(relevantPaths\n .filter(function (path) { return checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex); })\n .map(function (path) { return __awaiter(_this, void 0, void 0, function () {\n var extension, fileExports, extractedExport;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n extension = extname(path);\n if (!(extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire)) return [3 /*break*/, 2];\n return [4 /*yield*/, requireMethod(path)];\n case 1:\n fileExports = _a.sent();\n extractedExport = extractExports(fileExports);\n return [2 /*return*/, extractedExport];\n case 2: return [2 /*return*/, readFile(path, { encoding: 'utf-8' })];\n }\n });\n }); }))];\n }\n });\n });\n}\nfunction isIndex(path, extensions) {\n if (extensions === void 0) { extensions = []; }\n var IS_INDEX = /(\\/|\\\\)index\\.[^\\/\\\\]+$/i; // (/ or \\) AND `index.` AND (everything except \\ and /)(end of line)\n return IS_INDEX.test(path) && extensions.some(function (ext) { return path.endsWith(formatExtension(ext)); });\n}\n//# sourceMappingURL=index.js.map"],"names":["fsPromises","__values","statSync","__awaiter","__generator","globbySync","__assign","path","extname","readFileSync","globby"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAI,QAAQ,GAAGA,WAAU,CAAC,QAAQ,EAAE,IAAI,GAAGA,WAAU,CAAC,IAAI,CAAC;AAC3D,IAAI,0BAA0B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC9D,IAAI,kBAAkB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpE,IAAI,oBAAoB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACtF,IAAI,+BAA+B,GAAG,UAAU,WAAW,EAAE,EAAE,OAAO,UAAU,UAAU,EAAE;AAC5F,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;AACzB,IAAI,IAAI,CAAC,UAAU,EAAE;AACrB,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AAC5B,QAAQ,IAAI;AACZ,YAAY,KAAK,IAAI,aAAa,GAAGC,cAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE;AACnK,gBAAgB,IAAI,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC;AACvD,gBAAgB,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACpD,oBAAoB,OAAO,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC1D,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;AACjD,gBAAgB;AAChB,YAAY,IAAI;AAChB,gBAAgB,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACpH,aAAa;AACb,oBAAoB,EAAE,IAAI,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AACjD,SAAS;AACT,QAAQ,OAAO,UAAU,CAAC,OAAO,CAAC;AAClC,KAAK;AACL,IAAI,IAAI;AACR,QAAQ,KAAK,IAAI,aAAa,GAAGA,cAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE;AAC/J,YAAY,IAAI,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC;AACnD,YAAY,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE;AACxC,gBAAgB,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC;AAC9C,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,OAAO,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;AAC7C,YAAY;AACZ,QAAQ,IAAI;AACZ,YAAY,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAChH,SAAS;AACT,gBAAgB,EAAE,IAAI,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC7C,KAAK;AACL,IAAI,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC,EAAE,CAAC;AACL,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,IAAI,IAAI,GAAG,YAAY,KAAK,EAAE;AAC9B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC;AACrB,KAAK;AACL,CAAC;AACD,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,IAAI,IAAI;AACR,QAAQ,IAAI,QAAQ,GAAGC,WAAQ,CAAC,IAAI,CAAC,CAAC;AACtC,QAAQ,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;AACtC,KAAK;AACL,IAAI,OAAO,CAAC,EAAE;AACd,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,CAAC;AACD,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,IAAI,OAAOC,eAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY;AACvD,QAAQ,IAAI,QAAQ,EAAE,GAAG,CAAC;AAC1B,QAAQ,OAAOC,iBAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;AAC/C,YAAY,QAAQ,EAAE,CAAC,KAAK;AAC5B,gBAAgB,KAAK,CAAC;AACtB,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,oBAAoB,OAAO,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,gBAAgB,KAAK,CAAC;AACtB,oBAAoB,QAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AACzC,oBAAoB,OAAO,CAAC,CAAC,aAAa,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAClE,gBAAgB,KAAK,CAAC;AACtB,oBAAoB,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AACpC,oBAAoB,OAAO,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC;AACjD,gBAAgB,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,YAAY,CAAC;AAC9C,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE;AAChD,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,EAAE,CAAC,EAAE;AACrD,IAAI,OAAOC,WAAU,CAAC,OAAO,EAAEC,cAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;AAC1E,CAAC;AACD,SAAS,eAAe,CAAC,SAAS,EAAE;AACpC,IAAI,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;AACrE,CAAC;AACD,SAAS,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE;AACvE,IAAI,IAAI,iBAAiB,KAAK,KAAK,CAAC,EAAE,EAAE,iBAAiB,GAAG,EAAE,CAAC,EAAE;AACjE,IAAI,IAAI,OAAO,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AACvJ,IAAI,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1F,IAAI,OAAO,EAAE,GAAG,QAAQ,IAAI,SAAS,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AACvF,CAAC;AACD,IAAI,uBAAuB,GAAG;AAC9B,IAAI,iBAAiB,EAAE,0BAA0B;AACjD,IAAI,UAAU,EAAE,kBAAkB;AAClC,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,WAAW,EAAE;AACjB,QAAQ,QAAQ,EAAE,IAAI;AACtB,KAAK;AACL,IAAI,WAAW,EAAE,oBAAoB;AACrC,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,WAAW,EAAE,KAAK;AACtB,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE;AAChD,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,uBAAuB,CAAC,EAAE;AAClE,IAAI,IAAI,WAAW,GAAGA,cAAQ,CAACA,cAAQ,CAAC,EAAE,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/E,IAAI,IAAI,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;AAC9E,QAAQ,OAAO,eAAe,CAAC,IAAI,CAAC;AACpC,cAAc,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,SAAS,CAAC;AACpH,cAAc,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5B,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;AAC7B,IAAI,IAAI,cAAc,GAAG,WAAW,CAAC,cAAc,IAAI,+BAA+B,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAChH,IAAI,IAAI,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,OAAO,CAAC;AAC7D,IAAI,OAAO,aAAa;AACxB,SAAS,GAAG,CAAC,UAAUC,MAAI,EAAE;AAC7B,QAAQ,IAAI,CAAC,cAAc,CAACA,MAAI,EAAE,OAAO,CAAC,EAAE;AAC5C,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,OAAO,CAACA,MAAI,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE;AAC1E,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,IAAI,SAAS,GAAGC,YAAO,CAACD,MAAI,CAAC,CAAC;AACtC,QAAQ,IAAI,SAAS,KAAK,eAAe,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,eAAe,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE;AAClH,YAAY,IAAI,WAAW,GAAG,aAAa,CAACA,MAAI,CAAC,CAAC;AAClD,YAAY,IAAI,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAC9D,YAAY,OAAO,eAAe,CAAC;AACnC,SAAS;AACT,aAAa;AACb,YAAY,OAAOE,eAAY,CAACF,MAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7D,SAAS;AACT,KAAK,CAAC;AACN,SAAS,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5C,CAAC;AACD,SAAS,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE;AAC5C,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,EAAE,CAAC,EAAE;AACrD,IAAI,OAAOJ,eAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY;AACvD,QAAQ,OAAOC,iBAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;AAC/C,YAAY,OAAO,CAAC,CAAC,aAAaM,eAAM,CAAC,OAAO,EAAEJ,cAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AAC9F,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACD,IAAI,cAAc,GAAG,UAAU,IAAI,EAAE,EAAE,EAAE;AACzC,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;AAClC,IAAI,IAAI,UAAU,GAAG,EAAE,CAAC,UAAU,EAAE,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,CAAC;AAC7E,IAAI,IAAI,iBAAiB,EAAE;AAC3B,QAAQ,IAAI;AACZ,YAAY,KAAK,IAAI,mBAAmB,GAAGL,cAAQ,CAAC,iBAAiB,CAAC,EAAE,qBAAqB,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE;AAC7M,gBAAgB,IAAI,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC;AACnE,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE;AACtE,oBAAoB,OAAO,KAAK,CAAC;AACjC,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;AACjD,gBAAgB;AAChB,YAAY,IAAI;AAChB,gBAAgB,IAAI,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5I,aAAa;AACb,oBAAoB,EAAE,IAAI,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AACjD,SAAS;AACT,KAAK;AACL,IAAI,IAAI,CAAC,UAAU,EAAE;AACrB,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,IAAI;AACR,QAAQ,KAAK,IAAI,YAAY,GAAGA,cAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE;AACxJ,YAAY,IAAI,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC;AACjD,YAAY,IAAI,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAChE,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AACnD,gBAAgB,IAAI,iBAAiB,EAAE;AACvC,oBAAoB,IAAI;AACxB,wBAAwB,KAAK,IAAI,mBAAmB,IAAI,GAAG,GAAG,KAAK,CAAC,EAAEA,cAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,qBAAqB,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,mBAAmB,CAAC,IAAI,EAAE,EAAE;AACzO,4BAA4B,IAAI,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC;AAC/E,4BAA4B,IAAI,yBAAyB,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;AAC9F,4BAA4B,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,GAAG,kBAAkB,CAAC,EAAE;AAC/F,gCAAgC,OAAO,KAAK,CAAC;AAC7C,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,OAAO,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;AAC7D,4BAA4B;AAC5B,wBAAwB,IAAI;AAC5B,4BAA4B,IAAI,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACxJ,yBAAyB;AACzB,gCAAgC,EAAE,IAAI,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC7D,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,OAAO,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;AAC7C,YAAY;AACZ,QAAQ,IAAI;AACZ,YAAY,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5G,SAAS;AACT,gBAAgB,EAAE,IAAI,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC7C,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACO,SAAS,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE;AAC5C,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,uBAAuB,CAAC,EAAE;AAClE,IAAI,OAAOE,eAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY;AACvD,QAAQ,IAAI,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,CAAC;AAChG,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAOC,iBAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;AAC/C,YAAY,QAAQ,EAAE,CAAC,KAAK;AAC5B,gBAAgB,KAAK,CAAC;AACtB,oBAAoB,WAAW,GAAGE,cAAQ,CAACA,cAAQ,CAAC,EAAE,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3F,oBAAoB,EAAE,GAAG,YAAY,CAAC;AACtC,oBAAoB,OAAO,CAAC,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,OAAOH,eAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY;AAChJ,4BAA4B,OAAOC,iBAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;AACnE,gCAAgC,QAAQ,EAAE,CAAC,KAAK;AAChD,oCAAoC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACpF,oCAAoC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;AAC5E,8CAA8C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,SAAS,CAAC;AACpJ,8CAA8C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,iCAAiC;AACjC,6BAA6B,CAAC,CAAC;AAC/B,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjC,gBAAgB,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACjG,gBAAgB,KAAK,CAAC;AACtB,oBAAoB,aAAa,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AAC9C,oBAAoB,cAAc,GAAG,WAAW,CAAC,cAAc,IAAI,+BAA+B,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC5H,oBAAoB,oBAAoB,GAAG,UAAU,IAAI,EAAE,EAAE,OAAO,mEAAO,IAAI,OAAC,CAAC,KAAK,CAAC,YAAY,EAAE,OAAOD,eAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,OAAOC,iBAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;AAClM,wBAAwB,OAAO,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAClC,oBAAoB,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,oBAAoB,CAAC;AACtF,oBAAoB,OAAO,CAAC,CAAC,aAAa,OAAO,CAAC,GAAG,CAAC,aAAa;AACnE,6BAA6B,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;AACjK,6BAA6B,GAAG,CAAC,UAAUG,MAAI,EAAE,EAAE,OAAOJ,eAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY;AACvG,4BAA4B,IAAI,SAAS,EAAE,WAAW,EAAE,eAAe,CAAC;AACxE,4BAA4B,OAAOC,iBAAW,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;AACnE,gCAAgC,QAAQ,EAAE,CAAC,KAAK;AAChD,oCAAoC,KAAK,CAAC;AAC1C,wCAAwC,SAAS,GAAGI,YAAO,CAACD,MAAI,CAAC,CAAC;AAClE,wCAAwC,IAAI,EAAE,SAAS,KAAK,eAAe,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,eAAe,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7K,wCAAwC,OAAO,CAAC,CAAC,YAAY,aAAa,CAACA,MAAI,CAAC,CAAC,CAAC;AAClF,oCAAoC,KAAK,CAAC;AAC1C,wCAAwC,WAAW,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AAChE,wCAAwC,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AACtF,wCAAwC,OAAO,CAAC,CAAC,aAAa,eAAe,CAAC,CAAC;AAC/E,oCAAoC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,QAAQ,CAACA,MAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AACzG,iCAAiC;AACjC,6BAA6B,CAAC,CAAC;AAC/B,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE;AACnC,IAAI,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC,EAAE;AACnD,IAAI,IAAI,QAAQ,GAAG,0BAA0B,CAAC;AAC9C,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClH;;;;;"}
package/es5/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export interface LoadFilesOptions {
11
11
  exportNames?: string[];
12
12
  recursive?: boolean;
13
13
  ignoreIndex?: boolean;
14
+ extractExports?: (fileExport: any) => any;
14
15
  }
15
16
  /**
16
17
  * Synchronously loads files using the provided glob pattern.
package/es5/index.esm.js CHANGED
@@ -7,7 +7,47 @@ import { promises, readFileSync, statSync } from 'fs';
7
7
  var readFile = promises.readFile, stat = promises.stat;
8
8
  var DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];
9
9
  var DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];
10
- var DEFAULT_EXPORT_NAMES = ['typeDefs', 'schema'];
10
+ var DEFAULT_EXPORT_NAMES = ['schema', 'typeDef', 'typeDefs', 'resolver', 'resolvers'];
11
+ var DEFAULT_EXTRACT_EXPORTS_FACTORY = function (exportNames) { return function (fileExport) {
12
+ var e_1, _a, e_2, _b;
13
+ if (!fileExport) {
14
+ return null;
15
+ }
16
+ if (fileExport.default) {
17
+ try {
18
+ for (var exportNames_1 = __values(exportNames), exportNames_1_1 = exportNames_1.next(); !exportNames_1_1.done; exportNames_1_1 = exportNames_1.next()) {
19
+ var exportName = exportNames_1_1.value;
20
+ if (fileExport.default[exportName]) {
21
+ return fileExport.default[exportName];
22
+ }
23
+ }
24
+ }
25
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
26
+ finally {
27
+ try {
28
+ if (exportNames_1_1 && !exportNames_1_1.done && (_a = exportNames_1.return)) _a.call(exportNames_1);
29
+ }
30
+ finally { if (e_1) throw e_1.error; }
31
+ }
32
+ return fileExport.default;
33
+ }
34
+ try {
35
+ for (var exportNames_2 = __values(exportNames), exportNames_2_1 = exportNames_2.next(); !exportNames_2_1.done; exportNames_2_1 = exportNames_2.next()) {
36
+ var exportName = exportNames_2_1.value;
37
+ if (fileExport[exportName]) {
38
+ return fileExport[exportName];
39
+ }
40
+ }
41
+ }
42
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
43
+ finally {
44
+ try {
45
+ if (exportNames_2_1 && !exportNames_2_1.done && (_b = exportNames_2.return)) _b.call(exportNames_2);
46
+ }
47
+ finally { if (e_2) throw e_2.error; }
48
+ }
49
+ return fileExport;
50
+ }; };
11
51
  function asArray(obj) {
12
52
  if (obj instanceof Array) {
13
53
  return obj;
@@ -27,7 +67,7 @@ function isDirectorySync(path) {
27
67
  }
28
68
  function isDirectory(path) {
29
69
  return __awaiter(this, void 0, void 0, function () {
30
- var pathStat, e_1;
70
+ var pathStat, e_3;
31
71
  return __generator(this, function (_a) {
32
72
  switch (_a.label) {
33
73
  case 0:
@@ -37,7 +77,7 @@ function isDirectory(path) {
37
77
  pathStat = _a.sent();
38
78
  return [2 /*return*/, pathStat.isDirectory()];
39
79
  case 2:
40
- e_1 = _a.sent();
80
+ e_3 = _a.sent();
41
81
  return [2 /*return*/, false];
42
82
  case 3: return [2 /*return*/];
43
83
  }
@@ -57,46 +97,6 @@ function buildGlob(basePath, extensions, ignoredExtensions, recursive) {
57
97
  var ext = extensions.map(function (e) { return "*" + formatExtension(e); }).join('|');
58
98
  return "" + basePath + (recursive ? '/**' : '') + "/" + ignored + "+(" + ext + ")";
59
99
  }
60
- function extractExports(fileExport, exportNames) {
61
- var e_2, _a, e_3, _b;
62
- if (!fileExport) {
63
- return null;
64
- }
65
- if (fileExport.default) {
66
- try {
67
- for (var exportNames_1 = __values(exportNames), exportNames_1_1 = exportNames_1.next(); !exportNames_1_1.done; exportNames_1_1 = exportNames_1.next()) {
68
- var exportName = exportNames_1_1.value;
69
- if (fileExport.default[exportName]) {
70
- return fileExport.default[exportName];
71
- }
72
- }
73
- }
74
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
75
- finally {
76
- try {
77
- if (exportNames_1_1 && !exportNames_1_1.done && (_a = exportNames_1.return)) _a.call(exportNames_1);
78
- }
79
- finally { if (e_2) throw e_2.error; }
80
- }
81
- return fileExport.default;
82
- }
83
- try {
84
- for (var exportNames_2 = __values(exportNames), exportNames_2_1 = exportNames_2.next(); !exportNames_2_1.done; exportNames_2_1 = exportNames_2.next()) {
85
- var exportName = exportNames_2_1.value;
86
- if (fileExport[exportName]) {
87
- return fileExport[exportName];
88
- }
89
- }
90
- }
91
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
92
- finally {
93
- try {
94
- if (exportNames_2_1 && !exportNames_2_1.done && (_b = exportNames_2.return)) _b.call(exportNames_2);
95
- }
96
- finally { if (e_3) throw e_3.error; }
97
- }
98
- return fileExport;
99
- }
100
100
  var LoadFilesDefaultOptions = {
101
101
  ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,
102
102
  extensions: DEFAULT_EXTENSIONS,
@@ -122,6 +122,8 @@ function loadFilesSync(pattern, options) {
122
122
  ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)
123
123
  : unixify(path);
124
124
  }), options.globOptions);
125
+ var extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);
126
+ var requireMethod = execOptions.requireMethod || require;
125
127
  return relevantPaths
126
128
  .map(function (path) {
127
129
  if (!checkExtension(path, options)) {
@@ -132,26 +134,8 @@ function loadFilesSync(pattern, options) {
132
134
  }
133
135
  var extension = extname(path);
134
136
  if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {
135
- var fileExports = (execOptions.requireMethod ? execOptions.requireMethod : require)(path);
136
- var extractedExport = extractExports(fileExports, execOptions.exportNames);
137
- if (extractedExport.typeDefs && extractedExport.resolvers) {
138
- return extractedExport;
139
- }
140
- if (extractedExport.schema) {
141
- return extractedExport.schema;
142
- }
143
- if (extractedExport.typeDef) {
144
- return extractedExport.typeDef;
145
- }
146
- if (extractedExport.typeDefs) {
147
- return extractedExport.typeDefs;
148
- }
149
- if (extractedExport.resolver) {
150
- return extractedExport.resolver;
151
- }
152
- if (extractedExport.resolvers) {
153
- return extractedExport.resolvers;
154
- }
137
+ var fileExports = requireMethod(path);
138
+ var extractedExport = extractExports(fileExports);
155
139
  return extractedExport;
156
140
  }
157
141
  else {
@@ -169,7 +153,7 @@ function scanForFiles(globStr, globOptions) {
169
153
  });
170
154
  }
171
155
  var checkExtension = function (path, _a) {
172
- var e_4, _b, e_5, _c;
156
+ var e_4, _b, e_5, _c, e_6, _d;
173
157
  var extensions = _a.extensions, ignoredExtensions = _a.ignoredExtensions;
174
158
  if (ignoredExtensions) {
175
159
  try {
@@ -194,7 +178,26 @@ var checkExtension = function (path, _a) {
194
178
  try {
195
179
  for (var extensions_1 = __values(extensions), extensions_1_1 = extensions_1.next(); !extensions_1_1.done; extensions_1_1 = extensions_1.next()) {
196
180
  var extension = extensions_1_1.value;
197
- if (path.endsWith(formatExtension(extension))) {
181
+ var formattedExtension = formatExtension(extension);
182
+ if (path.endsWith(formattedExtension)) {
183
+ if (ignoredExtensions) {
184
+ try {
185
+ for (var ignoredExtensions_2 = (e_6 = void 0, __values(ignoredExtensions)), ignoredExtensions_2_1 = ignoredExtensions_2.next(); !ignoredExtensions_2_1.done; ignoredExtensions_2_1 = ignoredExtensions_2.next()) {
186
+ var ignoredExtension = ignoredExtensions_2_1.value;
187
+ var formattedIgnoredExtension = formatExtension(ignoredExtension);
188
+ if (path.endsWith(formattedIgnoredExtension + formattedExtension)) {
189
+ return false;
190
+ }
191
+ }
192
+ }
193
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
194
+ finally {
195
+ try {
196
+ if (ignoredExtensions_2_1 && !ignoredExtensions_2_1.done && (_d = ignoredExtensions_2.return)) _d.call(ignoredExtensions_2);
197
+ }
198
+ finally { if (e_6) throw e_6.error; }
199
+ }
200
+ }
198
201
  return true;
199
202
  }
200
203
  }
@@ -216,7 +219,7 @@ var checkExtension = function (path, _a) {
216
219
  function loadFiles(pattern, options) {
217
220
  if (options === void 0) { options = LoadFilesDefaultOptions; }
218
221
  return __awaiter(this, void 0, void 0, function () {
219
- var execOptions, relevantPaths, _a, require$;
222
+ var execOptions, relevantPaths, _a, extractExports, defaultRequireMethod, requireMethod;
220
223
  var _this = this;
221
224
  return __generator(this, function (_b) {
222
225
  switch (_b.label) {
@@ -236,9 +239,11 @@ function loadFiles(pattern, options) {
236
239
  case 1: return [4 /*yield*/, _a.apply(void 0, [_b.sent(), options.globOptions])];
237
240
  case 2:
238
241
  relevantPaths = _b.sent();
239
- require$ = function (path) { return import(path).catch(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
242
+ extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);
243
+ defaultRequireMethod = function (path) { return import(path).catch(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
240
244
  return [2 /*return*/, require(path)];
241
245
  }); }); }); };
246
+ requireMethod = execOptions.requireMethod || defaultRequireMethod;
242
247
  return [2 /*return*/, Promise.all(relevantPaths
243
248
  .filter(function (path) { return checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex); })
244
249
  .map(function (path) { return __awaiter(_this, void 0, void 0, function () {
@@ -248,16 +253,10 @@ function loadFiles(pattern, options) {
248
253
  case 0:
249
254
  extension = extname(path);
250
255
  if (!(extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire)) return [3 /*break*/, 2];
251
- return [4 /*yield*/, (execOptions.requireMethod ? execOptions.requireMethod : require$)(path)];
256
+ return [4 /*yield*/, requireMethod(path)];
252
257
  case 1:
253
258
  fileExports = _a.sent();
254
- extractedExport = extractExports(fileExports, execOptions.exportNames);
255
- if (extractedExport.resolver) {
256
- return [2 /*return*/, extractedExport.resolver];
257
- }
258
- if (extractedExport.resolvers) {
259
- return [2 /*return*/, extractedExport.resolvers];
260
- }
259
+ extractedExport = extractExports(fileExports);
261
260
  return [2 /*return*/, extractedExport];
262
261
  case 2: return [2 /*return*/, readFile(path, { encoding: 'utf-8' })];
263
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../dist-es5/load-files/src/index.js"],"sourcesContent":["import { __assign, __awaiter, __generator, __values } from \"tslib\";\nimport globby, { sync as globbySync } from 'globby';\nimport unixify from 'unixify';\nimport { extname } from 'path';\nimport { statSync, readFileSync, promises as fsPromises } from 'fs';\nvar readFile = fsPromises.readFile, stat = fsPromises.stat;\nvar DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];\nvar DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];\nvar DEFAULT_EXPORT_NAMES = ['typeDefs', 'schema'];\nfunction asArray(obj) {\n if (obj instanceof Array) {\n return obj;\n }\n else {\n return [obj];\n }\n}\nfunction isDirectorySync(path) {\n try {\n var pathStat = statSync(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nfunction isDirectory(path) {\n return __awaiter(this, void 0, void 0, function () {\n var pathStat, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, stat(path)];\n case 1:\n pathStat = _a.sent();\n return [2 /*return*/, pathStat.isDirectory()];\n case 2:\n e_1 = _a.sent();\n return [2 /*return*/, false];\n case 3: return [2 /*return*/];\n }\n });\n });\n}\nfunction scanForFilesSync(globStr, globOptions) {\n if (globOptions === void 0) { globOptions = {}; }\n return globbySync(globStr, __assign({ absolute: true }, globOptions));\n}\nfunction formatExtension(extension) {\n return extension.charAt(0) === '.' ? extension : \".\" + extension;\n}\nfunction buildGlob(basePath, extensions, ignoredExtensions, recursive) {\n if (ignoredExtensions === void 0) { ignoredExtensions = []; }\n var ignored = ignoredExtensions.length > 0 ? \"!(\" + ignoredExtensions.map(function (e) { return \"*\" + formatExtension(e); }).join('|') + \")\" : '*';\n var ext = extensions.map(function (e) { return \"*\" + formatExtension(e); }).join('|');\n return \"\" + basePath + (recursive ? '/**' : '') + \"/\" + ignored + \"+(\" + ext + \")\";\n}\nfunction extractExports(fileExport, exportNames) {\n var e_2, _a, e_3, _b;\n if (!fileExport) {\n return null;\n }\n if (fileExport.default) {\n try {\n for (var exportNames_1 = __values(exportNames), exportNames_1_1 = exportNames_1.next(); !exportNames_1_1.done; exportNames_1_1 = exportNames_1.next()) {\n var exportName = exportNames_1_1.value;\n if (fileExport.default[exportName]) {\n return fileExport.default[exportName];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (exportNames_1_1 && !exportNames_1_1.done && (_a = exportNames_1.return)) _a.call(exportNames_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return fileExport.default;\n }\n try {\n for (var exportNames_2 = __values(exportNames), exportNames_2_1 = exportNames_2.next(); !exportNames_2_1.done; exportNames_2_1 = exportNames_2.next()) {\n var exportName = exportNames_2_1.value;\n if (fileExport[exportName]) {\n return fileExport[exportName];\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (exportNames_2_1 && !exportNames_2_1.done && (_b = exportNames_2.return)) _b.call(exportNames_2);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return fileExport;\n}\nvar LoadFilesDefaultOptions = {\n ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,\n extensions: DEFAULT_EXTENSIONS,\n useRequire: false,\n requireMethod: null,\n globOptions: {\n absolute: true,\n },\n exportNames: DEFAULT_EXPORT_NAMES,\n recursive: true,\n ignoreIndex: false,\n};\n/**\n * Synchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFilesSync(pattern, options) {\n if (options === void 0) { options = LoadFilesDefaultOptions; }\n var execOptions = __assign(__assign({}, LoadFilesDefaultOptions), options);\n var relevantPaths = scanForFilesSync(asArray(pattern).map(function (path) {\n return isDirectorySync(path)\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path);\n }), options.globOptions);\n return relevantPaths\n .map(function (path) {\n if (!checkExtension(path, options)) {\n return null;\n }\n if (isIndex(path, execOptions.extensions) && options.ignoreIndex) {\n return false;\n }\n var extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n var fileExports = (execOptions.requireMethod ? execOptions.requireMethod : require)(path);\n var extractedExport = extractExports(fileExports, execOptions.exportNames);\n if (extractedExport.typeDefs && extractedExport.resolvers) {\n return extractedExport;\n }\n if (extractedExport.schema) {\n return extractedExport.schema;\n }\n if (extractedExport.typeDef) {\n return extractedExport.typeDef;\n }\n if (extractedExport.typeDefs) {\n return extractedExport.typeDefs;\n }\n if (extractedExport.resolver) {\n return extractedExport.resolver;\n }\n if (extractedExport.resolvers) {\n return extractedExport.resolvers;\n }\n return extractedExport;\n }\n else {\n return readFileSync(path, { encoding: 'utf-8' });\n }\n })\n .filter(function (v) { return v; });\n}\nfunction scanForFiles(globStr, globOptions) {\n if (globOptions === void 0) { globOptions = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, globby(globStr, __assign({ absolute: true }, globOptions))];\n });\n });\n}\nvar checkExtension = function (path, _a) {\n var e_4, _b, e_5, _c;\n var extensions = _a.extensions, ignoredExtensions = _a.ignoredExtensions;\n if (ignoredExtensions) {\n try {\n for (var ignoredExtensions_1 = __values(ignoredExtensions), ignoredExtensions_1_1 = ignoredExtensions_1.next(); !ignoredExtensions_1_1.done; ignoredExtensions_1_1 = ignoredExtensions_1.next()) {\n var ignoredExtension = ignoredExtensions_1_1.value;\n if (path.endsWith(formatExtension(ignoredExtension))) {\n return false;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (ignoredExtensions_1_1 && !ignoredExtensions_1_1.done && (_b = ignoredExtensions_1.return)) _b.call(ignoredExtensions_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n if (!extensions) {\n return true;\n }\n try {\n for (var extensions_1 = __values(extensions), extensions_1_1 = extensions_1.next(); !extensions_1_1.done; extensions_1_1 = extensions_1.next()) {\n var extension = extensions_1_1.value;\n if (path.endsWith(formatExtension(extension))) {\n return true;\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (extensions_1_1 && !extensions_1_1.done && (_c = extensions_1.return)) _c.call(extensions_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return false;\n};\n/**\n * Asynchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFiles(pattern, options) {\n if (options === void 0) { options = LoadFilesDefaultOptions; }\n return __awaiter(this, void 0, void 0, function () {\n var execOptions, relevantPaths, _a, require$;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n execOptions = __assign(__assign({}, LoadFilesDefaultOptions), options);\n _a = scanForFiles;\n return [4 /*yield*/, Promise.all(asArray(pattern).map(function (path) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, isDirectory(path)];\n case 1: return [2 /*return*/, (_a.sent())\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path)];\n }\n });\n }); }))];\n case 1: return [4 /*yield*/, _a.apply(void 0, [_b.sent(), options.globOptions])];\n case 2:\n relevantPaths = _b.sent();\n require$ = function (path) { return import(path).catch(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, require(path)];\n }); }); }); };\n return [2 /*return*/, Promise.all(relevantPaths\n .filter(function (path) { return checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex); })\n .map(function (path) { return __awaiter(_this, void 0, void 0, function () {\n var extension, fileExports, extractedExport;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n extension = extname(path);\n if (!(extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire)) return [3 /*break*/, 2];\n return [4 /*yield*/, (execOptions.requireMethod ? execOptions.requireMethod : require$)(path)];\n case 1:\n fileExports = _a.sent();\n extractedExport = extractExports(fileExports, execOptions.exportNames);\n if (extractedExport.resolver) {\n return [2 /*return*/, extractedExport.resolver];\n }\n if (extractedExport.resolvers) {\n return [2 /*return*/, extractedExport.resolvers];\n }\n return [2 /*return*/, extractedExport];\n case 2: return [2 /*return*/, readFile(path, { encoding: 'utf-8' })];\n }\n });\n }); }))];\n }\n });\n });\n}\nfunction isIndex(path, extensions) {\n if (extensions === void 0) { extensions = []; }\n var IS_INDEX = /(\\/|\\\\)index\\.[^\\/\\\\]+$/i; // (/ or \\) AND `index.` AND (everything except \\ and /)(end of line)\n return IS_INDEX.test(path) && extensions.some(function (ext) { return path.endsWith(formatExtension(ext)); });\n}\n//# sourceMappingURL=index.js.map"],"names":["fsPromises","globbySync"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../dist-es5/load-files/src/index.js"],"sourcesContent":["import { __assign, __awaiter, __generator, __values } from \"tslib\";\nimport globby, { sync as globbySync } from 'globby';\nimport unixify from 'unixify';\nimport { extname } from 'path';\nimport { statSync, readFileSync, promises as fsPromises } from 'fs';\nvar readFile = fsPromises.readFile, stat = fsPromises.stat;\nvar DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];\nvar DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];\nvar DEFAULT_EXPORT_NAMES = ['schema', 'typeDef', 'typeDefs', 'resolver', 'resolvers'];\nvar DEFAULT_EXTRACT_EXPORTS_FACTORY = function (exportNames) { return function (fileExport) {\n var e_1, _a, e_2, _b;\n if (!fileExport) {\n return null;\n }\n if (fileExport.default) {\n try {\n for (var exportNames_1 = __values(exportNames), exportNames_1_1 = exportNames_1.next(); !exportNames_1_1.done; exportNames_1_1 = exportNames_1.next()) {\n var exportName = exportNames_1_1.value;\n if (fileExport.default[exportName]) {\n return fileExport.default[exportName];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (exportNames_1_1 && !exportNames_1_1.done && (_a = exportNames_1.return)) _a.call(exportNames_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return fileExport.default;\n }\n try {\n for (var exportNames_2 = __values(exportNames), exportNames_2_1 = exportNames_2.next(); !exportNames_2_1.done; exportNames_2_1 = exportNames_2.next()) {\n var exportName = exportNames_2_1.value;\n if (fileExport[exportName]) {\n return fileExport[exportName];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (exportNames_2_1 && !exportNames_2_1.done && (_b = exportNames_2.return)) _b.call(exportNames_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return fileExport;\n}; };\nfunction asArray(obj) {\n if (obj instanceof Array) {\n return obj;\n }\n else {\n return [obj];\n }\n}\nfunction isDirectorySync(path) {\n try {\n var pathStat = statSync(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nfunction isDirectory(path) {\n return __awaiter(this, void 0, void 0, function () {\n var pathStat, e_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, stat(path)];\n case 1:\n pathStat = _a.sent();\n return [2 /*return*/, pathStat.isDirectory()];\n case 2:\n e_3 = _a.sent();\n return [2 /*return*/, false];\n case 3: return [2 /*return*/];\n }\n });\n });\n}\nfunction scanForFilesSync(globStr, globOptions) {\n if (globOptions === void 0) { globOptions = {}; }\n return globbySync(globStr, __assign({ absolute: true }, globOptions));\n}\nfunction formatExtension(extension) {\n return extension.charAt(0) === '.' ? extension : \".\" + extension;\n}\nfunction buildGlob(basePath, extensions, ignoredExtensions, recursive) {\n if (ignoredExtensions === void 0) { ignoredExtensions = []; }\n var ignored = ignoredExtensions.length > 0 ? \"!(\" + ignoredExtensions.map(function (e) { return \"*\" + formatExtension(e); }).join('|') + \")\" : '*';\n var ext = extensions.map(function (e) { return \"*\" + formatExtension(e); }).join('|');\n return \"\" + basePath + (recursive ? '/**' : '') + \"/\" + ignored + \"+(\" + ext + \")\";\n}\nvar LoadFilesDefaultOptions = {\n ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,\n extensions: DEFAULT_EXTENSIONS,\n useRequire: false,\n requireMethod: null,\n globOptions: {\n absolute: true,\n },\n exportNames: DEFAULT_EXPORT_NAMES,\n recursive: true,\n ignoreIndex: false,\n};\n/**\n * Synchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFilesSync(pattern, options) {\n if (options === void 0) { options = LoadFilesDefaultOptions; }\n var execOptions = __assign(__assign({}, LoadFilesDefaultOptions), options);\n var relevantPaths = scanForFilesSync(asArray(pattern).map(function (path) {\n return isDirectorySync(path)\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path);\n }), options.globOptions);\n var extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);\n var requireMethod = execOptions.requireMethod || require;\n return relevantPaths\n .map(function (path) {\n if (!checkExtension(path, options)) {\n return null;\n }\n if (isIndex(path, execOptions.extensions) && options.ignoreIndex) {\n return false;\n }\n var extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n var fileExports = requireMethod(path);\n var extractedExport = extractExports(fileExports);\n return extractedExport;\n }\n else {\n return readFileSync(path, { encoding: 'utf-8' });\n }\n })\n .filter(function (v) { return v; });\n}\nfunction scanForFiles(globStr, globOptions) {\n if (globOptions === void 0) { globOptions = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, globby(globStr, __assign({ absolute: true }, globOptions))];\n });\n });\n}\nvar checkExtension = function (path, _a) {\n var e_4, _b, e_5, _c, e_6, _d;\n var extensions = _a.extensions, ignoredExtensions = _a.ignoredExtensions;\n if (ignoredExtensions) {\n try {\n for (var ignoredExtensions_1 = __values(ignoredExtensions), ignoredExtensions_1_1 = ignoredExtensions_1.next(); !ignoredExtensions_1_1.done; ignoredExtensions_1_1 = ignoredExtensions_1.next()) {\n var ignoredExtension = ignoredExtensions_1_1.value;\n if (path.endsWith(formatExtension(ignoredExtension))) {\n return false;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (ignoredExtensions_1_1 && !ignoredExtensions_1_1.done && (_b = ignoredExtensions_1.return)) _b.call(ignoredExtensions_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n if (!extensions) {\n return true;\n }\n try {\n for (var extensions_1 = __values(extensions), extensions_1_1 = extensions_1.next(); !extensions_1_1.done; extensions_1_1 = extensions_1.next()) {\n var extension = extensions_1_1.value;\n var formattedExtension = formatExtension(extension);\n if (path.endsWith(formattedExtension)) {\n if (ignoredExtensions) {\n try {\n for (var ignoredExtensions_2 = (e_6 = void 0, __values(ignoredExtensions)), ignoredExtensions_2_1 = ignoredExtensions_2.next(); !ignoredExtensions_2_1.done; ignoredExtensions_2_1 = ignoredExtensions_2.next()) {\n var ignoredExtension = ignoredExtensions_2_1.value;\n var formattedIgnoredExtension = formatExtension(ignoredExtension);\n if (path.endsWith(formattedIgnoredExtension + formattedExtension)) {\n return false;\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (ignoredExtensions_2_1 && !ignoredExtensions_2_1.done && (_d = ignoredExtensions_2.return)) _d.call(ignoredExtensions_2);\n }\n finally { if (e_6) throw e_6.error; }\n }\n }\n return true;\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (extensions_1_1 && !extensions_1_1.done && (_c = extensions_1.return)) _c.call(extensions_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n return false;\n};\n/**\n * Asynchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFiles(pattern, options) {\n if (options === void 0) { options = LoadFilesDefaultOptions; }\n return __awaiter(this, void 0, void 0, function () {\n var execOptions, relevantPaths, _a, extractExports, defaultRequireMethod, requireMethod;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n execOptions = __assign(__assign({}, LoadFilesDefaultOptions), options);\n _a = scanForFiles;\n return [4 /*yield*/, Promise.all(asArray(pattern).map(function (path) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, isDirectory(path)];\n case 1: return [2 /*return*/, (_a.sent())\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path)];\n }\n });\n }); }))];\n case 1: return [4 /*yield*/, _a.apply(void 0, [_b.sent(), options.globOptions])];\n case 2:\n relevantPaths = _b.sent();\n extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);\n defaultRequireMethod = function (path) { return import(path).catch(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, require(path)];\n }); }); }); };\n requireMethod = execOptions.requireMethod || defaultRequireMethod;\n return [2 /*return*/, Promise.all(relevantPaths\n .filter(function (path) { return checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex); })\n .map(function (path) { return __awaiter(_this, void 0, void 0, function () {\n var extension, fileExports, extractedExport;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n extension = extname(path);\n if (!(extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire)) return [3 /*break*/, 2];\n return [4 /*yield*/, requireMethod(path)];\n case 1:\n fileExports = _a.sent();\n extractedExport = extractExports(fileExports);\n return [2 /*return*/, extractedExport];\n case 2: return [2 /*return*/, readFile(path, { encoding: 'utf-8' })];\n }\n });\n }); }))];\n }\n });\n });\n}\nfunction isIndex(path, extensions) {\n if (extensions === void 0) { extensions = []; }\n var IS_INDEX = /(\\/|\\\\)index\\.[^\\/\\\\]+$/i; // (/ or \\) AND `index.` AND (everything except \\ and /)(end of line)\n return IS_INDEX.test(path) && extensions.some(function (ext) { return path.endsWith(formatExtension(ext)); });\n}\n//# sourceMappingURL=index.js.map"],"names":["fsPromises","globbySync"],"mappings":"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"}
package/es5/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@graphql-tools/load-files/es5",
3
- "version": "6.2.7",
3
+ "version": "6.3.2",
4
4
  "description": "A set of utils for faster development of GraphQL tools",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
7
7
  "graphql": "^14.0.0 || ^15.0.0"
8
8
  },
9
9
  "dependencies": {
10
- "globby": "11.0.2",
10
+ "globby": "11.0.3",
11
11
  "tslib": "~2.1.0",
12
12
  "unixify": "1.0.0"
13
13
  },
package/index.cjs.js CHANGED
@@ -32,7 +32,26 @@ const fs = require('fs');
32
32
  const { readFile, stat } = fs.promises;
33
33
  const DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];
34
34
  const DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];
35
- const DEFAULT_EXPORT_NAMES = ['typeDefs', 'schema'];
35
+ const DEFAULT_EXPORT_NAMES = ['schema', 'typeDef', 'typeDefs', 'resolver', 'resolvers'];
36
+ const DEFAULT_EXTRACT_EXPORTS_FACTORY = (exportNames) => (fileExport) => {
37
+ if (!fileExport) {
38
+ return null;
39
+ }
40
+ if (fileExport.default) {
41
+ for (const exportName of exportNames) {
42
+ if (fileExport.default[exportName]) {
43
+ return fileExport.default[exportName];
44
+ }
45
+ }
46
+ return fileExport.default;
47
+ }
48
+ for (const exportName of exportNames) {
49
+ if (fileExport[exportName]) {
50
+ return fileExport[exportName];
51
+ }
52
+ }
53
+ return fileExport;
54
+ };
36
55
  function asArray(obj) {
37
56
  if (obj instanceof Array) {
38
57
  return obj;
@@ -70,25 +89,6 @@ function buildGlob(basePath, extensions, ignoredExtensions = [], recursive) {
70
89
  const ext = extensions.map(e => `*${formatExtension(e)}`).join('|');
71
90
  return `${basePath}${recursive ? '/**' : ''}/${ignored}+(${ext})`;
72
91
  }
73
- function extractExports(fileExport, exportNames) {
74
- if (!fileExport) {
75
- return null;
76
- }
77
- if (fileExport.default) {
78
- for (const exportName of exportNames) {
79
- if (fileExport.default[exportName]) {
80
- return fileExport.default[exportName];
81
- }
82
- }
83
- return fileExport.default;
84
- }
85
- for (const exportName of exportNames) {
86
- if (fileExport[exportName]) {
87
- return fileExport[exportName];
88
- }
89
- }
90
- return fileExport;
91
- }
92
92
  const LoadFilesDefaultOptions = {
93
93
  ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,
94
94
  extensions: DEFAULT_EXTENSIONS,
@@ -111,6 +111,8 @@ function loadFilesSync(pattern, options = LoadFilesDefaultOptions) {
111
111
  const relevantPaths = scanForFilesSync(asArray(pattern).map(path => isDirectorySync(path)
112
112
  ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)
113
113
  : unixify(path)), options.globOptions);
114
+ const extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);
115
+ const requireMethod = execOptions.requireMethod || require;
114
116
  return relevantPaths
115
117
  .map(path$1 => {
116
118
  if (!checkExtension(path$1, options)) {
@@ -121,26 +123,8 @@ function loadFilesSync(pattern, options = LoadFilesDefaultOptions) {
121
123
  }
122
124
  const extension = path.extname(path$1);
123
125
  if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {
124
- const fileExports = (execOptions.requireMethod ? execOptions.requireMethod : require)(path$1);
125
- const extractedExport = extractExports(fileExports, execOptions.exportNames);
126
- if (extractedExport.typeDefs && extractedExport.resolvers) {
127
- return extractedExport;
128
- }
129
- if (extractedExport.schema) {
130
- return extractedExport.schema;
131
- }
132
- if (extractedExport.typeDef) {
133
- return extractedExport.typeDef;
134
- }
135
- if (extractedExport.typeDefs) {
136
- return extractedExport.typeDefs;
137
- }
138
- if (extractedExport.resolver) {
139
- return extractedExport.resolver;
140
- }
141
- if (extractedExport.resolvers) {
142
- return extractedExport.resolvers;
143
- }
126
+ const fileExports = requireMethod(path$1);
127
+ const extractedExport = extractExports(fileExports);
144
128
  return extractedExport;
145
129
  }
146
130
  else {
@@ -164,7 +148,16 @@ const checkExtension = (path, { extensions, ignoredExtensions }) => {
164
148
  return true;
165
149
  }
166
150
  for (const extension of extensions) {
167
- if (path.endsWith(formatExtension(extension))) {
151
+ const formattedExtension = formatExtension(extension);
152
+ if (path.endsWith(formattedExtension)) {
153
+ if (ignoredExtensions) {
154
+ for (const ignoredExtension of ignoredExtensions) {
155
+ const formattedIgnoredExtension = formatExtension(ignoredExtension);
156
+ if (path.endsWith(formattedIgnoredExtension + formattedExtension)) {
157
+ return false;
158
+ }
159
+ }
160
+ }
168
161
  return true;
169
162
  }
170
163
  }
@@ -180,20 +173,16 @@ async function loadFiles(pattern, options = LoadFilesDefaultOptions) {
180
173
  const relevantPaths = await scanForFiles(await Promise.all(asArray(pattern).map(async (path) => (await isDirectory(path))
181
174
  ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)
182
175
  : unixify(path))), options.globOptions);
183
- const require$ = (path) => new Promise(function (resolve) { resolve(_interopNamespace(require(path))); }).catch(async () => require(path));
176
+ const extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);
177
+ const defaultRequireMethod = (path) => new Promise(function (resolve) { resolve(_interopNamespace(require(path))); }).catch(async () => require(path));
178
+ const requireMethod = execOptions.requireMethod || defaultRequireMethod;
184
179
  return Promise.all(relevantPaths
185
180
  .filter(path => checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex))
186
181
  .map(async (path$1) => {
187
182
  const extension = path.extname(path$1);
188
183
  if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {
189
- const fileExports = await (execOptions.requireMethod ? execOptions.requireMethod : require$)(path$1);
190
- const extractedExport = extractExports(fileExports, execOptions.exportNames);
191
- if (extractedExport.resolver) {
192
- return extractedExport.resolver;
193
- }
194
- if (extractedExport.resolvers) {
195
- return extractedExport.resolvers;
196
- }
184
+ const fileExports = await requireMethod(path$1);
185
+ const extractedExport = extractExports(fileExports);
197
186
  return extractedExport;
198
187
  }
199
188
  else {
package/index.cjs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../dist/load-files/src/index.js"],"sourcesContent":["import globby, { sync as globbySync } from 'globby';\nimport unixify from 'unixify';\nimport { extname } from 'path';\nimport { statSync, readFileSync, promises as fsPromises } from 'fs';\nconst { readFile, stat } = fsPromises;\nconst DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];\nconst DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];\nconst DEFAULT_EXPORT_NAMES = ['typeDefs', 'schema'];\nfunction asArray(obj) {\n if (obj instanceof Array) {\n return obj;\n }\n else {\n return [obj];\n }\n}\nfunction isDirectorySync(path) {\n try {\n const pathStat = statSync(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nasync function isDirectory(path) {\n try {\n const pathStat = await stat(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nfunction scanForFilesSync(globStr, globOptions = {}) {\n return globbySync(globStr, { absolute: true, ...globOptions });\n}\nfunction formatExtension(extension) {\n return extension.charAt(0) === '.' ? extension : `.${extension}`;\n}\nfunction buildGlob(basePath, extensions, ignoredExtensions = [], recursive) {\n const ignored = ignoredExtensions.length > 0 ? `!(${ignoredExtensions.map(e => `*${formatExtension(e)}`).join('|')})` : '*';\n const ext = extensions.map(e => `*${formatExtension(e)}`).join('|');\n return `${basePath}${recursive ? '/**' : ''}/${ignored}+(${ext})`;\n}\nfunction extractExports(fileExport, exportNames) {\n if (!fileExport) {\n return null;\n }\n if (fileExport.default) {\n for (const exportName of exportNames) {\n if (fileExport.default[exportName]) {\n return fileExport.default[exportName];\n }\n }\n return fileExport.default;\n }\n for (const exportName of exportNames) {\n if (fileExport[exportName]) {\n return fileExport[exportName];\n }\n }\n return fileExport;\n}\nconst LoadFilesDefaultOptions = {\n ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,\n extensions: DEFAULT_EXTENSIONS,\n useRequire: false,\n requireMethod: null,\n globOptions: {\n absolute: true,\n },\n exportNames: DEFAULT_EXPORT_NAMES,\n recursive: true,\n ignoreIndex: false,\n};\n/**\n * Synchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFilesSync(pattern, options = LoadFilesDefaultOptions) {\n const execOptions = { ...LoadFilesDefaultOptions, ...options };\n const relevantPaths = scanForFilesSync(asArray(pattern).map(path => isDirectorySync(path)\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path)), options.globOptions);\n return relevantPaths\n .map(path => {\n if (!checkExtension(path, options)) {\n return null;\n }\n if (isIndex(path, execOptions.extensions) && options.ignoreIndex) {\n return false;\n }\n const extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n const fileExports = (execOptions.requireMethod ? execOptions.requireMethod : require)(path);\n const extractedExport = extractExports(fileExports, execOptions.exportNames);\n if (extractedExport.typeDefs && extractedExport.resolvers) {\n return extractedExport;\n }\n if (extractedExport.schema) {\n return extractedExport.schema;\n }\n if (extractedExport.typeDef) {\n return extractedExport.typeDef;\n }\n if (extractedExport.typeDefs) {\n return extractedExport.typeDefs;\n }\n if (extractedExport.resolver) {\n return extractedExport.resolver;\n }\n if (extractedExport.resolvers) {\n return extractedExport.resolvers;\n }\n return extractedExport;\n }\n else {\n return readFileSync(path, { encoding: 'utf-8' });\n }\n })\n .filter(v => v);\n}\nasync function scanForFiles(globStr, globOptions = {}) {\n return globby(globStr, { absolute: true, ...globOptions });\n}\nconst checkExtension = (path, { extensions, ignoredExtensions }) => {\n if (ignoredExtensions) {\n for (const ignoredExtension of ignoredExtensions) {\n if (path.endsWith(formatExtension(ignoredExtension))) {\n return false;\n }\n }\n }\n if (!extensions) {\n return true;\n }\n for (const extension of extensions) {\n if (path.endsWith(formatExtension(extension))) {\n return true;\n }\n }\n return false;\n};\n/**\n * Asynchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport async function loadFiles(pattern, options = LoadFilesDefaultOptions) {\n const execOptions = { ...LoadFilesDefaultOptions, ...options };\n const relevantPaths = await scanForFiles(await Promise.all(asArray(pattern).map(async (path) => (await isDirectory(path))\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path))), options.globOptions);\n const require$ = (path) => import(path).catch(async () => require(path));\n return Promise.all(relevantPaths\n .filter(path => checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex))\n .map(async (path) => {\n const extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n const fileExports = await (execOptions.requireMethod ? execOptions.requireMethod : require$)(path);\n const extractedExport = extractExports(fileExports, execOptions.exportNames);\n if (extractedExport.resolver) {\n return extractedExport.resolver;\n }\n if (extractedExport.resolvers) {\n return extractedExport.resolvers;\n }\n return extractedExport;\n }\n else {\n return readFile(path, { encoding: 'utf-8' });\n }\n }));\n}\nfunction isIndex(path, extensions = []) {\n const IS_INDEX = /(\\/|\\\\)index\\.[^\\/\\\\]+$/i; // (/ or \\) AND `index.` AND (everything except \\ and /)(end of line)\n return IS_INDEX.test(path) && extensions.some(ext => path.endsWith(formatExtension(ext)));\n}\n//# sourceMappingURL=index.js.map"],"names":["fsPromises","statSync","globbySync","path","extname","readFileSync","globby"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../dist/load-files/src/index.js"],"sourcesContent":["import globby, { sync as globbySync } from 'globby';\nimport unixify from 'unixify';\nimport { extname } from 'path';\nimport { statSync, readFileSync, promises as fsPromises } from 'fs';\nconst { readFile, stat } = fsPromises;\nconst DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];\nconst DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];\nconst DEFAULT_EXPORT_NAMES = ['schema', 'typeDef', 'typeDefs', 'resolver', 'resolvers'];\nconst DEFAULT_EXTRACT_EXPORTS_FACTORY = (exportNames) => (fileExport) => {\n if (!fileExport) {\n return null;\n }\n if (fileExport.default) {\n for (const exportName of exportNames) {\n if (fileExport.default[exportName]) {\n return fileExport.default[exportName];\n }\n }\n return fileExport.default;\n }\n for (const exportName of exportNames) {\n if (fileExport[exportName]) {\n return fileExport[exportName];\n }\n }\n return fileExport;\n};\nfunction asArray(obj) {\n if (obj instanceof Array) {\n return obj;\n }\n else {\n return [obj];\n }\n}\nfunction isDirectorySync(path) {\n try {\n const pathStat = statSync(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nasync function isDirectory(path) {\n try {\n const pathStat = await stat(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nfunction scanForFilesSync(globStr, globOptions = {}) {\n return globbySync(globStr, { absolute: true, ...globOptions });\n}\nfunction formatExtension(extension) {\n return extension.charAt(0) === '.' ? extension : `.${extension}`;\n}\nfunction buildGlob(basePath, extensions, ignoredExtensions = [], recursive) {\n const ignored = ignoredExtensions.length > 0 ? `!(${ignoredExtensions.map(e => `*${formatExtension(e)}`).join('|')})` : '*';\n const ext = extensions.map(e => `*${formatExtension(e)}`).join('|');\n return `${basePath}${recursive ? '/**' : ''}/${ignored}+(${ext})`;\n}\nconst LoadFilesDefaultOptions = {\n ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,\n extensions: DEFAULT_EXTENSIONS,\n useRequire: false,\n requireMethod: null,\n globOptions: {\n absolute: true,\n },\n exportNames: DEFAULT_EXPORT_NAMES,\n recursive: true,\n ignoreIndex: false,\n};\n/**\n * Synchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFilesSync(pattern, options = LoadFilesDefaultOptions) {\n const execOptions = { ...LoadFilesDefaultOptions, ...options };\n const relevantPaths = scanForFilesSync(asArray(pattern).map(path => isDirectorySync(path)\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path)), options.globOptions);\n const extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);\n const requireMethod = execOptions.requireMethod || require;\n return relevantPaths\n .map(path => {\n if (!checkExtension(path, options)) {\n return null;\n }\n if (isIndex(path, execOptions.extensions) && options.ignoreIndex) {\n return false;\n }\n const extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n const fileExports = requireMethod(path);\n const extractedExport = extractExports(fileExports);\n return extractedExport;\n }\n else {\n return readFileSync(path, { encoding: 'utf-8' });\n }\n })\n .filter(v => v);\n}\nasync function scanForFiles(globStr, globOptions = {}) {\n return globby(globStr, { absolute: true, ...globOptions });\n}\nconst checkExtension = (path, { extensions, ignoredExtensions }) => {\n if (ignoredExtensions) {\n for (const ignoredExtension of ignoredExtensions) {\n if (path.endsWith(formatExtension(ignoredExtension))) {\n return false;\n }\n }\n }\n if (!extensions) {\n return true;\n }\n for (const extension of extensions) {\n const formattedExtension = formatExtension(extension);\n if (path.endsWith(formattedExtension)) {\n if (ignoredExtensions) {\n for (const ignoredExtension of ignoredExtensions) {\n const formattedIgnoredExtension = formatExtension(ignoredExtension);\n if (path.endsWith(formattedIgnoredExtension + formattedExtension)) {\n return false;\n }\n }\n }\n return true;\n }\n }\n return false;\n};\n/**\n * Asynchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport async function loadFiles(pattern, options = LoadFilesDefaultOptions) {\n const execOptions = { ...LoadFilesDefaultOptions, ...options };\n const relevantPaths = await scanForFiles(await Promise.all(asArray(pattern).map(async (path) => (await isDirectory(path))\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path))), options.globOptions);\n const extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);\n const defaultRequireMethod = (path) => import(path).catch(async () => require(path));\n const requireMethod = execOptions.requireMethod || defaultRequireMethod;\n return Promise.all(relevantPaths\n .filter(path => checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex))\n .map(async (path) => {\n const extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n const fileExports = await requireMethod(path);\n const extractedExport = extractExports(fileExports);\n return extractedExport;\n }\n else {\n return readFile(path, { encoding: 'utf-8' });\n }\n }));\n}\nfunction isIndex(path, extensions = []) {\n const IS_INDEX = /(\\/|\\\\)index\\.[^\\/\\\\]+$/i; // (/ or \\) AND `index.` AND (everything except \\ and /)(end of line)\n return IS_INDEX.test(path) && extensions.some(ext => path.endsWith(formatExtension(ext)));\n}\n//# sourceMappingURL=index.js.map"],"names":["fsPromises","statSync","globbySync","path","extname","readFileSync","globby"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export interface LoadFilesOptions {
11
11
  exportNames?: string[];
12
12
  recursive?: boolean;
13
13
  ignoreIndex?: boolean;
14
+ extractExports?: (fileExport: any) => any;
14
15
  }
15
16
  /**
16
17
  * Synchronously loads files using the provided glob pattern.
package/index.esm.js CHANGED
@@ -6,7 +6,26 @@ import { readFileSync, promises, statSync } from 'fs';
6
6
  const { readFile, stat } = promises;
7
7
  const DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];
8
8
  const DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];
9
- const DEFAULT_EXPORT_NAMES = ['typeDefs', 'schema'];
9
+ const DEFAULT_EXPORT_NAMES = ['schema', 'typeDef', 'typeDefs', 'resolver', 'resolvers'];
10
+ const DEFAULT_EXTRACT_EXPORTS_FACTORY = (exportNames) => (fileExport) => {
11
+ if (!fileExport) {
12
+ return null;
13
+ }
14
+ if (fileExport.default) {
15
+ for (const exportName of exportNames) {
16
+ if (fileExport.default[exportName]) {
17
+ return fileExport.default[exportName];
18
+ }
19
+ }
20
+ return fileExport.default;
21
+ }
22
+ for (const exportName of exportNames) {
23
+ if (fileExport[exportName]) {
24
+ return fileExport[exportName];
25
+ }
26
+ }
27
+ return fileExport;
28
+ };
10
29
  function asArray(obj) {
11
30
  if (obj instanceof Array) {
12
31
  return obj;
@@ -44,25 +63,6 @@ function buildGlob(basePath, extensions, ignoredExtensions = [], recursive) {
44
63
  const ext = extensions.map(e => `*${formatExtension(e)}`).join('|');
45
64
  return `${basePath}${recursive ? '/**' : ''}/${ignored}+(${ext})`;
46
65
  }
47
- function extractExports(fileExport, exportNames) {
48
- if (!fileExport) {
49
- return null;
50
- }
51
- if (fileExport.default) {
52
- for (const exportName of exportNames) {
53
- if (fileExport.default[exportName]) {
54
- return fileExport.default[exportName];
55
- }
56
- }
57
- return fileExport.default;
58
- }
59
- for (const exportName of exportNames) {
60
- if (fileExport[exportName]) {
61
- return fileExport[exportName];
62
- }
63
- }
64
- return fileExport;
65
- }
66
66
  const LoadFilesDefaultOptions = {
67
67
  ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,
68
68
  extensions: DEFAULT_EXTENSIONS,
@@ -85,6 +85,8 @@ function loadFilesSync(pattern, options = LoadFilesDefaultOptions) {
85
85
  const relevantPaths = scanForFilesSync(asArray(pattern).map(path => isDirectorySync(path)
86
86
  ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)
87
87
  : unixify(path)), options.globOptions);
88
+ const extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);
89
+ const requireMethod = execOptions.requireMethod || require;
88
90
  return relevantPaths
89
91
  .map(path => {
90
92
  if (!checkExtension(path, options)) {
@@ -95,26 +97,8 @@ function loadFilesSync(pattern, options = LoadFilesDefaultOptions) {
95
97
  }
96
98
  const extension = extname(path);
97
99
  if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {
98
- const fileExports = (execOptions.requireMethod ? execOptions.requireMethod : require)(path);
99
- const extractedExport = extractExports(fileExports, execOptions.exportNames);
100
- if (extractedExport.typeDefs && extractedExport.resolvers) {
101
- return extractedExport;
102
- }
103
- if (extractedExport.schema) {
104
- return extractedExport.schema;
105
- }
106
- if (extractedExport.typeDef) {
107
- return extractedExport.typeDef;
108
- }
109
- if (extractedExport.typeDefs) {
110
- return extractedExport.typeDefs;
111
- }
112
- if (extractedExport.resolver) {
113
- return extractedExport.resolver;
114
- }
115
- if (extractedExport.resolvers) {
116
- return extractedExport.resolvers;
117
- }
100
+ const fileExports = requireMethod(path);
101
+ const extractedExport = extractExports(fileExports);
118
102
  return extractedExport;
119
103
  }
120
104
  else {
@@ -138,7 +122,16 @@ const checkExtension = (path, { extensions, ignoredExtensions }) => {
138
122
  return true;
139
123
  }
140
124
  for (const extension of extensions) {
141
- if (path.endsWith(formatExtension(extension))) {
125
+ const formattedExtension = formatExtension(extension);
126
+ if (path.endsWith(formattedExtension)) {
127
+ if (ignoredExtensions) {
128
+ for (const ignoredExtension of ignoredExtensions) {
129
+ const formattedIgnoredExtension = formatExtension(ignoredExtension);
130
+ if (path.endsWith(formattedIgnoredExtension + formattedExtension)) {
131
+ return false;
132
+ }
133
+ }
134
+ }
142
135
  return true;
143
136
  }
144
137
  }
@@ -154,20 +147,16 @@ async function loadFiles(pattern, options = LoadFilesDefaultOptions) {
154
147
  const relevantPaths = await scanForFiles(await Promise.all(asArray(pattern).map(async (path) => (await isDirectory(path))
155
148
  ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)
156
149
  : unixify(path))), options.globOptions);
157
- const require$ = (path) => import(path).catch(async () => require(path));
150
+ const extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);
151
+ const defaultRequireMethod = (path) => import(path).catch(async () => require(path));
152
+ const requireMethod = execOptions.requireMethod || defaultRequireMethod;
158
153
  return Promise.all(relevantPaths
159
154
  .filter(path => checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex))
160
155
  .map(async (path) => {
161
156
  const extension = extname(path);
162
157
  if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {
163
- const fileExports = await (execOptions.requireMethod ? execOptions.requireMethod : require$)(path);
164
- const extractedExport = extractExports(fileExports, execOptions.exportNames);
165
- if (extractedExport.resolver) {
166
- return extractedExport.resolver;
167
- }
168
- if (extractedExport.resolvers) {
169
- return extractedExport.resolvers;
170
- }
158
+ const fileExports = await requireMethod(path);
159
+ const extractedExport = extractExports(fileExports);
171
160
  return extractedExport;
172
161
  }
173
162
  else {
package/index.esm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../dist/load-files/src/index.js"],"sourcesContent":["import globby, { sync as globbySync } from 'globby';\nimport unixify from 'unixify';\nimport { extname } from 'path';\nimport { statSync, readFileSync, promises as fsPromises } from 'fs';\nconst { readFile, stat } = fsPromises;\nconst DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];\nconst DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];\nconst DEFAULT_EXPORT_NAMES = ['typeDefs', 'schema'];\nfunction asArray(obj) {\n if (obj instanceof Array) {\n return obj;\n }\n else {\n return [obj];\n }\n}\nfunction isDirectorySync(path) {\n try {\n const pathStat = statSync(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nasync function isDirectory(path) {\n try {\n const pathStat = await stat(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nfunction scanForFilesSync(globStr, globOptions = {}) {\n return globbySync(globStr, { absolute: true, ...globOptions });\n}\nfunction formatExtension(extension) {\n return extension.charAt(0) === '.' ? extension : `.${extension}`;\n}\nfunction buildGlob(basePath, extensions, ignoredExtensions = [], recursive) {\n const ignored = ignoredExtensions.length > 0 ? `!(${ignoredExtensions.map(e => `*${formatExtension(e)}`).join('|')})` : '*';\n const ext = extensions.map(e => `*${formatExtension(e)}`).join('|');\n return `${basePath}${recursive ? '/**' : ''}/${ignored}+(${ext})`;\n}\nfunction extractExports(fileExport, exportNames) {\n if (!fileExport) {\n return null;\n }\n if (fileExport.default) {\n for (const exportName of exportNames) {\n if (fileExport.default[exportName]) {\n return fileExport.default[exportName];\n }\n }\n return fileExport.default;\n }\n for (const exportName of exportNames) {\n if (fileExport[exportName]) {\n return fileExport[exportName];\n }\n }\n return fileExport;\n}\nconst LoadFilesDefaultOptions = {\n ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,\n extensions: DEFAULT_EXTENSIONS,\n useRequire: false,\n requireMethod: null,\n globOptions: {\n absolute: true,\n },\n exportNames: DEFAULT_EXPORT_NAMES,\n recursive: true,\n ignoreIndex: false,\n};\n/**\n * Synchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFilesSync(pattern, options = LoadFilesDefaultOptions) {\n const execOptions = { ...LoadFilesDefaultOptions, ...options };\n const relevantPaths = scanForFilesSync(asArray(pattern).map(path => isDirectorySync(path)\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path)), options.globOptions);\n return relevantPaths\n .map(path => {\n if (!checkExtension(path, options)) {\n return null;\n }\n if (isIndex(path, execOptions.extensions) && options.ignoreIndex) {\n return false;\n }\n const extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n const fileExports = (execOptions.requireMethod ? execOptions.requireMethod : require)(path);\n const extractedExport = extractExports(fileExports, execOptions.exportNames);\n if (extractedExport.typeDefs && extractedExport.resolvers) {\n return extractedExport;\n }\n if (extractedExport.schema) {\n return extractedExport.schema;\n }\n if (extractedExport.typeDef) {\n return extractedExport.typeDef;\n }\n if (extractedExport.typeDefs) {\n return extractedExport.typeDefs;\n }\n if (extractedExport.resolver) {\n return extractedExport.resolver;\n }\n if (extractedExport.resolvers) {\n return extractedExport.resolvers;\n }\n return extractedExport;\n }\n else {\n return readFileSync(path, { encoding: 'utf-8' });\n }\n })\n .filter(v => v);\n}\nasync function scanForFiles(globStr, globOptions = {}) {\n return globby(globStr, { absolute: true, ...globOptions });\n}\nconst checkExtension = (path, { extensions, ignoredExtensions }) => {\n if (ignoredExtensions) {\n for (const ignoredExtension of ignoredExtensions) {\n if (path.endsWith(formatExtension(ignoredExtension))) {\n return false;\n }\n }\n }\n if (!extensions) {\n return true;\n }\n for (const extension of extensions) {\n if (path.endsWith(formatExtension(extension))) {\n return true;\n }\n }\n return false;\n};\n/**\n * Asynchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport async function loadFiles(pattern, options = LoadFilesDefaultOptions) {\n const execOptions = { ...LoadFilesDefaultOptions, ...options };\n const relevantPaths = await scanForFiles(await Promise.all(asArray(pattern).map(async (path) => (await isDirectory(path))\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path))), options.globOptions);\n const require$ = (path) => import(path).catch(async () => require(path));\n return Promise.all(relevantPaths\n .filter(path => checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex))\n .map(async (path) => {\n const extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n const fileExports = await (execOptions.requireMethod ? execOptions.requireMethod : require$)(path);\n const extractedExport = extractExports(fileExports, execOptions.exportNames);\n if (extractedExport.resolver) {\n return extractedExport.resolver;\n }\n if (extractedExport.resolvers) {\n return extractedExport.resolvers;\n }\n return extractedExport;\n }\n else {\n return readFile(path, { encoding: 'utf-8' });\n }\n }));\n}\nfunction isIndex(path, extensions = []) {\n const IS_INDEX = /(\\/|\\\\)index\\.[^\\/\\\\]+$/i; // (/ or \\) AND `index.` AND (everything except \\ and /)(end of line)\n return IS_INDEX.test(path) && extensions.some(ext => path.endsWith(formatExtension(ext)));\n}\n//# sourceMappingURL=index.js.map"],"names":["fsPromises","globbySync"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../dist/load-files/src/index.js"],"sourcesContent":["import globby, { sync as globbySync } from 'globby';\nimport unixify from 'unixify';\nimport { extname } from 'path';\nimport { statSync, readFileSync, promises as fsPromises } from 'fs';\nconst { readFile, stat } = fsPromises;\nconst DEFAULT_IGNORED_EXTENSIONS = ['spec', 'test', 'd', 'map'];\nconst DEFAULT_EXTENSIONS = ['gql', 'graphql', 'graphqls', 'ts', 'js'];\nconst DEFAULT_EXPORT_NAMES = ['schema', 'typeDef', 'typeDefs', 'resolver', 'resolvers'];\nconst DEFAULT_EXTRACT_EXPORTS_FACTORY = (exportNames) => (fileExport) => {\n if (!fileExport) {\n return null;\n }\n if (fileExport.default) {\n for (const exportName of exportNames) {\n if (fileExport.default[exportName]) {\n return fileExport.default[exportName];\n }\n }\n return fileExport.default;\n }\n for (const exportName of exportNames) {\n if (fileExport[exportName]) {\n return fileExport[exportName];\n }\n }\n return fileExport;\n};\nfunction asArray(obj) {\n if (obj instanceof Array) {\n return obj;\n }\n else {\n return [obj];\n }\n}\nfunction isDirectorySync(path) {\n try {\n const pathStat = statSync(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nasync function isDirectory(path) {\n try {\n const pathStat = await stat(path);\n return pathStat.isDirectory();\n }\n catch (e) {\n return false;\n }\n}\nfunction scanForFilesSync(globStr, globOptions = {}) {\n return globbySync(globStr, { absolute: true, ...globOptions });\n}\nfunction formatExtension(extension) {\n return extension.charAt(0) === '.' ? extension : `.${extension}`;\n}\nfunction buildGlob(basePath, extensions, ignoredExtensions = [], recursive) {\n const ignored = ignoredExtensions.length > 0 ? `!(${ignoredExtensions.map(e => `*${formatExtension(e)}`).join('|')})` : '*';\n const ext = extensions.map(e => `*${formatExtension(e)}`).join('|');\n return `${basePath}${recursive ? '/**' : ''}/${ignored}+(${ext})`;\n}\nconst LoadFilesDefaultOptions = {\n ignoredExtensions: DEFAULT_IGNORED_EXTENSIONS,\n extensions: DEFAULT_EXTENSIONS,\n useRequire: false,\n requireMethod: null,\n globOptions: {\n absolute: true,\n },\n exportNames: DEFAULT_EXPORT_NAMES,\n recursive: true,\n ignoreIndex: false,\n};\n/**\n * Synchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport function loadFilesSync(pattern, options = LoadFilesDefaultOptions) {\n const execOptions = { ...LoadFilesDefaultOptions, ...options };\n const relevantPaths = scanForFilesSync(asArray(pattern).map(path => isDirectorySync(path)\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path)), options.globOptions);\n const extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);\n const requireMethod = execOptions.requireMethod || require;\n return relevantPaths\n .map(path => {\n if (!checkExtension(path, options)) {\n return null;\n }\n if (isIndex(path, execOptions.extensions) && options.ignoreIndex) {\n return false;\n }\n const extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n const fileExports = requireMethod(path);\n const extractedExport = extractExports(fileExports);\n return extractedExport;\n }\n else {\n return readFileSync(path, { encoding: 'utf-8' });\n }\n })\n .filter(v => v);\n}\nasync function scanForFiles(globStr, globOptions = {}) {\n return globby(globStr, { absolute: true, ...globOptions });\n}\nconst checkExtension = (path, { extensions, ignoredExtensions }) => {\n if (ignoredExtensions) {\n for (const ignoredExtension of ignoredExtensions) {\n if (path.endsWith(formatExtension(ignoredExtension))) {\n return false;\n }\n }\n }\n if (!extensions) {\n return true;\n }\n for (const extension of extensions) {\n const formattedExtension = formatExtension(extension);\n if (path.endsWith(formattedExtension)) {\n if (ignoredExtensions) {\n for (const ignoredExtension of ignoredExtensions) {\n const formattedIgnoredExtension = formatExtension(ignoredExtension);\n if (path.endsWith(formattedIgnoredExtension + formattedExtension)) {\n return false;\n }\n }\n }\n return true;\n }\n }\n return false;\n};\n/**\n * Asynchronously loads files using the provided glob pattern.\n * @param pattern Glob pattern or patterns to use when loading files\n * @param options Additional options\n */\nexport async function loadFiles(pattern, options = LoadFilesDefaultOptions) {\n const execOptions = { ...LoadFilesDefaultOptions, ...options };\n const relevantPaths = await scanForFiles(await Promise.all(asArray(pattern).map(async (path) => (await isDirectory(path))\n ? buildGlob(unixify(path), execOptions.extensions, execOptions.ignoredExtensions, execOptions.recursive)\n : unixify(path))), options.globOptions);\n const extractExports = execOptions.extractExports || DEFAULT_EXTRACT_EXPORTS_FACTORY(execOptions.exportNames);\n const defaultRequireMethod = (path) => import(path).catch(async () => require(path));\n const requireMethod = execOptions.requireMethod || defaultRequireMethod;\n return Promise.all(relevantPaths\n .filter(path => checkExtension(path, options) && !(isIndex(path, execOptions.extensions) && options.ignoreIndex))\n .map(async (path) => {\n const extension = extname(path);\n if (extension === formatExtension('js') || extension === formatExtension('ts') || execOptions.useRequire) {\n const fileExports = await requireMethod(path);\n const extractedExport = extractExports(fileExports);\n return extractedExport;\n }\n else {\n return readFile(path, { encoding: 'utf-8' });\n }\n }));\n}\nfunction isIndex(path, extensions = []) {\n const IS_INDEX = /(\\/|\\\\)index\\.[^\\/\\\\]+$/i; // (/ or \\) AND `index.` AND (everything except \\ and /)(end of line)\n return IS_INDEX.test(path) && extensions.some(ext => path.endsWith(formatExtension(ext)));\n}\n//# sourceMappingURL=index.js.map"],"names":["fsPromises","globbySync"],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@graphql-tools/load-files",
3
- "version": "6.2.7",
3
+ "version": "6.3.2",
4
4
  "description": "A set of utils for faster development of GraphQL tools",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
7
7
  "graphql": "^14.0.0 || ^15.0.0"
8
8
  },
9
9
  "dependencies": {
10
- "globby": "11.0.2",
10
+ "globby": "11.0.3",
11
11
  "tslib": "~2.1.0",
12
12
  "unixify": "1.0.0"
13
13
  },