@tamagui/babel-plugin-fully-specified 1.101.7 → 1.102.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.
Files changed (28) hide show
  1. package/dist/cjs/index.js +98 -74
  2. package/dist/cjs/index.js.map +2 -2
  3. package/dist/cjs/index.native.js +98 -121
  4. package/dist/cjs/index.native.js.map +2 -2
  5. package/dist/esm/index.js +97 -79
  6. package/dist/esm/index.js.map +1 -1
  7. package/dist/esm/index.mjs +105 -91
  8. package/dist/esm/index.native.js +97 -121
  9. package/dist/esm/index.native.js.map +2 -2
  10. package/package.json +6 -4
  11. package/src/__tests__/__snapshots__/index.test.ts.snap +21 -0
  12. package/src/__tests__/fixtures/force-extension/bar.js +1 -0
  13. package/src/__tests__/fixtures/force-extension/foo.js +1 -0
  14. package/src/__tests__/fixtures/multiple-extensions-exists/modules/module.cjs +2 -0
  15. package/src/__tests__/fixtures/multiple-extensions-exists/modules/module.js +2 -0
  16. package/src/__tests__/fixtures/multiple-extensions-exists/modules/module.mjs +4 -0
  17. package/src/__tests__/fixtures/multiple-extensions-exists/test.mjs +2 -0
  18. package/src/__tests__/fixtures/sample-project-1/modules/cjs-module.cjs +2 -0
  19. package/src/__tests__/fixtures/sample-project-1/modules/module.mjs +4 -0
  20. package/src/__tests__/fixtures/sample-project-1/node_modules/@my-org/my-pkg/lib/exampleFunction.js +3 -0
  21. package/src/__tests__/fixtures/sample-project-1/node_modules/@my-org/my-pkg/lib/index.js +1 -0
  22. package/src/__tests__/fixtures/sample-project-1/node_modules/@my-org/my-pkg/package.json +4 -0
  23. package/src/__tests__/fixtures/sample-project-1/node_modules/README.md +1 -0
  24. package/src/__tests__/fixtures/sample-project-1/test.mjs +13 -0
  25. package/src/__tests__/index.test.ts +139 -0
  26. package/src/index.ts +220 -140
  27. package/types/index.d.ts +14 -21
  28. package/types/index.d.ts.map +1 -1
package/dist/cjs/index.js CHANGED
@@ -17,37 +17,84 @@ __export(src_exports, {
17
17
  default: () => FullySpecified
18
18
  });
19
19
  module.exports = __toCommonJS(src_exports);
20
- var import_node_fs = require("node:fs"), import_node_path = require("node:path"), import_types = require("@babel/types");
21
- const makeDeclaration = ({
22
- declaration,
23
- makeNodes,
24
- ensureFileExists = !1,
25
- esExtensionDefault = ".js",
26
- // List of all extensions which we try to find
27
- tryExtensions = [".js", ".mjs", ".cjs"],
28
- // List of extensions that can run in Node.js or in the Browser
29
- esExtensions = [".js", ".mjs", ".cjs"],
30
- // List of packages that also should be transformed with this plugin
31
- includePackages = []
32
- }) => (path, {
33
- file: {
34
- opts: { filename }
35
- }
36
- }) => {
37
- const { source } = path.node;
38
- if (!source || !filename)
39
- return;
40
- const { exportKind, importKind } = path.node;
41
- if (exportKind === "type" || importKind === "type")
42
- return;
43
- const { value } = source, module2 = value;
20
+ var import_node_fs = require("node:fs"), import_node_path = require("node:path");
21
+ const DEFAULT_OPTIONS = {
22
+ ensureFileExists: !1,
23
+ esExtensionDefault: ".js",
24
+ tryExtensions: [".js", ".mjs", ".cjs"],
25
+ esExtensions: [".js", ".mjs", ".cjs"],
26
+ includePackages: []
27
+ };
28
+ function FullySpecified(api, rawOptions) {
29
+ api.assertVersion(7);
30
+ const options = { ...DEFAULT_OPTIONS, ...rawOptions }, importDeclarationVisitor = (path, state) => {
31
+ const filePath = state.file.opts.filename;
32
+ if (!filePath) return;
33
+ const { node } = path;
34
+ if (node.importKind === "type") return;
35
+ const originalModuleSpecifier = node.source.value, fullySpecifiedModuleSpecifier = getFullySpecifiedModuleSpecifier(
36
+ originalModuleSpecifier,
37
+ {
38
+ filePath,
39
+ options
40
+ }
41
+ );
42
+ fullySpecifiedModuleSpecifier && (node.source.value = fullySpecifiedModuleSpecifier);
43
+ }, exportDeclarationVisitor = (path, state) => {
44
+ const filePath = state.file.opts.filename;
45
+ if (!filePath) return;
46
+ const { node } = path;
47
+ if (node.exportKind === "type") return;
48
+ const source = node.source;
49
+ if (!source) return;
50
+ const originalModuleSpecifier = source.value, fullySpecifiedModuleSpecifier = getFullySpecifiedModuleSpecifier(
51
+ originalModuleSpecifier,
52
+ {
53
+ filePath,
54
+ options
55
+ }
56
+ );
57
+ fullySpecifiedModuleSpecifier && (source.value = fullySpecifiedModuleSpecifier);
58
+ };
59
+ return {
60
+ name: "babel-plugin-fully-specified",
61
+ visitor: {
62
+ ImportDeclaration: importDeclarationVisitor,
63
+ ExportNamedDeclaration: exportDeclarationVisitor,
64
+ ExportAllDeclaration: exportDeclarationVisitor,
65
+ Import: (path, state) => {
66
+ const filePath = state.file.opts.filename;
67
+ if (!filePath) return;
68
+ const parent = path.parent;
69
+ if (parent.type !== "CallExpression")
70
+ return;
71
+ const firstArgOfImportCall = parent.arguments[0];
72
+ if (firstArgOfImportCall.type !== "StringLiteral")
73
+ return;
74
+ const originalModuleSpecifier = firstArgOfImportCall.value, fullySpecifiedModuleSpecifier = getFullySpecifiedModuleSpecifier(
75
+ originalModuleSpecifier,
76
+ {
77
+ filePath,
78
+ options
79
+ }
80
+ );
81
+ fullySpecifiedModuleSpecifier && (firstArgOfImportCall.value = fullySpecifiedModuleSpecifier);
82
+ }
83
+ }
84
+ };
85
+ }
86
+ function getFullySpecifiedModuleSpecifier(originalModuleSpecifier, {
87
+ filePath,
88
+ options
89
+ }) {
90
+ const fileExt = (0, import_node_path.extname)(filePath), fileDir = (0, import_node_path.dirname)(filePath), { includePackages } = options;
44
91
  let packageData = null;
45
- if (!isLocalFile(module2) && (includePackages.some((name) => module2.startsWith(name)) && (packageData = getPackageData(module2)), !(packageData && packageData.hasPath)))
46
- return;
47
- const filenameExtension = (0, import_node_path.extname)(filename), filenameDirectory = (0, import_node_path.dirname)(filename), isDirectory = isLocalDirectory((0, import_node_path.resolve)(filenameDirectory, module2)), currentModuleExtension = (0, import_node_path.extname)(module2), targetModule = evaluateTargetModule({
48
- module: module2,
49
- filenameDirectory,
50
- filenameExtension,
92
+ if (!isLocalFile(originalModuleSpecifier) && (includePackages.some((name) => originalModuleSpecifier.startsWith(name)) && (packageData = getPackageData(originalModuleSpecifier, filePath)), !(packageData && packageData.isDeepImport)))
93
+ return null;
94
+ const isDirectory = isLocalDirectory((0, import_node_path.resolve)(fileDir, originalModuleSpecifier)), currentModuleExtension = (0, import_node_path.extname)(originalModuleSpecifier), { tryExtensions, esExtensions, esExtensionDefault, ensureFileExists } = options, targetModule = evaluateTargetModule({
95
+ moduleSpecifier: originalModuleSpecifier,
96
+ filenameDirectory: fileDir,
97
+ filenameExtension: fileExt,
51
98
  packageData,
52
99
  currentModuleExtension,
53
100
  isDirectory,
@@ -56,39 +103,13 @@ const makeDeclaration = ({
56
103
  esExtensionDefault,
57
104
  ensureFileExists
58
105
  });
59
- if (targetModule === !1 || currentModuleExtension === targetModule.extension)
60
- return;
61
- const nodes = makeNodes(path);
62
- path.replaceWith(
63
- // @ts-ignore
64
- declaration.apply(null, [...nodes, (0, import_types.stringLiteral)(targetModule.module)])
65
- );
66
- };
67
- function FullySpecified(api, options) {
68
- return api.assertVersion(7), {
69
- name: "babel-plugin-fully-specified",
70
- visitor: {
71
- ImportDeclaration: makeDeclaration({
72
- ...options,
73
- declaration: import_types.importDeclaration,
74
- makeNodes: ({ node: { specifiers } }) => [specifiers]
75
- }),
76
- ExportNamedDeclaration: makeDeclaration({
77
- ...options,
78
- declaration: import_types.exportNamedDeclaration,
79
- makeNodes: ({ node: { declaration, specifiers } }) => [declaration, specifiers]
80
- }),
81
- ExportAllDeclaration: makeDeclaration({
82
- ...options,
83
- declaration: import_types.exportAllDeclaration,
84
- makeNodes: () => []
85
- })
86
- }
87
- };
106
+ return targetModule === !1 || currentModuleExtension === targetModule.extension ? null : targetModule.module;
88
107
  }
89
- function getPackageData(module2) {
108
+ function getPackageData(moduleSpecifier, filePath) {
90
109
  try {
91
- const packagePath = require.resolve(module2), parts = packagePath.split("/");
110
+ const modulePath = require.resolve(moduleSpecifier, {
111
+ paths: filePath ? [filePath] : []
112
+ }), parts = modulePath.split("/");
92
113
  let packageDir = "";
93
114
  for (let i = parts.length; i >= 0; i--) {
94
115
  const dir = (0, import_node_path.dirname)(parts.slice(0, i).join("/"));
@@ -100,19 +121,19 @@ function getPackageData(module2) {
100
121
  if (!packageDir)
101
122
  throw new Error("no package dir");
102
123
  const packageJson = JSON.parse((0, import_node_fs.readFileSync)(`${packageDir}/package.json`).toString());
103
- return { hasPath: !module2.endsWith(packageJson.name), packagePath };
124
+ return { isDeepImport: !moduleSpecifier.endsWith(packageJson.name), modulePath };
104
125
  } catch {
105
126
  }
106
127
  return null;
107
128
  }
108
- function isLocalFile(module2) {
109
- return module2.startsWith(".") || module2.startsWith("/");
129
+ function isLocalFile(moduleSpecifier) {
130
+ return moduleSpecifier.startsWith(".") || moduleSpecifier.startsWith("/");
110
131
  }
111
132
  function isLocalDirectory(absoluteDirectory) {
112
133
  return (0, import_node_fs.existsSync)(absoluteDirectory) && (0, import_node_fs.lstatSync)(absoluteDirectory).isDirectory();
113
134
  }
114
135
  function evaluateTargetModule({
115
- module: module2,
136
+ moduleSpecifier,
116
137
  currentModuleExtension,
117
138
  packageData,
118
139
  isDirectory,
@@ -124,8 +145,8 @@ function evaluateTargetModule({
124
145
  ensureFileExists
125
146
  }) {
126
147
  if (packageData)
127
- return packageData.packagePath.endsWith("index.js") && !module2.endsWith("index.js") && (module2 = `${module2}/index`), {
128
- module: module2 + esExtensionDefault,
148
+ return packageData.modulePath.endsWith("index.js") && !moduleSpecifier.endsWith("index.js") && (moduleSpecifier = `${moduleSpecifier}/index`), {
149
+ module: moduleSpecifier + esExtensionDefault,
129
150
  extension: esExtensionDefault
130
151
  };
131
152
  if (currentModuleExtension && !esExtensions.includes(currentModuleExtension))
@@ -133,24 +154,27 @@ function evaluateTargetModule({
133
154
  isDirectory && !(0, import_node_fs.existsSync)(
134
155
  (0, import_node_path.resolve)(
135
156
  filenameDirectory,
136
- currentModuleExtension ? module2 : module2 + esExtensionDefault
157
+ currentModuleExtension ? moduleSpecifier : moduleSpecifier + esExtensionDefault
137
158
  )
138
- ) && (module2 = `${module2}/index`);
139
- const targetFile = (0, import_node_path.resolve)(filenameDirectory, module2);
159
+ ) && (moduleSpecifier = `${moduleSpecifier}/index`);
160
+ const targetFile = (0, import_node_path.resolve)(filenameDirectory, moduleSpecifier);
140
161
  if (ensureFileExists) {
141
162
  if (esExtensions.includes(filenameExtension) && (0, import_node_fs.existsSync)(targetFile + filenameExtension))
142
163
  return {
143
- module: module2 + filenameExtension,
164
+ module: moduleSpecifier + (ensureFileExists.forceExtension || filenameExtension),
144
165
  extension: filenameExtension
145
166
  };
146
167
  for (const extension of tryExtensions)
147
168
  if ((0, import_node_fs.existsSync)(targetFile + extension))
148
- return { module: module2 + ".mjs", extension };
169
+ return {
170
+ module: moduleSpecifier + (ensureFileExists.forceExtension || extension),
171
+ extension
172
+ };
149
173
  } else return esExtensions.includes(filenameExtension) ? {
150
- module: module2 + filenameExtension,
174
+ module: moduleSpecifier + filenameExtension,
151
175
  extension: filenameExtension
152
176
  } : {
153
- module: module2 + esExtensionDefault,
177
+ module: moduleSpecifier + esExtensionDefault,
154
178
  extension: esExtensionDefault
155
179
  };
156
180
  return !1;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoD,oBACpD,mBAA0C,sBAC1C,eAKO;AAgDP,MAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,qBAAqB;AAAA;AAAA,EAGrB,gBAAgB,CAAC,OAAO,QAAQ,MAAM;AAAA;AAAA,EAGtC,eAAe,CAAC,OAAO,QAAQ,MAAM;AAAA;AAAA,EAGrC,kBAAkB,CAAC;AACrB,MACS,CACL,MACA;AAAA,EACE,MAAM;AAAA,IACJ,MAAM,EAAE,SAAS;AAAA,EACnB;AACF,MACG;AACH,QAAM,EAAE,OAAO,IAAI,KAAK;AAExB,MAAI,CAAC,UAAU,CAAC;AACd;AAGF,QAAM,EAAE,YAAY,WAAW,IAAI,KAAK;AAExC,MADmB,eAAe,UAAU,eAAe;AAEzD;AAGF,QAAM,EAAE,MAAM,IAAI,QACZA,UAAS;AAEf,MAAI,cAAkC;AAEtC,MAAI,CAAC,YAAYA,OAAM,MACjB,gBAAgB,KAAK,CAAC,SAASA,QAAO,WAAW,IAAI,CAAC,MACxD,cAAc,eAAeA,OAAM,IAGjC,EAAE,eAAe,YAAY;AAC/B;AAIJ,QAAM,wBAAoB,0BAAQ,QAAQ,GACpC,wBAAoB,0BAAQ,QAAQ,GACpC,cAAc,qBAAiB,0BAAQ,mBAAmBA,OAAM,CAAC,GAEjE,6BAAyB,0BAAQA,OAAM,GACvC,eAAe,qBAAqB;AAAA,IACxC,QAAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,MAAI,iBAAiB,MAAS,2BAA2B,aAAa;AACpE;AAGF,QAAM,QAAQ,UAAU,IAAI;AAE5B,OAAK;AAAA;AAAA,IAEH,YAAY,MAAM,MAAM,CAAC,GAAG,WAAO,4BAAc,aAAa,MAAM,CAAC,CAAC;AAAA,EACxE;AACF;AAGa,SAAR,eAAgC,KAAgB,SAAgC;AACrF,aAAI,cAAc,CAAC,GAEZ;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,MACP,mBAAmB,gBAAgB;AAAA,QACjC,GAAG;AAAA,QACH,aAAa;AAAA,QACb,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU;AAAA,MACtD,CAAC;AAAA,MACD,wBAAwB,gBAAgB;AAAA,QACtC,GAAG;AAAA,QACH,aAAa;AAAA,QACb,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,WAAW,EAAE,MAAM,CAAC,aAAa,UAAU;AAAA,MAChF,CAAC;AAAA,MACD,sBAAsB,gBAAgB;AAAA,QACpC,GAAG;AAAA,QACH,aAAa;AAAA,QACb,WAAW,MAAM,CAAC;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEA,SAAS,eAA4BA,SAAgB;AACnD,MAAI;AACF,UAAM,cAAc,QAAQ,QAAQA,OAAM,GACpC,QAAQ,YAAY,MAAM,GAAG;AAEnC,QAAI,aAAa;AACjB,aAAS,IAAI,MAAM,QAAQ,KAAK,GAAG,KAAK;AACtC,YAAM,UAAM,0BAAQ,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC;AAC/C,cAAI,2BAAW,GAAG,GAAG,eAAe,GAAG;AACrC,qBAAa;AACb;AAAA,MACF;AAAA,IACF;AACA,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,gBAAgB;AAGlC,UAAM,cAAc,KAAK,UAAM,6BAAa,GAAG,UAAU,eAAe,EAAE,SAAS,CAAC;AAGpF,WAAO,EAAE,SADO,CAACA,QAAO,SAAS,YAAY,IAAI,GAC/B,YAAY;AAAA,EAChC,QAAY;AAAA,EAAC;AAEb,SAAO;AACT;AAEA,SAAS,YAAYA,SAAgB;AACnC,SAAOA,QAAO,WAAW,GAAG,KAAKA,QAAO,WAAW,GAAG;AACxD;AAEA,SAAS,iBAAiB,mBAA2B;AACnD,aAAO,2BAAW,iBAAiB,SAAK,0BAAU,iBAAiB,EAAE,YAAY;AACnF;AAEA,SAAS,qBAAqB;AAAA,EAC5B,QAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAG;AACD,MAAI;AACF,WAAI,YAAY,YAAY,SAAS,UAAU,KAAK,CAACA,QAAO,SAAS,UAAU,MAC7EA,UAAS,GAAGA,OAAM,WAGb;AAAA,MACL,QAAQA,UAAS;AAAA,MACjB,WAAW;AAAA,IACb;AAGF,MAAI,0BAA0B,CAAC,aAAa,SAAS,sBAAsB;AACzE,WAAO;AAGT,EACE,eACA,KAAC;AAAA,QACC;AAAA,MACE;AAAA,MACA,yBAAyBA,UAASA,UAAS;AAAA,IAC7C;AAAA,EACF,MAEAA,UAAS,GAAGA,OAAM;AAGpB,QAAM,iBAAa,0BAAQ,mBAAmBA,OAAM;AAEpD,MAAI,kBAAkB;AAEpB,QACE,aAAa,SAAS,iBAAiB,SACvC,2BAAW,aAAa,iBAAiB;AAEzC,aAAO;AAAA,QACL,QAAQA,UAAS;AAAA,QACjB,WAAW;AAAA,MACb;AAIF,eAAW,aAAa;AACtB,cAAI,2BAAW,aAAa,SAAS;AACnC,eAAO,EAAE,QAAQA,UAAS,QAAQ,UAAU;AAAA,EAGlD,MAAO,QAAI,aAAa,SAAS,iBAAiB,IACzC;AAAA,IACL,QAAQA,UAAS;AAAA,IACjB,WAAW;AAAA,EACb,IAEO;AAAA,IACL,QAAQA,UAAS;AAAA,IACjB,WAAW;AAAA,EACb;AAGF,SAAO;AACT;",
5
- "names": ["module"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }
@@ -18,15 +18,7 @@ __export(src_exports, {
18
18
  default: () => FullySpecified
19
19
  });
20
20
  module.exports = __toCommonJS(src_exports);
21
- var import_node_fs = require("node:fs"), import_node_path = require("node:path"), import_types = require("@babel/types");
22
- function _array_like_to_array(arr, len) {
23
- (len == null || len > arr.length) && (len = arr.length);
24
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
25
- return arr2;
26
- }
27
- function _array_without_holes(arr) {
28
- if (Array.isArray(arr)) return _array_like_to_array(arr);
29
- }
21
+ var import_node_fs = require("node:fs"), import_node_path = require("node:path");
30
22
  function _define_property(obj, key, value) {
31
23
  return key in obj ? Object.defineProperty(obj, key, {
32
24
  value,
@@ -35,129 +27,114 @@ function _define_property(obj, key, value) {
35
27
  writable: !0
36
28
  }) : obj[key] = value, obj;
37
29
  }
38
- function _iterable_to_array(iter) {
39
- if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
40
- }
41
- function _non_iterable_spread() {
42
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
43
- }
44
30
  function _object_spread(target) {
45
31
  for (var i = 1; i < arguments.length; i++) {
46
- var source = arguments[i] != null ? arguments[i] : {}, ownKeys2 = Object.keys(source);
47
- typeof Object.getOwnPropertySymbols == "function" && (ownKeys2 = ownKeys2.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
32
+ var source = arguments[i] != null ? arguments[i] : {}, ownKeys = Object.keys(source);
33
+ typeof Object.getOwnPropertySymbols == "function" && (ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
48
34
  return Object.getOwnPropertyDescriptor(source, sym).enumerable;
49
- }))), ownKeys2.forEach(function(key) {
35
+ }))), ownKeys.forEach(function(key) {
50
36
  _define_property(target, key, source[key]);
51
37
  });
52
38
  }
53
39
  return target;
54
40
  }
55
- function ownKeys(object, enumerableOnly) {
56
- var keys = Object.keys(object);
57
- if (Object.getOwnPropertySymbols) {
58
- var symbols = Object.getOwnPropertySymbols(object);
59
- enumerableOnly && (symbols = symbols.filter(function(sym) {
60
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
61
- })), keys.push.apply(keys, symbols);
62
- }
63
- return keys;
64
- }
65
- function _object_spread_props(target, source) {
66
- return source = source ?? {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
67
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
68
- }), target;
69
- }
70
- function _to_consumable_array(arr) {
71
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
72
- }
73
- function _unsupported_iterable_to_array(o, minLen) {
74
- if (o) {
75
- if (typeof o == "string") return _array_like_to_array(o, minLen);
76
- var n = Object.prototype.toString.call(o).slice(8, -1);
77
- if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
78
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
79
- }
80
- }
81
- var makeDeclaration = function(param) {
82
- var declaration = param.declaration, makeNodes = param.makeNodes, _param_ensureFileExists = param.ensureFileExists, ensureFileExists = _param_ensureFileExists === void 0 ? !1 : _param_ensureFileExists, _param_esExtensionDefault = param.esExtensionDefault, esExtensionDefault = _param_esExtensionDefault === void 0 ? ".js" : _param_esExtensionDefault, _param_tryExtensions = param.tryExtensions, tryExtensions = _param_tryExtensions === void 0 ? [
41
+ var DEFAULT_OPTIONS = {
42
+ ensureFileExists: !1,
43
+ esExtensionDefault: ".js",
44
+ tryExtensions: [
83
45
  ".js",
84
46
  ".mjs",
85
47
  ".cjs"
86
- ] : _param_tryExtensions, _param_esExtensions = param.esExtensions, esExtensions = _param_esExtensions === void 0 ? [
48
+ ],
49
+ esExtensions: [
87
50
  ".js",
88
51
  ".mjs",
89
52
  ".cjs"
90
- ] : _param_esExtensions, _param_includePackages = param.includePackages, includePackages = _param_includePackages === void 0 ? [] : _param_includePackages;
91
- return function(path, param2) {
92
- var _param_file = param2.file, filename = _param_file.opts.filename, source = path.node.source;
93
- if (!(!source || !filename)) {
94
- var _path_node = path.node, exportKind = _path_node.exportKind, importKind = _path_node.importKind, isTypeOnly = exportKind === "type" || importKind === "type";
95
- if (!isTypeOnly) {
96
- var value = source.value, module2 = value, packageData = null;
97
- if (!(!isLocalFile(module2) && (includePackages.some(function(name) {
98
- return module2.startsWith(name);
99
- }) && (packageData = getPackageData(module2)), !(packageData && packageData.hasPath)))) {
100
- var filenameExtension = (0, import_node_path.extname)(filename), filenameDirectory = (0, import_node_path.dirname)(filename), isDirectory = isLocalDirectory((0, import_node_path.resolve)(filenameDirectory, module2)), currentModuleExtension = (0, import_node_path.extname)(module2), targetModule = evaluateTargetModule({
101
- module: module2,
102
- filenameDirectory,
103
- filenameExtension,
104
- packageData,
105
- currentModuleExtension,
106
- isDirectory,
107
- tryExtensions,
108
- esExtensions,
109
- esExtensionDefault,
110
- ensureFileExists
53
+ ],
54
+ includePackages: []
55
+ };
56
+ function FullySpecified(api, rawOptions) {
57
+ api.assertVersion(7);
58
+ var options = _object_spread({}, DEFAULT_OPTIONS, rawOptions), importDeclarationVisitor = function(path, state) {
59
+ var filePath = state.file.opts.filename;
60
+ if (filePath) {
61
+ var node = path.node;
62
+ if (node.importKind !== "type") {
63
+ var originalModuleSpecifier = node.source.value, fullySpecifiedModuleSpecifier = getFullySpecifiedModuleSpecifier(originalModuleSpecifier, {
64
+ filePath,
65
+ options
66
+ });
67
+ fullySpecifiedModuleSpecifier && (node.source.value = fullySpecifiedModuleSpecifier);
68
+ }
69
+ }
70
+ }, exportDeclarationVisitor = function(path, state) {
71
+ var filePath = state.file.opts.filename;
72
+ if (filePath) {
73
+ var node = path.node;
74
+ if (node.exportKind !== "type") {
75
+ var source = node.source;
76
+ if (source) {
77
+ var originalModuleSpecifier = source.value, fullySpecifiedModuleSpecifier = getFullySpecifiedModuleSpecifier(originalModuleSpecifier, {
78
+ filePath,
79
+ options
80
+ });
81
+ fullySpecifiedModuleSpecifier && (source.value = fullySpecifiedModuleSpecifier);
82
+ }
83
+ }
84
+ }
85
+ }, importVisitor = function(path, state) {
86
+ var filePath = state.file.opts.filename;
87
+ if (filePath) {
88
+ var parent = path.parent;
89
+ if (parent.type === "CallExpression") {
90
+ var firstArgOfImportCall = parent.arguments[0];
91
+ if (firstArgOfImportCall.type === "StringLiteral") {
92
+ var originalModuleSpecifier = firstArgOfImportCall.value, fullySpecifiedModuleSpecifier = getFullySpecifiedModuleSpecifier(originalModuleSpecifier, {
93
+ filePath,
94
+ options
111
95
  });
112
- if (!(targetModule === !1 || currentModuleExtension === targetModule.extension)) {
113
- var nodes = makeNodes(path);
114
- path.replaceWith(
115
- // @ts-ignore
116
- declaration.apply(null, _to_consumable_array(nodes).concat([
117
- (0, import_types.stringLiteral)(targetModule.module)
118
- ]))
119
- );
120
- }
96
+ fullySpecifiedModuleSpecifier && (firstArgOfImportCall.value = fullySpecifiedModuleSpecifier);
121
97
  }
122
98
  }
123
99
  }
124
100
  };
125
- };
126
- function FullySpecified(api, options) {
127
- return api.assertVersion(7), {
101
+ return {
128
102
  name: "babel-plugin-fully-specified",
129
103
  visitor: {
130
- ImportDeclaration: makeDeclaration(_object_spread_props(_object_spread({}, options), {
131
- declaration: import_types.importDeclaration,
132
- makeNodes: function(param) {
133
- var specifiers = param.node.specifiers;
134
- return [
135
- specifiers
136
- ];
137
- }
138
- })),
139
- ExportNamedDeclaration: makeDeclaration(_object_spread_props(_object_spread({}, options), {
140
- declaration: import_types.exportNamedDeclaration,
141
- makeNodes: function(param) {
142
- var _param_node = param.node, declaration = _param_node.declaration, specifiers = _param_node.specifiers;
143
- return [
144
- declaration,
145
- specifiers
146
- ];
147
- }
148
- })),
149
- ExportAllDeclaration: makeDeclaration(_object_spread_props(_object_spread({}, options), {
150
- declaration: import_types.exportAllDeclaration,
151
- makeNodes: function() {
152
- return [];
153
- }
154
- }))
104
+ ImportDeclaration: importDeclarationVisitor,
105
+ ExportNamedDeclaration: exportDeclarationVisitor,
106
+ ExportAllDeclaration: exportDeclarationVisitor,
107
+ Import: importVisitor
155
108
  }
156
109
  };
157
110
  }
158
- function getPackageData(module2) {
111
+ function getFullySpecifiedModuleSpecifier(originalModuleSpecifier, param) {
112
+ var filePath = param.filePath, options = param.options, fileExt = (0, import_node_path.extname)(filePath), fileDir = (0, import_node_path.dirname)(filePath), includePackages = options.includePackages, packageData = null;
113
+ if (!isLocalFile(originalModuleSpecifier) && (includePackages.some(function(name) {
114
+ return originalModuleSpecifier.startsWith(name);
115
+ }) && (packageData = getPackageData(originalModuleSpecifier, filePath)), !(packageData && packageData.isDeepImport)))
116
+ return null;
117
+ var isDirectory = isLocalDirectory((0, import_node_path.resolve)(fileDir, originalModuleSpecifier)), currentModuleExtension = (0, import_node_path.extname)(originalModuleSpecifier), tryExtensions = options.tryExtensions, esExtensions = options.esExtensions, esExtensionDefault = options.esExtensionDefault, ensureFileExists = options.ensureFileExists, targetModule = evaluateTargetModule({
118
+ moduleSpecifier: originalModuleSpecifier,
119
+ filenameDirectory: fileDir,
120
+ filenameExtension: fileExt,
121
+ packageData,
122
+ currentModuleExtension,
123
+ isDirectory,
124
+ tryExtensions,
125
+ esExtensions,
126
+ esExtensionDefault,
127
+ ensureFileExists
128
+ });
129
+ return targetModule === !1 || currentModuleExtension === targetModule.extension ? null : targetModule.module;
130
+ }
131
+ function getPackageData(moduleSpecifier, filePath) {
159
132
  try {
160
- for (var packagePath = require.resolve(module2), parts = packagePath.split("/"), packageDir = "", i = parts.length; i >= 0; i--) {
133
+ for (var modulePath = require.resolve(moduleSpecifier, {
134
+ paths: filePath ? [
135
+ filePath
136
+ ] : []
137
+ }), parts = modulePath.split("/"), packageDir = "", i = parts.length; i >= 0; i--) {
161
138
  var dir = (0, import_node_path.dirname)(parts.slice(0, i).join("/"));
162
139
  if ((0, import_node_fs.existsSync)("".concat(dir, "/package.json"))) {
163
140
  packageDir = dir;
@@ -166,36 +143,36 @@ function getPackageData(module2) {
166
143
  }
167
144
  if (!packageDir)
168
145
  throw new Error("no package dir");
169
- var packageJson = JSON.parse((0, import_node_fs.readFileSync)("".concat(packageDir, "/package.json")).toString()), hasPath = !module2.endsWith(packageJson.name);
146
+ var packageJson = JSON.parse((0, import_node_fs.readFileSync)("".concat(packageDir, "/package.json")).toString()), isDeepImport = !moduleSpecifier.endsWith(packageJson.name);
170
147
  return {
171
- hasPath,
172
- packagePath
148
+ isDeepImport,
149
+ modulePath
173
150
  };
174
151
  } catch {
175
152
  }
176
153
  return null;
177
154
  }
178
- function isLocalFile(module2) {
179
- return module2.startsWith(".") || module2.startsWith("/");
155
+ function isLocalFile(moduleSpecifier) {
156
+ return moduleSpecifier.startsWith(".") || moduleSpecifier.startsWith("/");
180
157
  }
181
158
  function isLocalDirectory(absoluteDirectory) {
182
159
  return (0, import_node_fs.existsSync)(absoluteDirectory) && (0, import_node_fs.lstatSync)(absoluteDirectory).isDirectory();
183
160
  }
184
161
  function evaluateTargetModule(param) {
185
- var module2 = param.module, currentModuleExtension = param.currentModuleExtension, packageData = param.packageData, isDirectory = param.isDirectory, filenameDirectory = param.filenameDirectory, filenameExtension = param.filenameExtension, tryExtensions = param.tryExtensions, esExtensions = param.esExtensions, esExtensionDefault = param.esExtensionDefault, ensureFileExists = param.ensureFileExists;
162
+ var moduleSpecifier = param.moduleSpecifier, currentModuleExtension = param.currentModuleExtension, packageData = param.packageData, isDirectory = param.isDirectory, filenameDirectory = param.filenameDirectory, filenameExtension = param.filenameExtension, tryExtensions = param.tryExtensions, esExtensions = param.esExtensions, esExtensionDefault = param.esExtensionDefault, ensureFileExists = param.ensureFileExists;
186
163
  if (packageData)
187
- return packageData.packagePath.endsWith("index.js") && !module2.endsWith("index.js") && (module2 = "".concat(module2, "/index")), {
188
- module: module2 + esExtensionDefault,
164
+ return packageData.modulePath.endsWith("index.js") && !moduleSpecifier.endsWith("index.js") && (moduleSpecifier = "".concat(moduleSpecifier, "/index")), {
165
+ module: moduleSpecifier + esExtensionDefault,
189
166
  extension: esExtensionDefault
190
167
  };
191
168
  if (currentModuleExtension && !esExtensions.includes(currentModuleExtension))
192
169
  return !1;
193
- isDirectory && !(0, import_node_fs.existsSync)((0, import_node_path.resolve)(filenameDirectory, currentModuleExtension ? module2 : module2 + esExtensionDefault)) && (module2 = "".concat(module2, "/index"));
194
- var targetFile = (0, import_node_path.resolve)(filenameDirectory, module2);
170
+ isDirectory && !(0, import_node_fs.existsSync)((0, import_node_path.resolve)(filenameDirectory, currentModuleExtension ? moduleSpecifier : moduleSpecifier + esExtensionDefault)) && (moduleSpecifier = "".concat(moduleSpecifier, "/index"));
171
+ var targetFile = (0, import_node_path.resolve)(filenameDirectory, moduleSpecifier);
195
172
  if (ensureFileExists) {
196
173
  if (esExtensions.includes(filenameExtension) && (0, import_node_fs.existsSync)(targetFile + filenameExtension))
197
174
  return {
198
- module: module2 + filenameExtension,
175
+ module: moduleSpecifier + (ensureFileExists.forceExtension || filenameExtension),
199
176
  extension: filenameExtension
200
177
  };
201
178
  var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
@@ -204,7 +181,7 @@ function evaluateTargetModule(param) {
204
181
  var extension = _step.value;
205
182
  if ((0, import_node_fs.existsSync)(targetFile + extension))
206
183
  return {
207
- module: module2 + ".mjs",
184
+ module: moduleSpecifier + (ensureFileExists.forceExtension || extension),
208
185
  extension
209
186
  };
210
187
  }
@@ -219,10 +196,10 @@ function evaluateTargetModule(param) {
219
196
  }
220
197
  }
221
198
  } else return esExtensions.includes(filenameExtension) ? {
222
- module: module2 + filenameExtension,
199
+ module: moduleSpecifier + filenameExtension,
223
200
  extension: filenameExtension
224
201
  } : {
225
- module: module2 + esExtensionDefault,
202
+ module: moduleSpecifier + esExtensionDefault,
226
203
  extension: esExtensionDefault
227
204
  };
228
205
  return !1;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/packages/babel-plugin-fully-specified/src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA,qBAAoD,oBACpD,mBAA0C,sBAC1C,eAKO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDP,IAAMA,kBAAkB,SAAA,OAAA;MACtBC,cAAAA,MAAAA,aACAC,YAAAA,MAAAA,WAAAA,0BAAAA,MACAC,kBAAAA,mBAAAA,4BAAAA,SAAmB,KAAA,yBAAA,4BAAA,MACnBC,oBAAAA,qBAAAA,8BAAAA,SAAqB,QAAA,2BAAA,uBAAA,MAGrBC,eAAAA,gBAAAA,yBAAAA,SAAgB;IAAC;IAAO;IAAQ;MAAO,sBAAA,sBAAA,MAGvCC,cAAAA,eAAAA,wBAAAA,SAAe;IAAC;IAAO;IAAQ;MAAO,qBAAA,yBAAA,MAGtCC,iBAAAA,kBAAAA,2BAAAA,SAAkB,CAAA,IAAE;AAEpB,SAAO,SACLC,MAAAA,QAAAA;6BAEEC,MACUC,WAAAA,YAARC,KAAQD,UAIJE,SAAWJ,KAAKK,KAAhBD;AAER,QAAI,GAACA,UAAU,CAACF,WAIhB;UAAmCF,aAAAA,KAAKK,MAAhCC,aAA2BN,WAA3BM,YAAYC,aAAeP,WAAfO,YACdC,aAAaF,eAAe,UAAUC,eAAe;AAC3D,UAAIC,aAIJ;YAAQC,QAAUL,OAAVK,OACFC,UAASD,OAEXE,cAAkC;AAEtC,YAAI,GAACC,YAAYF,OAAAA,MACXX,gBAAgBc,KAAK,SAACC,MAAAA;iBAASJ,QAAOK,WAAWD,IAAAA;eACnDH,cAAcK,eAAeN,OAAAA,IAG3B,EAAEC,eAAeA,YAAYM,YAKnC;cAAMC,wBAAoBC,0BAAQjB,QAAAA,GAC5BkB,wBAAoBC,0BAAQnB,QAAAA,GAC5BoB,cAAcC,qBAAiBC,0BAAQJ,mBAAmBV,OAAAA,CAAAA,GAE1De,6BAAyBN,0BAAQT,OAAAA,GACjCgB,eAAeC,qBAAqB;YACxCjB,QAAAA;YACAU;YACAF;YACAP;YACAc;YACAH;YACAzB;YACAC;YACAF;YACAD;UACF,CAAA;AAEA,cAAI+B,mBAAiB,MAASD,2BAA2BC,aAAaE,YAItE;gBAAMC,QAAQnC,UAAUM,IAAAA;AAExBA,iBAAK8B;;cAEHrC,YAAYsC,MAAM,MAAO,qBAAGF,KAAAA,EAAAA,OAAJ;oBAAWG,4BAAcN,aAAahB,MAAM;eAAE,CAAA;YAAA;;;;;EAE1E;AACF;AAEe,SAAf,eAAuCuB,KAAgBC,SAA8B;AACnFD,aAAIE,cAAc,CAAA,GAEX;IACLrB,MAAM;IACNsB,SAAS;MACPC,mBAAmB7C,gBAAgB,qBAAA,eAAA,CAAA,GAC9B0C,OAAAA,GAAAA;QACHzC,aAAa6C;QACb5C,WAAW,SAAA,OAAA;cAAW6C,aAAAA,MAARlC,KAAQkC;iBAAmB;YAACA;;;;MAE5CC,wBAAwBhD,gBAAgB,qBAAA,eAAA,CAAA,GACnC0C,OAAAA,GAAAA;QACHzC,aAAagD;QACb/C,WAAW,SAAA,OAAA;kCAAGW,MAAQZ,cAAAA,YAAAA,aAAa8C,aAAAA,YAAAA;iBAAmB;YAAC9C;YAAa8C;;;;MAEtEG,sBAAsBlD,gBAAgB,qBAAA,eAAA,CAAA,GACjC0C,OAAAA,GAAAA;QACHzC,aAAakD;QACbjD,WAAW,WAAA;iBAAM,CAAA;;;IAErB;EACF;AACF;AAEA,SAASsB,eAA4BN,SAAc;AACjD,MAAI;AAKF,aAJMkC,cAAcC,QAAQrB,QAAQd,OAAAA,GAC9BoC,QAAQF,YAAYG,MAAM,GAAA,GAE5BC,aAAa,IACRC,IAAIH,MAAMI,QAAQD,KAAK,GAAGA,KAAK;AACtC,UAAME,UAAM9B,0BAAQyB,MAAMM,MAAM,GAAGH,CAAAA,EAAGI,KAAK,GAAA,CAAA;AAC3C,cAAIC,2BAAY,GAAM,OAAJH,KAAI,eAAA,CAAA,GAAiB;AACrCH,qBAAaG;AACb;MACF;IACF;AACA,QAAI,CAACH;AACH,YAAM,IAAIO,MAAO,gBAAA;AAGnB,QAAMC,cAAcC,KAAKC,UAAMC,6BAAc,GAAa,OAAXX,YAAW,eAAA,CAAA,EAAgBY,SAAQ,CAAA,GAE5E3C,UAAU,CAACP,QAAOmD,SAASL,YAAY1C,IAAI;AACjD,WAAO;MAAEG;MAAS2B;IAAY;EAChC,QAAY;EAAC;AAEb,SAAO;AACT;AAEA,SAAShC,YAAYF,SAAc;AACjC,SAAOA,QAAOK,WAAW,GAAA,KAAQL,QAAOK,WAAW,GAAA;AACrD;AAEA,SAASQ,iBAAiBuC,mBAAyB;AACjD,aAAOR,2BAAWQ,iBAAAA,SAAsBC,0BAAUD,iBAAAA,EAAmBxC,YAAW;AAClF;AAEA,SAASK,qBAAqB,OAW7B;MAVCjB,UAD4B,MAC5BA,QACAe,yBAF4B,MAE5BA,wBACAd,cAH4B,MAG5BA,aACAW,cAJ4B,MAI5BA,aACAF,oBAL4B,MAK5BA,mBACAF,oBAN4B,MAM5BA,mBACArB,gBAP4B,MAO5BA,eACAC,eAR4B,MAQ5BA,cACAF,qBAT4B,MAS5BA,oBACAD,mBAV4B,MAU5BA;AAEA,MAAIgB;AACF,WAAIA,YAAYiC,YAAYiB,SAAS,UAAA,KAAe,CAACnD,QAAOmD,SAAS,UAAA,MACnEnD,UAAU,GAAS,OAAPA,SAAO,QAAA,IAGd;MACLA,QAAQA,UAASd;MACjBgC,WAAWhC;IACb;AAGF,MAAI6B,0BAA0B,CAAC3B,aAAakE,SAASvC,sBAAAA;AACnD,WAAO;AAGT,EACEH,eACA,KAACgC,+BACC9B,0BACEJ,mBACAK,yBAAyBf,UAASA,UAASd,kBAAAA,CAAAA,MAI/Cc,UAAU,GAAS,OAAPA,SAAO,QAAA;AAGrB,MAAMuD,iBAAazC,0BAAQJ,mBAAmBV,OAAAA;AAE9C,MAAIf,kBAAkB;AAEpB,QACEG,aAAakE,SAAS9C,iBAAAA,SACtBoC,2BAAWW,aAAa/C,iBAAAA;AAExB,aAAO;QACLR,QAAQA,UAASQ;QACjBU,WAAWV;MACb;QAIG,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL,eAAK,YAAmBrB,cAAAA,OAAAA,QAAAA,EAAAA,GAAnB,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,IAAkC;AAAlC,YAAM+B,YAAN,MAAA;AACH,gBAAI0B,2BAAWW,aAAarC,SAAAA;AAC1B,iBAAO;YAAElB,QAAQA,UAAS;YAAQkB;UAAU;MAEhD;;AAJK,0BAAA,IAAA,iBAAA;;;SAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;YAAA;gBAAA;;;EAKP,MAAO,QAAI9B,aAAakE,SAAS9C,iBAAAA,IACxB;IACLR,QAAQA,UAASQ;IACjBU,WAAWV;EACb,IAEO;IACLR,QAAQA,UAASd;IACjBgC,WAAWhC;EACb;AAGF,SAAO;AACT;",
5
- "names": ["makeDeclaration", "declaration", "makeNodes", "ensureFileExists", "esExtensionDefault", "tryExtensions", "esExtensions", "includePackages", "path", "file", "filename", "opts", "source", "node", "exportKind", "importKind", "isTypeOnly", "value", "module", "packageData", "isLocalFile", "some", "name", "startsWith", "getPackageData", "hasPath", "filenameExtension", "extname", "filenameDirectory", "dirname", "isDirectory", "isLocalDirectory", "resolve", "currentModuleExtension", "targetModule", "evaluateTargetModule", "extension", "nodes", "replaceWith", "apply", "stringLiteral", "api", "options", "assertVersion", "visitor", "ImportDeclaration", "importDeclaration", "specifiers", "ExportNamedDeclaration", "exportNamedDeclaration", "ExportAllDeclaration", "exportAllDeclaration", "packagePath", "require", "parts", "split", "packageDir", "i", "length", "dir", "slice", "join", "existsSync", "Error", "packageJson", "JSON", "parse", "readFileSync", "toString", "endsWith", "absoluteDirectory", "lstatSync", "includes", "targetFile"]
4
+ "mappings": "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",
5
+ "names": ["DEFAULT_OPTIONS", "ensureFileExists", "esExtensionDefault", "tryExtensions", "esExtensions", "includePackages", "api", "rawOptions", "assertVersion", "options", "importDeclarationVisitor", "path", "state", "filePath", "file", "opts", "filename", "node", "importKind", "originalModuleSpecifier", "source", "value", "fullySpecifiedModuleSpecifier", "getFullySpecifiedModuleSpecifier", "exportDeclarationVisitor", "exportKind", "importVisitor", "parent", "type", "firstArgOfImportCall", "arguments", "name", "visitor", "ImportDeclaration", "ExportNamedDeclaration", "ExportAllDeclaration", "Import", "fileExt", "extname", "fileDir", "dirname", "packageData", "isLocalFile", "some", "startsWith", "getPackageData", "isDeepImport", "isDirectory", "isLocalDirectory", "resolve", "currentModuleExtension", "targetModule", "evaluateTargetModule", "moduleSpecifier", "filenameDirectory", "filenameExtension", "extension", "module", "modulePath", "require", "paths", "parts", "split", "packageDir", "i", "length", "dir", "slice", "join", "existsSync", "Error", "packageJson", "JSON", "parse", "readFileSync", "toString", "endsWith", "absoluteDirectory", "lstatSync", "includes", "targetFile", "forceExtension"]
6
6
  }