@nlabs/lex 1.36.0 → 1.37.0

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/dist/resolver.js CHANGED
@@ -1,41 +1,53 @@
1
- const fs = require("fs");
2
- const path = require("path");
3
- const resolve = require("resolve");
1
+ const { existsSync } = require("fs-extra");
2
+ const { extname, resolve } = require("path");
3
+ const resolveSync = require("resolve/sync");
4
+ const getFullPath = (basedir, name, extensions) => {
5
+ let fullPath = name;
6
+ extensions.some((ext) => {
7
+ if (name !== "..") {
8
+ const filename = resolve(`${basedir}/${name}${ext}`);
9
+ if (existsSync(filename)) {
10
+ fullPath = filename;
11
+ return true;
12
+ }
13
+ }
14
+ const indexFile = resolve(`${basedir}/${name}/index${ext}`);
15
+ if (existsSync(indexFile)) {
16
+ fullPath = indexFile;
17
+ return true;
18
+ }
19
+ return false;
20
+ });
21
+ return fullPath;
22
+ };
4
23
  module.exports = (value, options) => {
5
24
  if (value === "") {
6
25
  return null;
7
26
  }
27
+ const isAbsolute = value.indexOf("/") === 0;
28
+ if (isAbsolute) {
29
+ return value;
30
+ }
8
31
  const { basedir, extensions } = options;
32
+ if (value === "..") {
33
+ return getFullPath(basedir, "..", extensions);
34
+ }
9
35
  const hasBase = value.indexOf("./") >= 0 || value.indexOf("../") >= 0;
10
36
  if (hasBase) {
11
- const existingExt = path.extname(value) || "";
37
+ const existingExt = extname(value) || "";
12
38
  if (existingExt !== "" && extensions.includes(existingExt)) {
13
- return path.resolve(`${basedir}/${value}`);
39
+ return resolve(`${basedir}/${value}`);
14
40
  }
15
- let fullPath = value;
16
- extensions.some((ext) => {
17
- const filename = path.resolve(`${basedir}/${value}${ext}`);
18
- if (fs.existsSync(filename)) {
19
- fullPath = filename;
20
- return true;
21
- }
22
- const indexFile = path.resolve(`${basedir}/${value}/index${ext}`);
23
- if (fs.existsSync(indexFile)) {
24
- fullPath = indexFile;
25
- return true;
26
- }
27
- return false;
28
- });
29
- return fullPath;
41
+ return getFullPath(basedir, value, extensions);
30
42
  }
31
43
  try {
32
- return resolve.sync(value, { basedir: `${__dirname}/../`, extensions });
44
+ return resolveSync(value, { basedir: `${__dirname}/../`, extensions });
33
45
  } catch (error) {
34
46
  try {
35
- return resolve.sync(value, { basedir: process.cwd(), extensions });
47
+ return resolveSync(value, { basedir: process.cwd(), extensions });
36
48
  } catch (error2) {
37
49
  return null;
38
50
  }
39
51
  }
40
52
  };
41
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3Jlc29sdmVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuY29uc3QgZnMgPSByZXF1aXJlKCdmcycpO1xuY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcbmNvbnN0IHJlc29sdmUgPSByZXF1aXJlKCdyZXNvbHZlJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gKHZhbHVlLCBvcHRpb25zKSA9PiB7XG4gIGlmKHZhbHVlID09PSAnJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qge2Jhc2VkaXIsIGV4dGVuc2lvbnN9ID0gb3B0aW9ucztcbiAgY29uc3QgaGFzQmFzZSA9IHZhbHVlLmluZGV4T2YoJy4vJykgPj0gMCB8fCB2YWx1ZS5pbmRleE9mKCcuLi8nKSA+PSAwO1xuXG4gIGlmKGhhc0Jhc2UpIHtcbiAgICBjb25zdCBleGlzdGluZ0V4dDogc3RyaW5nID0gcGF0aC5leHRuYW1lKHZhbHVlKSB8fCAnJztcblxuICAgIGlmKGV4aXN0aW5nRXh0ICE9PSAnJyAmJiBleHRlbnNpb25zLmluY2x1ZGVzKGV4aXN0aW5nRXh0KSkge1xuICAgICAgcmV0dXJuIHBhdGgucmVzb2x2ZShgJHtiYXNlZGlyfS8ke3ZhbHVlfWApO1xuICAgIH1cblxuICAgIGxldCBmdWxsUGF0aCA9IHZhbHVlO1xuXG4gICAgZXh0ZW5zaW9ucy5zb21lKChleHQpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVuYW1lID0gcGF0aC5yZXNvbHZlKGAke2Jhc2VkaXJ9LyR7dmFsdWV9JHtleHR9YCk7XG5cbiAgICAgIGlmKGZzLmV4aXN0c1N5bmMoZmlsZW5hbWUpKSB7XG4gICAgICAgIGZ1bGxQYXRoID0gZmlsZW5hbWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpbmRleEZpbGUgPSBwYXRoLnJlc29sdmUoYCR7YmFzZWRpcn0vJHt2YWx1ZX0vaW5kZXgke2V4dH1gKTtcblxuICAgICAgaWYoZnMuZXhpc3RzU3luYyhpbmRleEZpbGUpKSB7XG4gICAgICAgIGZ1bGxQYXRoID0gaW5kZXhGaWxlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZ1bGxQYXRoO1xuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gcmVzb2x2ZS5zeW5jKHZhbHVlLCB7YmFzZWRpcjogYCR7X19kaXJuYW1lfS8uLi9gLCBleHRlbnNpb25zfSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHJlc29sdmUuc3luYyh2YWx1ZSwge2Jhc2VkaXI6IHByb2Nlc3MuY3dkKCksIGV4dGVuc2lvbnN9KTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxNQUFNLEtBQUssUUFBUSxJQUFJO0FBQ3ZCLE1BQU0sT0FBTyxRQUFRLE1BQU07QUFDM0IsTUFBTSxVQUFVLFFBQVEsU0FBUztBQUVqQyxPQUFPLFVBQVUsQ0FBQyxPQUFPLFlBQVk7QUFDbkMsTUFBRyxVQUFVLElBQUk7QUFDZixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sRUFBQyxTQUFTLGVBQWM7QUFDOUIsUUFBTSxVQUFVLE1BQU0sUUFBUSxJQUFJLEtBQUssS0FBSyxNQUFNLFFBQVEsS0FBSyxLQUFLO0FBRXBFLE1BQUcsU0FBUztBQUNWLFVBQU0sY0FBc0IsS0FBSyxRQUFRLEtBQUssS0FBSztBQUVuRCxRQUFHLGdCQUFnQixNQUFNLFdBQVcsU0FBUyxXQUFXLEdBQUc7QUFDekQsYUFBTyxLQUFLLFFBQVEsR0FBRyxXQUFXLE9BQU87QUFBQSxJQUMzQztBQUVBLFFBQUksV0FBVztBQUVmLGVBQVcsS0FBSyxDQUFDLFFBQVE7QUFDdkIsWUFBTSxXQUFXLEtBQUssUUFBUSxHQUFHLFdBQVcsUUFBUSxLQUFLO0FBRXpELFVBQUcsR0FBRyxXQUFXLFFBQVEsR0FBRztBQUMxQixtQkFBVztBQUNYLGVBQU87QUFBQSxNQUNUO0FBRUEsWUFBTSxZQUFZLEtBQUssUUFBUSxHQUFHLFdBQVcsY0FBYyxLQUFLO0FBRWhFLFVBQUcsR0FBRyxXQUFXLFNBQVMsR0FBRztBQUMzQixtQkFBVztBQUNYLGVBQU87QUFBQSxNQUNUO0FBRUEsYUFBTztBQUFBLElBQ1QsQ0FBQztBQUVELFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSTtBQUNGLFdBQU8sUUFBUSxLQUFLLE9BQU8sRUFBQyxTQUFTLEdBQUcsaUJBQWlCLFdBQVUsQ0FBQztBQUFBLEVBQ3RFLFNBQVEsT0FBTjtBQUNBLFFBQUk7QUFDRixhQUFPLFFBQVEsS0FBSyxPQUFPLEVBQUMsU0FBUyxRQUFRLElBQUksR0FBRyxXQUFVLENBQUM7QUFBQSxJQUNqRSxTQUFRLFFBQU47QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
53
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3Jlc29sdmVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuY29uc3Qge2V4aXN0c1N5bmN9ID0gcmVxdWlyZSgnZnMtZXh0cmEnKTtcbmNvbnN0IHtleHRuYW1lLCByZXNvbHZlfSA9IHJlcXVpcmUoJ3BhdGgnKTtcbmNvbnN0IHJlc29sdmVTeW5jID0gcmVxdWlyZSgncmVzb2x2ZS9zeW5jJyk7XG5cbmNvbnN0IGdldEZ1bGxQYXRoID0gKGJhc2VkaXI6IHN0cmluZywgbmFtZTogc3RyaW5nLCBleHRlbnNpb25zOiBzdHJpbmdbXSk6IHN0cmluZyA9PiB7XG4gIGxldCBmdWxsUGF0aCA9IG5hbWU7XG5cbiAgZXh0ZW5zaW9ucy5zb21lKChleHQpID0+IHtcbiAgICBpZihuYW1lICE9PSAnLi4nKSB7XG4gICAgICBjb25zdCBmaWxlbmFtZSA9IHJlc29sdmUoYCR7YmFzZWRpcn0vJHtuYW1lfSR7ZXh0fWApO1xuXG4gICAgICBpZihleGlzdHNTeW5jKGZpbGVuYW1lKSkge1xuICAgICAgICBmdWxsUGF0aCA9IGZpbGVuYW1lO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBpbmRleEZpbGUgPSByZXNvbHZlKGAke2Jhc2VkaXJ9LyR7bmFtZX0vaW5kZXgke2V4dH1gKTtcblxuICAgIGlmKGV4aXN0c1N5bmMoaW5kZXhGaWxlKSkge1xuICAgICAgZnVsbFBhdGggPSBpbmRleEZpbGU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0pO1xuXG4gIHJldHVybiBmdWxsUGF0aDtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gKHZhbHVlLCBvcHRpb25zKSA9PiB7XG4gIGlmKHZhbHVlID09PSAnJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgaXNBYnNvbHV0ZSA9IHZhbHVlLmluZGV4T2YoJy8nKSA9PT0gMDtcblxuICBpZihpc0Fic29sdXRlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgY29uc3Qge2Jhc2VkaXIsIGV4dGVuc2lvbnN9ID0gb3B0aW9ucztcblxuICBpZih2YWx1ZSA9PT0gJy4uJykge1xuICAgIHJldHVybiBnZXRGdWxsUGF0aChiYXNlZGlyLCAnLi4nLCBleHRlbnNpb25zKTtcbiAgfVxuXG4gIGNvbnN0IGhhc0Jhc2UgPSB2YWx1ZS5pbmRleE9mKCcuLycpID49IDAgfHwgdmFsdWUuaW5kZXhPZignLi4vJykgPj0gMDtcblxuICBpZihoYXNCYXNlKSB7XG4gICAgY29uc3QgZXhpc3RpbmdFeHQ6IHN0cmluZyA9IGV4dG5hbWUodmFsdWUpIHx8ICcnO1xuXG4gICAgaWYoZXhpc3RpbmdFeHQgIT09ICcnICYmIGV4dGVuc2lvbnMuaW5jbHVkZXMoZXhpc3RpbmdFeHQpKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZShgJHtiYXNlZGlyfS8ke3ZhbHVlfWApO1xuICAgIH1cblxuICAgIHJldHVybiBnZXRGdWxsUGF0aChiYXNlZGlyLCB2YWx1ZSwgZXh0ZW5zaW9ucyk7XG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiByZXNvbHZlU3luYyh2YWx1ZSwge2Jhc2VkaXI6IGAke19fZGlybmFtZX0vLi4vYCwgZXh0ZW5zaW9uc30pO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiByZXNvbHZlU3luYyh2YWx1ZSwge2Jhc2VkaXI6IHByb2Nlc3MuY3dkKCksIGV4dGVuc2lvbnN9KTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxNQUFNLEVBQUMsZUFBYyxRQUFRLFVBQVU7QUFDdkMsTUFBTSxFQUFDLFNBQVMsWUFBVyxRQUFRLE1BQU07QUFDekMsTUFBTSxjQUFjLFFBQVEsY0FBYztBQUUxQyxNQUFNLGNBQWMsQ0FBQyxTQUFpQixNQUFjLGVBQWlDO0FBQ25GLE1BQUksV0FBVztBQUVmLGFBQVcsS0FBSyxDQUFDLFFBQVE7QUFDdkIsUUFBRyxTQUFTLE1BQU07QUFDaEIsWUFBTSxXQUFXLFFBQVEsR0FBRyxXQUFXLE9BQU8sS0FBSztBQUVuRCxVQUFHLFdBQVcsUUFBUSxHQUFHO0FBQ3ZCLG1CQUFXO0FBQ1gsZUFBTztBQUFBLE1BQ1Q7QUFBQSxJQUNGO0FBRUEsVUFBTSxZQUFZLFFBQVEsR0FBRyxXQUFXLGFBQWEsS0FBSztBQUUxRCxRQUFHLFdBQVcsU0FBUyxHQUFHO0FBQ3hCLGlCQUFXO0FBQ1gsYUFBTztBQUFBLElBQ1Q7QUFFQSxXQUFPO0FBQUEsRUFDVCxDQUFDO0FBRUQsU0FBTztBQUNUO0FBRUEsT0FBTyxVQUFVLENBQUMsT0FBTyxZQUFZO0FBQ25DLE1BQUcsVUFBVSxJQUFJO0FBQ2YsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGFBQWEsTUFBTSxRQUFRLEdBQUcsTUFBTTtBQUUxQyxNQUFHLFlBQVk7QUFDYixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sRUFBQyxTQUFTLGVBQWM7QUFFOUIsTUFBRyxVQUFVLE1BQU07QUFDakIsV0FBTyxZQUFZLFNBQVMsTUFBTSxVQUFVO0FBQUEsRUFDOUM7QUFFQSxRQUFNLFVBQVUsTUFBTSxRQUFRLElBQUksS0FBSyxLQUFLLE1BQU0sUUFBUSxLQUFLLEtBQUs7QUFFcEUsTUFBRyxTQUFTO0FBQ1YsVUFBTSxjQUFzQixRQUFRLEtBQUssS0FBSztBQUU5QyxRQUFHLGdCQUFnQixNQUFNLFdBQVcsU0FBUyxXQUFXLEdBQUc7QUFDekQsYUFBTyxRQUFRLEdBQUcsV0FBVyxPQUFPO0FBQUEsSUFDdEM7QUFFQSxXQUFPLFlBQVksU0FBUyxPQUFPLFVBQVU7QUFBQSxFQUMvQztBQUVBLE1BQUk7QUFDRixXQUFPLFlBQVksT0FBTyxFQUFDLFNBQVMsR0FBRyxpQkFBaUIsV0FBVSxDQUFDO0FBQUEsRUFDckUsU0FBUSxPQUFOO0FBQ0EsUUFBSTtBQUNGLGFBQU8sWUFBWSxPQUFPLEVBQUMsU0FBUyxRQUFRLElBQUksR0FBRyxXQUFVLENBQUM7QUFBQSxJQUNoRSxTQUFRLFFBQU47QUFDQSxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -26,12 +26,13 @@ __export(file_exports, {
26
26
  module.exports = __toCommonJS(file_exports);
27
27
  var import_find_file_up = __toESM(require("find-file-up"));
28
28
  var import_fs_extra = require("fs-extra");
29
+ var import_path = require("path");
29
30
  const relativeFilePath = (filename, nodePath = "./", backUp = 0) => {
30
31
  const nestDepth = 10;
31
32
  if (backUp) {
32
33
  const filePath = import_find_file_up.default.sync(filename, nodePath, nestDepth);
33
34
  const previousPath = Array(backUp).fill(null).map(() => "../").join("");
34
- return path.resolve(filePath, previousPath);
35
+ return (0, import_path.resolve)(filePath, previousPath);
35
36
  }
36
37
  return import_find_file_up.default.sync(filename, nodePath, nestDepth);
37
38
  };
@@ -49,4 +50,4 @@ const getNodePath = (moduleName) => {
49
50
  getNodePath,
50
51
  relativeFilePath
51
52
  });
52
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2ZpbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIyLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgZmluZEZpbGVVcCBmcm9tICdmaW5kLWZpbGUtdXAnO1xuaW1wb3J0IHtleGlzdHNTeW5jfSBmcm9tICdmcy1leHRyYSc7XG5cbi8vIEdldCBmaWxlIHBhdGhzIHJlbGF0aXZlIHRvIExleFxuZXhwb3J0IGNvbnN0IHJlbGF0aXZlRmlsZVBhdGggPSAoZmlsZW5hbWU6IHN0cmluZywgbm9kZVBhdGg6IHN0cmluZyA9ICcuLycsIGJhY2tVcDogbnVtYmVyID0gMCkgPT4ge1xuICBjb25zdCBuZXN0RGVwdGg6IG51bWJlciA9IDEwO1xuXG4gIGlmKGJhY2tVcCkge1xuICAgIGNvbnN0IGZpbGVQYXRoOiBzdHJpbmcgPSBmaW5kRmlsZVVwLnN5bmMoZmlsZW5hbWUsIG5vZGVQYXRoLCBuZXN0RGVwdGgpO1xuICAgIGNvbnN0IHByZXZpb3VzUGF0aDogc3RyaW5nID0gQXJyYXkoYmFja1VwKS5maWxsKG51bGwpLm1hcCgoKSA9PiAnLi4vJykuam9pbignJyk7XG4gICAgcmV0dXJuIHBhdGgucmVzb2x2ZShmaWxlUGF0aCwgcHJldmlvdXNQYXRoKTtcbiAgfVxuXG4gIHJldHVybiBmaW5kRmlsZVVwLnN5bmMoZmlsZW5hbWUsIG5vZGVQYXRoLCBuZXN0RGVwdGgpO1xufTtcblxuLy8gR2V0IGZpbGUgcGF0aHMgcmVsYXRpdmUgdG8gTGV4XG5leHBvcnQgY29uc3QgZ2V0Tm9kZVBhdGggPSAobW9kdWxlTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbW9kdWxlUGF0aDogc3RyaW5nID0gYG5vZGVfbW9kdWxlcy8ke21vZHVsZU5hbWV9YDtcbiAgY29uc3QgcmVwb1BhdGg6IHN0cmluZyA9IGZpbmRGaWxlVXAuc3luYyhtb2R1bGVQYXRoLCBfX2Rpcm5hbWUpO1xuXG4gIGlmKHJlcG9QYXRoICYmIGV4aXN0c1N5bmMocmVwb1BhdGgpKSB7XG4gICAgcmV0dXJuIHJlcG9QYXRoO1xuICB9XG5cbiAgY29uc3QgbG9jYWxQYXRoOiBzdHJpbmcgPSBmaW5kRmlsZVVwLnN5bmMobW9kdWxlUGF0aCwgJy4vJywgMTApIHx8IGAuLyR7bW9kdWxlUGF0aH1gO1xuICByZXR1cm4gbG9jYWxQYXRoO1xufTsiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLDBCQUF1QjtBQUN2QixzQkFBeUI7QUFHbEIsTUFBTSxtQkFBbUIsQ0FBQyxVQUFrQixXQUFtQixNQUFNLFNBQWlCLE1BQU07QUFDakcsUUFBTSxZQUFvQjtBQUUxQixNQUFHLFFBQVE7QUFDVCxVQUFNLFdBQW1CLDRCQUFXLEtBQUssVUFBVSxVQUFVLFNBQVM7QUFDdEUsVUFBTSxlQUF1QixNQUFNLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxJQUFJLE1BQU0sS0FBSyxFQUFFLEtBQUssRUFBRTtBQUM5RSxXQUFPLEtBQUssUUFBUSxVQUFVLFlBQVk7QUFBQSxFQUM1QztBQUVBLFNBQU8sNEJBQVcsS0FBSyxVQUFVLFVBQVUsU0FBUztBQUN0RDtBQUdPLE1BQU0sY0FBYyxDQUFDLGVBQStCO0FBQ3pELFFBQU0sYUFBcUIsZ0JBQWdCO0FBQzNDLFFBQU0sV0FBbUIsNEJBQVcsS0FBSyxZQUFZLFNBQVM7QUFFOUQsTUFBRyxZQUFZLGdDQUFXLFFBQVEsR0FBRztBQUNuQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sWUFBb0IsNEJBQVcsS0FBSyxZQUFZLE1BQU0sRUFBRSxLQUFLLEtBQUs7QUFDeEUsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
53
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2ZpbGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIyLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgZmluZEZpbGVVcCBmcm9tICdmaW5kLWZpbGUtdXAnO1xuaW1wb3J0IHtleGlzdHNTeW5jfSBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQge3Jlc29sdmV9IGZyb20gJ3BhdGgnO1xuXG4vLyBHZXQgZmlsZSBwYXRocyByZWxhdGl2ZSB0byBMZXhcbmV4cG9ydCBjb25zdCByZWxhdGl2ZUZpbGVQYXRoID0gKGZpbGVuYW1lOiBzdHJpbmcsIG5vZGVQYXRoOiBzdHJpbmcgPSAnLi8nLCBiYWNrVXA6IG51bWJlciA9IDApID0+IHtcbiAgY29uc3QgbmVzdERlcHRoOiBudW1iZXIgPSAxMDtcblxuICBpZihiYWNrVXApIHtcbiAgICBjb25zdCBmaWxlUGF0aDogc3RyaW5nID0gZmluZEZpbGVVcC5zeW5jKGZpbGVuYW1lLCBub2RlUGF0aCwgbmVzdERlcHRoKTtcbiAgICBjb25zdCBwcmV2aW91c1BhdGg6IHN0cmluZyA9IEFycmF5KGJhY2tVcCkuZmlsbChudWxsKS5tYXAoKCkgPT4gJy4uLycpLmpvaW4oJycpO1xuICAgIHJldHVybiByZXNvbHZlKGZpbGVQYXRoLCBwcmV2aW91c1BhdGgpO1xuICB9XG5cbiAgcmV0dXJuIGZpbmRGaWxlVXAuc3luYyhmaWxlbmFtZSwgbm9kZVBhdGgsIG5lc3REZXB0aCk7XG59O1xuXG4vLyBHZXQgZmlsZSBwYXRocyByZWxhdGl2ZSB0byBMZXhcbmV4cG9ydCBjb25zdCBnZXROb2RlUGF0aCA9IChtb2R1bGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBtb2R1bGVQYXRoOiBzdHJpbmcgPSBgbm9kZV9tb2R1bGVzLyR7bW9kdWxlTmFtZX1gO1xuICBjb25zdCByZXBvUGF0aDogc3RyaW5nID0gZmluZEZpbGVVcC5zeW5jKG1vZHVsZVBhdGgsIF9fZGlybmFtZSk7XG5cbiAgaWYocmVwb1BhdGggJiYgZXhpc3RzU3luYyhyZXBvUGF0aCkpIHtcbiAgICByZXR1cm4gcmVwb1BhdGg7XG4gIH1cblxuICBjb25zdCBsb2NhbFBhdGg6IHN0cmluZyA9IGZpbmRGaWxlVXAuc3luYyhtb2R1bGVQYXRoLCAnLi8nLCAxMCkgfHwgYC4vJHttb2R1bGVQYXRofWA7XG4gIHJldHVybiBsb2NhbFBhdGg7XG59OyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUEsMEJBQXVCO0FBQ3ZCLHNCQUF5QjtBQUN6QixrQkFBc0I7QUFHZixNQUFNLG1CQUFtQixDQUFDLFVBQWtCLFdBQW1CLE1BQU0sU0FBaUIsTUFBTTtBQUNqRyxRQUFNLFlBQW9CO0FBRTFCLE1BQUcsUUFBUTtBQUNULFVBQU0sV0FBbUIsNEJBQVcsS0FBSyxVQUFVLFVBQVUsU0FBUztBQUN0RSxVQUFNLGVBQXVCLE1BQU0sTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFLElBQUksTUFBTSxLQUFLLEVBQUUsS0FBSyxFQUFFO0FBQzlFLFdBQU8seUJBQVEsVUFBVSxZQUFZO0FBQUEsRUFDdkM7QUFFQSxTQUFPLDRCQUFXLEtBQUssVUFBVSxVQUFVLFNBQVM7QUFDdEQ7QUFHTyxNQUFNLGNBQWMsQ0FBQyxlQUErQjtBQUN6RCxRQUFNLGFBQXFCLGdCQUFnQjtBQUMzQyxRQUFNLFdBQW1CLDRCQUFXLEtBQUssWUFBWSxTQUFTO0FBRTlELE1BQUcsWUFBWSxnQ0FBVyxRQUFRLEdBQUc7QUFDbkMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFlBQW9CLDRCQUFXLEtBQUssWUFBWSxNQUFNLEVBQUUsS0FBSyxLQUFLO0FBQ3hFLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,16 +1,26 @@
1
- const path = require('path');
1
+ const {resolve} = require('path');
2
2
 
3
3
  const {getNodePath} = require('./dist/utils/file');
4
4
 
5
5
  const rootDir = process.cwd();
6
- const {jest, sourceFullPath, useTypescript} = JSON.parse(process.env.LEX_CONFIG || '{}');
6
+ const {jest, sourceFullPath, targetEnvironment, useTypescript} = JSON.parse(process.env.LEX_CONFIG || '{}');
7
7
 
8
8
  // Polyfill path
9
- const nodePath = path.resolve(__dirname, './node_modules');
9
+ const nodePath = resolve(__dirname, './node_modules');
10
10
  const setupFiles = [
11
11
  getNodePath('core-js'),
12
12
  getNodePath('regenerator-runtime/runtime.js')
13
13
  ];
14
+ let testEnvironment = 'node';
15
+ let testEnvironmentOptions = {};
16
+
17
+ if(targetEnvironment === 'web') {
18
+ testEnvironment = 'jsdom';
19
+ testEnvironmentOptions = {
20
+ url: 'http://localhost'
21
+ };
22
+ }
23
+
14
24
  let moduleFileExtensions = ['js', 'json'];
15
25
  let testRegex = '(/__tests__/.*|\\.(test|spec))\\.(js)?$';
16
26
  let transformIgnorePatterns = ['[/\\\\]node_modules[/\\\\].+\\.(js)$'];
@@ -26,27 +36,49 @@ module.exports = {
26
36
  coverageDirectory: '<rootDir>/coverage',
27
37
  coveragePathIgnorePatterns: ['/node_modules/', '/dist', '/lib', '__snapshots__', '.d.ts'],
28
38
  coverageReporters: ['html', 'text'],
29
- moduleDirectories: ['node_modules'],
39
+ moduleDirectories: [
40
+ 'node_modules',
41
+ nodePath
42
+ ],
30
43
  moduleFileExtensions,
31
- moduleNameMapper: {'\\.(css|jpg|png|svg|txt)$': path.resolve(__dirname, './emptyModule')},
44
+ moduleNameMapper: {'\\.(css|jpg|png|svg|txt)$': resolve(__dirname, './emptyModule')},
32
45
  modulePaths: [
46
+ rootDir,
33
47
  `${rootDir}/node_modules`,
34
48
  nodePath,
35
49
  sourceFullPath
36
50
  ],
37
- resolver: path.resolve(__dirname, './dist/resolver.js'),
51
+ resolver: resolve(__dirname, './dist/resolver.js'),
38
52
  rootDir,
39
53
  setupFiles,
40
- testEnvironment: 'jsdom',
41
- testEnvironmentOptions: {
42
- url: 'http://localhost'
43
- },
54
+ testEnvironment,
55
+ testEnvironmentOptions,
44
56
  testPathIgnorePatterns: [
45
57
  '/node_modules/',
46
58
  `${nodePath}/`
47
59
  ],
48
60
  testRegex,
49
- transformIgnorePatterns,
61
+ testRunner: `${nodePath}/jest-circus/runner.js`,
62
+ transform: {
63
+ '^.+\\.tsx?$': [
64
+ `${nodePath}/@nlabs/esbuild-jest/dist/index.js`,
65
+ {
66
+ format: 'cjs',
67
+ loaders: {
68
+ '.js': 'js',
69
+ '.ts': 'ts',
70
+ '.test.ts': 'ts',
71
+ '.spec.ts': 'ts',
72
+ '.tsx': 'tsx',
73
+ '.test.tsx': 'tsx',
74
+ '.spec.tsx': 'tsx'
75
+ },
76
+ sourcemap: true
77
+ }
78
+ ],
79
+ '\\.(gql|graphql)$': 'jest-transform-graphql'
80
+ },
81
+ transformIgnorePatterns: [],
50
82
  verbose: false,
51
83
  ...jest
52
84
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nlabs/lex",
3
- "version": "1.36.0",
3
+ "version": "1.37.0",
4
4
  "description": "Lex",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -46,6 +46,7 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@luckycatfactory/esbuild-graphql-loader": "^3.7.0",
49
+ "@nlabs/esbuild-jest": "^1.37.0",
49
50
  "@nlabs/gothamjs": "^0.8.2",
50
51
  "@nlabs/webpack-plugin-static-site": "^0.1.1",
51
52
  "acorn": "^8.7.0",
@@ -65,8 +66,7 @@
65
66
  "cssnano": "^5.1.5",
66
67
  "dotenv-webpack": "^7.1.0",
67
68
  "download-npm-package": "^3.1.12",
68
- "esbuild": "^0.14.29",
69
- "esbuild-jest": "^0.5.0",
69
+ "esbuild": "^0.14.48",
70
70
  "esbuild-loader": "^2.18.0",
71
71
  "execa": "5.1.1",
72
72
  "exports-loader": "^4.0.0",
@@ -82,6 +82,7 @@
82
82
  "https-browserify": "^1.0.0",
83
83
  "imports-loader": "^4.0.0",
84
84
  "jest": "^28.1.2",
85
+ "jest-circus": "^28.1.2",
85
86
  "jest-cli": "^28.1.2",
86
87
  "jest-environment-jsdom": "^28.1.2",
87
88
  "jest-transform-graphql": "^2.1.0",
@@ -136,7 +137,7 @@
136
137
  "webpack-plugin-serve": "^1.6.0"
137
138
  },
138
139
  "devDependencies": {
139
- "@nlabs/execa-mock": "^1.36.0",
140
+ "@nlabs/execa-mock": "^1.37.0",
140
141
  "@types/jest": "^28.1.4",
141
142
  "@types/luxon": "^2.3.1",
142
143
  "@types/node": "^18.0.3",
@@ -144,8 +145,8 @@
144
145
  "@types/react": "^18.0.15",
145
146
  "@types/webpack": "^5.28.0",
146
147
  "eslint": "^8.12.0",
147
- "eslint-config-styleguidejs": "^2.1.2",
148
+ "eslint-config-styleguidejs": "^3.0.0",
148
149
  "lerna": "^5.1.8"
149
150
  },
150
- "gitHead": "80d43c91c93fd41e4cc604efc8f8b72b7ef04f50"
151
+ "gitHead": "2357f4ef91e9e856726d8e4210684193005e50c5"
151
152
  }
Binary file