@modern-js/server-utils 2.26.1-alpha.1 → 2.28.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 (156) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/common/index.js +2 -2
  3. package/dist/cjs/compilers/babel/preset/alias.js +2 -2
  4. package/dist/cjs/compilers/typescript/tsconfigPathsPlugin.js +2 -2
  5. package/dist/esm/common/index.js +2 -2
  6. package/dist/esm/compilers/babel/preset/alias.js +2 -2
  7. package/dist/esm/compilers/typescript/tsconfigPathsPlugin.js +2 -2
  8. package/dist/esm-node/common/index.js +2 -2
  9. package/dist/esm-node/compilers/babel/preset/alias.js +2 -2
  10. package/dist/esm-node/compilers/typescript/tsconfigPathsPlugin.js +2 -2
  11. package/package.json +11 -19
  12. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/src/index.js +0 -56
  13. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/src/log.js +0 -13
  14. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/src/mapPath.js +0 -28
  15. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/src/mapToRelative.js +0 -21
  16. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/src/normalizeOptions.js +0 -157
  17. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/src/resolvePath.js +0 -92
  18. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/src/transformers/call.js +0 -24
  19. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/src/transformers/import.js +0 -19
  20. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/src/utils.js +0 -98
  21. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/call.test.js +0 -92
  22. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/custom-call.test.js +0 -73
  23. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/dynamicImport.test.js +0 -74
  24. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/import.test.js +0 -118
  25. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/index.test.js +0 -863
  26. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/mapToRelative.test.js +0 -21
  27. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/normalizeOptions.test.js +0 -50
  28. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/example-file.js +0 -1
  29. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/node_modules/first/index.js +0 -1
  30. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/node_modules/second/index.js +0 -1
  31. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/package.json +0 -1
  32. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/actions/something.js +0 -1
  33. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/app.js +0 -1
  34. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/App.js +0 -1
  35. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/SubHeader.js +0 -1
  36. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/header.css +0 -0
  37. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/index.js +0 -1
  38. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Root.js +0 -1
  39. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Sidebar/Footer/SidebarFooterButton.js +0 -1
  40. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Sidebar/Footer/index.js +0 -1
  41. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/index.js +0 -1
  42. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/constants/actions.js +0 -1
  43. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/constants.js +0 -1
  44. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/libs/custom.modernizr3.js +0 -1
  45. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/nodemodule.js +0 -1
  46. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/rn/index.android.js +0 -1
  47. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/rn/index.ios.js +0 -1
  48. package/dist/cjs/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/test/tools.js +0 -12
  49. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/src/index.js +0 -41
  50. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/src/log.js +0 -8
  51. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/src/mapPath.js +0 -17
  52. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/src/mapToRelative.js +0 -10
  53. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/src/normalizeOptions.js +0 -162
  54. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/src/resolvePath.js +0 -86
  55. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/src/transformers/call.js +0 -15
  56. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/src/transformers/import.js +0 -8
  57. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/src/utils.js +0 -57
  58. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/call.test.js +0 -87
  59. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/custom-call.test.js +0 -68
  60. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/dynamicImport.test.js +0 -71
  61. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/import.test.js +0 -124
  62. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/index.test.js +0 -862
  63. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/mapToRelative.test.js +0 -16
  64. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/normalizeOptions.test.js +0 -45
  65. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/example-file.js +0 -0
  66. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/node_modules/first/index.js +0 -0
  67. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/node_modules/second/index.js +0 -0
  68. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/package.json +0 -1
  69. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/actions/something.js +0 -0
  70. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/app.js +0 -0
  71. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/App.js +0 -0
  72. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/SubHeader.js +0 -0
  73. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/header.css +0 -0
  74. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/index.js +0 -0
  75. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Root.js +0 -0
  76. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Sidebar/Footer/SidebarFooterButton.js +0 -0
  77. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Sidebar/Footer/index.js +0 -0
  78. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/index.js +0 -0
  79. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/constants/actions.js +0 -0
  80. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/constants.js +0 -0
  81. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/libs/custom.modernizr3.js +0 -0
  82. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/nodemodule.js +0 -0
  83. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/rn/index.android.js +0 -0
  84. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/rn/index.ios.js +0 -0
  85. package/dist/esm/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/test/tools.js +0 -2
  86. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/src/index.js +0 -37
  87. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/src/log.js +0 -3
  88. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/src/mapPath.js +0 -17
  89. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/src/mapToRelative.js +0 -10
  90. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/src/normalizeOptions.js +0 -146
  91. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/src/resolvePath.js +0 -81
  92. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/src/transformers/call.js +0 -13
  93. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/src/transformers/import.js +0 -8
  94. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/src/utils.js +0 -57
  95. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/call.test.js +0 -87
  96. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/custom-call.test.js +0 -68
  97. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/dynamicImport.test.js +0 -69
  98. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/import.test.js +0 -113
  99. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/index.test.js +0 -857
  100. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/mapToRelative.test.js +0 -16
  101. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/normalizeOptions.test.js +0 -45
  102. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/example-file.js +0 -0
  103. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/node_modules/first/index.js +0 -0
  104. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/node_modules/second/index.js +0 -0
  105. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/package.json +0 -1
  106. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/actions/something.js +0 -0
  107. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/app.js +0 -0
  108. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/App.js +0 -0
  109. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/SubHeader.js +0 -0
  110. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/header.css +0 -0
  111. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/index.js +0 -0
  112. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Root.js +0 -0
  113. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Sidebar/Footer/SidebarFooterButton.js +0 -0
  114. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Sidebar/Footer/index.js +0 -0
  115. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/index.js +0 -0
  116. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/constants/actions.js +0 -0
  117. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/constants.js +0 -0
  118. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/libs/custom.modernizr3.js +0 -0
  119. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/nodemodule.js +0 -0
  120. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/rn/index.android.js +0 -0
  121. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/rn/index.ios.js +0 -0
  122. package/dist/esm-node/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/test/tools.js +0 -2
  123. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/src/index.d.ts +0 -19
  124. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/src/log.d.ts +0 -1
  125. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/src/mapPath.d.ts +0 -1
  126. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/src/mapToRelative.d.ts +0 -1
  127. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/src/normalizeOptions.d.ts +0 -24
  128. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/src/resolvePath.d.ts +0 -1
  129. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/src/transformers/call.d.ts +0 -1
  130. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/src/transformers/import.d.ts +0 -1
  131. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/src/utils.d.ts +0 -9
  132. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/call.test.d.ts +0 -1
  133. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/custom-call.test.d.ts +0 -1
  134. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/dynamicImport.test.d.ts +0 -1
  135. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/import.test.d.ts +0 -1
  136. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/index.test.d.ts +0 -1
  137. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/mapToRelative.test.d.ts +0 -1
  138. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/normalizeOptions.test.d.ts +0 -1
  139. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/example-file.d.ts +0 -0
  140. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/actions/something.d.ts +0 -0
  141. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/app.d.ts +0 -0
  142. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/App.d.ts +0 -0
  143. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/SubHeader.d.ts +0 -0
  144. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Header/index.d.ts +0 -0
  145. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Root.d.ts +0 -0
  146. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Sidebar/Footer/SidebarFooterButton.d.ts +0 -0
  147. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/Sidebar/Footer/index.d.ts +0 -0
  148. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/components/index.d.ts +0 -0
  149. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/constants/actions.d.ts +0 -0
  150. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/constants.d.ts +0 -0
  151. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/libs/custom.modernizr3.d.ts +0 -0
  152. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/nodemodule.d.mts +0 -1
  153. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/rn/index.android.d.ts +0 -0
  154. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/src/rn/index.ios.d.ts +0 -0
  155. package/dist/types/compilers/babel/plugins/babel-plugin-module-resolver/test/testproject/test/tools.d.ts +0 -1
  156. package/test-setup.js +0 -7
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for (var name in all)
7
- Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: all[name]
10
- });
11
- }
12
- _export(exports, {
13
- nodeResolvePath: function() {
14
- return nodeResolvePath;
15
- },
16
- isRelativePath: function() {
17
- return isRelativePath;
18
- },
19
- toPosixPath: function() {
20
- return toPosixPath;
21
- },
22
- toLocalPath: function() {
23
- return toLocalPath;
24
- },
25
- stripExtension: function() {
26
- return stripExtension;
27
- },
28
- replaceExtension: function() {
29
- return replaceExtension;
30
- },
31
- matchesPattern: function() {
32
- return matchesPattern;
33
- },
34
- isImportCall: function() {
35
- return isImportCall;
36
- },
37
- escapeRegExp: function() {
38
- return escapeRegExp;
39
- }
40
- });
41
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
42
- const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
43
- const _resolve = /* @__PURE__ */ _interop_require_default._(require("resolve"));
44
- function nodeResolvePath(modulePath, basedir, extensions) {
45
- try {
46
- return _resolve.default.sync(modulePath, {
47
- basedir,
48
- extensions
49
- });
50
- } catch (e) {
51
- return null;
52
- }
53
- }
54
- function isRelativePath(nodePath) {
55
- return nodePath.match(/^\.?\.\//);
56
- }
57
- function toPosixPath(modulePath) {
58
- return modulePath.replace(/\\/g, "/");
59
- }
60
- function toLocalPath(modulePath) {
61
- let localPath = modulePath.replace(/\/index$/, "");
62
- if (!isRelativePath(localPath)) {
63
- localPath = `./${localPath}`;
64
- }
65
- return localPath;
66
- }
67
- function stripExtension(modulePath, stripExtensions) {
68
- let name = _path.default.basename(modulePath);
69
- stripExtensions.some((extension) => {
70
- if (name.endsWith(extension)) {
71
- name = name.slice(0, name.length - extension.length);
72
- return true;
73
- }
74
- return false;
75
- });
76
- return name;
77
- }
78
- function replaceExtension(modulePath, opts) {
79
- const filename = stripExtension(modulePath, opts.stripExtensions);
80
- return _path.default.join(_path.default.dirname(modulePath), filename);
81
- }
82
- function matchesPattern(types, calleePath, pattern) {
83
- const { node } = calleePath;
84
- if (types.isMemberExpression(node)) {
85
- return calleePath.matchesPattern(pattern);
86
- }
87
- if (!types.isIdentifier(node) || pattern.includes(".")) {
88
- return false;
89
- }
90
- const name = pattern.split(".")[0];
91
- return node.name === name;
92
- }
93
- function isImportCall(types, calleePath) {
94
- return types.isImport(calleePath.node.callee);
95
- }
96
- function escapeRegExp(string) {
97
- return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
98
- }
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
6
- const _core = require("@babel/core");
7
- const _src = /* @__PURE__ */ _interop_require_default._(require("../src"));
8
- const calls = [
9
- "require",
10
- "require.resolve",
11
- "System.import",
12
- "jest.genMockFromModule",
13
- "jest.mock",
14
- "jest.unmock",
15
- "jest.doMock",
16
- "jest.dontMock",
17
- "jest.setMock",
18
- "jest.requireActual",
19
- "jest.requireMock",
20
- "require.requireActual",
21
- "require.requireMock"
22
- ];
23
- describe("function and method calls", () => {
24
- const transformerOpts = {
25
- babelrc: false,
26
- plugins: [
27
- [
28
- _src.default,
29
- {
30
- root: "./test/testproject/src",
31
- alias: {
32
- test: "./test/testproject/test"
33
- }
34
- }
35
- ]
36
- ]
37
- };
38
- calls.forEach((name) => {
39
- describe(name, () => {
40
- it("should resolve the path based on the root config", () => {
41
- const code = `${name}("components/Header/SubHeader", ...args);`;
42
- const result = (0, _core.transform)(code, transformerOpts);
43
- expect(result.code).toBe(`${name}("./test/testproject/src/components/Header/SubHeader", ...args);`);
44
- });
45
- it("should alias the path", () => {
46
- const code = `${name}("test", ...args);`;
47
- const result = (0, _core.transform)(code, transformerOpts);
48
- expect(result.code).toBe(`${name}("./test/testproject/test", ...args);`);
49
- });
50
- it("should not change a relative path", () => {
51
- const code = `${name}("./utils", ...args);`;
52
- const result = (0, _core.transform)(code, transformerOpts);
53
- expect(result.code).toBe(`${name}("./utils", ...args);`);
54
- });
55
- it("should handle no arguments", () => {
56
- const code = `${name}();`;
57
- const result = (0, _core.transform)(code, transformerOpts);
58
- expect(result.code).toBe(`${name}();`);
59
- });
60
- it("should handle the first argument not being a string literal", () => {
61
- const code = `${name}(path, ...args);`;
62
- const result = (0, _core.transform)(code, transformerOpts);
63
- expect(result.code).toBe(`${name}(path, ...args);`);
64
- });
65
- it("should handle an empty path", () => {
66
- const code = `${name}('', ...args);`;
67
- const result = (0, _core.transform)(code, transformerOpts);
68
- expect(result.code).toBe(`${name}('', ...args);`);
69
- });
70
- it("should ignore the call if the method name is not fully matched (suffix)", () => {
71
- const code = `${name}.after("components/Sidebar/Footer", ...args);`;
72
- const result = (0, _core.transform)(code, transformerOpts);
73
- expect(result.code).toBe(`${name}.after("components/Sidebar/Footer", ...args);`);
74
- });
75
- it("should ignore the call if the method name is not fully matched (prefix)", () => {
76
- const code = `before.${name}("components/Sidebar/Footer", ...args);`;
77
- const result = (0, _core.transform)(code, transformerOpts);
78
- expect(result.code).toBe(`before.${name}("components/Sidebar/Footer", ...args);`);
79
- });
80
- });
81
- });
82
- it("should resolve the path if the method name is a string literal", () => {
83
- const code = 'require["resolve"]("components/Sidebar/Footer", ...args);';
84
- const result = (0, _core.transform)(code, transformerOpts);
85
- expect(result.code).toBe('require["resolve"]("./test/testproject/src/components/Sidebar/Footer", ...args);');
86
- });
87
- it("should ignore the call if the method name is unknown", () => {
88
- const code = 'unknown("components/Sidebar/Footer", ...args);';
89
- const result = (0, _core.transform)(code, transformerOpts);
90
- expect(result.code).toBe('unknown("components/Sidebar/Footer", ...args);');
91
- });
92
- });
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
6
- const _babelcore = require("babel-core");
7
- const _src = /* @__PURE__ */ _interop_require_default._(require("../src"));
8
- const calls = [
9
- "customMethod.something"
10
- ];
11
- describe("custom calls", () => {
12
- const transformerOpts = {
13
- babelrc: false,
14
- plugins: [
15
- [
16
- _src.default,
17
- {
18
- root: "./test/testproject/src",
19
- alias: {
20
- test: "./test/testproject/test"
21
- },
22
- transformFunctions: [
23
- "customMethod.something"
24
- ]
25
- }
26
- ]
27
- ]
28
- };
29
- calls.forEach((name) => {
30
- describe(name, () => {
31
- it("should resolve the path based on the root config", () => {
32
- const code = `${name}("components/Header/SubHeader", ...args);`;
33
- const result = (0, _babelcore.transform)(code, transformerOpts);
34
- expect(result.code).toBe(`${name}("./test/testproject/src/components/Header/SubHeader", ...args);`);
35
- });
36
- it("should alias the path", () => {
37
- const code = `${name}("test", ...args);`;
38
- const result = (0, _babelcore.transform)(code, transformerOpts);
39
- expect(result.code).toBe(`${name}("./test/testproject/test", ...args);`);
40
- });
41
- it("should not change a relative path", () => {
42
- const code = `${name}("./utils", ...args);`;
43
- const result = (0, _babelcore.transform)(code, transformerOpts);
44
- expect(result.code).toBe(`${name}("./utils", ...args);`);
45
- });
46
- it("should handle no arguments", () => {
47
- const code = `${name}();`;
48
- const result = (0, _babelcore.transform)(code, transformerOpts);
49
- expect(result.code).toBe(`${name}();`);
50
- });
51
- it("should handle the first argument not being a string literal", () => {
52
- const code = `${name}(path, ...args);`;
53
- const result = (0, _babelcore.transform)(code, transformerOpts);
54
- expect(result.code).toBe(`${name}(path, ...args);`);
55
- });
56
- it("should handle an empty path", () => {
57
- const code = `${name}('', ...args);`;
58
- const result = (0, _babelcore.transform)(code, transformerOpts);
59
- expect(result.code).toBe(`${name}('', ...args);`);
60
- });
61
- it("should ignore the call if the method name is not fully matched (suffix)", () => {
62
- const code = `${name}.after("components/Sidebar/Footer", ...args);`;
63
- const result = (0, _babelcore.transform)(code, transformerOpts);
64
- expect(result.code).toBe(`${name}.after("components/Sidebar/Footer", ...args);`);
65
- });
66
- it("should ignore the call if the method name is not fully matched (prefix)", () => {
67
- const code = `before.${name}("components/Sidebar/Footer", ...args);`;
68
- const result = (0, _babelcore.transform)(code, transformerOpts);
69
- expect(result.code).toBe(`before.${name}("components/Sidebar/Footer", ...args);`);
70
- });
71
- });
72
- });
73
- });
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
6
- const _core = require("@babel/core");
7
- const _src = /* @__PURE__ */ _interop_require_default._(require("../src"));
8
- describe("import()", () => {
9
- const transformerOpts = {
10
- babelrc: false,
11
- plugins: [
12
- // We need to add the corresponding syntax plugin
13
- // in order to parse the `import()`-calls
14
- "@babel/plugin-syntax-dynamic-import",
15
- [
16
- _src.default,
17
- {
18
- // root: [path.resolve(__dirname, './testproject/src')],
19
- root: [
20
- "./test/testproject/src"
21
- ],
22
- alias: {
23
- test: "./test/testproject/test"
24
- }
25
- }
26
- ]
27
- ]
28
- };
29
- it("should resolve the path based on the root config", () => {
30
- const code = 'import("components/Header/SubHeader").then(() => {}).catch(() => {});';
31
- const result = (0, _core.transform)(code, transformerOpts);
32
- expect(result.code).toBe('import("./test/testproject/src/components/Header/SubHeader").then(() => {}).catch(() => {});');
33
- });
34
- it("should alias the path", () => {
35
- const code = 'import("test").then(() => {}).catch(() => {});';
36
- const result = (0, _core.transform)(code, transformerOpts);
37
- expect(result.code).toBe('import("./test/testproject/test").then(() => {}).catch(() => {});');
38
- });
39
- it("should not change a relative path", () => {
40
- const code = 'import("./utils").then(() => {}).catch(() => {});';
41
- const result = (0, _core.transform)(code, transformerOpts);
42
- expect(result.code).toBe('import("./utils").then(() => {}).catch(() => {});');
43
- });
44
- it("should handle the first argument not being a string literal", () => {
45
- const code = "import(path).then(() => {}).catch(() => {});";
46
- const result = (0, _core.transform)(code, transformerOpts);
47
- expect(result.code).toBe("import(path).then(() => {}).catch(() => {});");
48
- });
49
- it("should handle an empty path", () => {
50
- const code = 'import("").then(() => {}).catch(() => {});';
51
- const result = (0, _core.transform)(code, transformerOpts);
52
- expect(result.code).toBe('import("").then(() => {}).catch(() => {});');
53
- });
54
- it("should handle imports added by other transforms", () => {
55
- const options = {
56
- ...transformerOpts,
57
- plugins: [
58
- function fakePlugin({ types }) {
59
- return {
60
- visitor: {
61
- Identifier(path) {
62
- path.replaceWith(types.Import());
63
- }
64
- }
65
- };
66
- },
67
- ...transformerOpts.plugins
68
- ]
69
- };
70
- const code = 'boo("components/Header/SubHeader");';
71
- const result = (0, _core.transform)(code, options);
72
- expect(result.code).toBe('import("./test/testproject/src/components/Header/SubHeader");');
73
- });
74
- });
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
6
- const _core = require("@babel/core");
7
- const _plugintransformmodulescommonjs = /* @__PURE__ */ _interop_require_default._(require("@babel/plugin-transform-modules-commonjs"));
8
- const _commontags = require("common-tags");
9
- const _src = /* @__PURE__ */ _interop_require_default._(require("../src"));
10
- describe("import and export statement", () => {
11
- function testImport(source, output, transformerOpts2) {
12
- it("with an import statement", () => {
13
- const code = `import something from "${source}";`;
14
- const result = (0, _core.transform)(code, transformerOpts2);
15
- expect(result.code).toBe(`import something from "${output}";`);
16
- });
17
- it('with an "export from" statement', () => {
18
- const code = `export { something } from "${source}";`;
19
- const result = (0, _core.transform)(code, transformerOpts2);
20
- expect(result.code).toBe(`export { something } from "${output}";`);
21
- });
22
- it("with an export statement", () => {
23
- const code = "let something; export { something }";
24
- const result = (0, _core.transform)(code, transformerOpts2);
25
- expect(result.code).toBe("let something;\nexport { something };");
26
- });
27
- }
28
- function testImportWithCommonJSTransform(source, output, transformerOpts2) {
29
- const transformerOptsWithCommonJs = {
30
- babelrc: false,
31
- plugins: [
32
- ...transformerOpts2.plugins,
33
- [
34
- _plugintransformmodulescommonjs.default,
35
- {
36
- noInterop: true
37
- }
38
- ]
39
- ]
40
- };
41
- it("with a transformed require statement", () => {
42
- const code = `var something = require("${source}");`;
43
- const result = (0, _core.transform)(code, transformerOptsWithCommonJs);
44
- expect(result.code).toContain(`require("${output}");`);
45
- });
46
- it("with a transformed import statement", () => {
47
- const code = `import something from "${source}";`;
48
- const result = (0, _core.transform)(code, transformerOptsWithCommonJs);
49
- expect(result.code).toContain(`require("${output}");`);
50
- });
51
- it('with a transformed "export from" statement', () => {
52
- const code = `export { something } from "${source}";`;
53
- const result = (0, _core.transform)(code, transformerOptsWithCommonJs);
54
- expect(result.code).toContain(`require("${output}");`);
55
- });
56
- it("with a transformed export statement", () => {
57
- const code = "let something; export { something };";
58
- const result = (0, _core.transform)(code, transformerOptsWithCommonJs);
59
- expect(result.code).toBe((0, _commontags.stripIndent)`
60
- "use strict";
61
-
62
- Object.defineProperty(exports, "__esModule", {
63
- value: true
64
- });
65
- exports.something = void 0;
66
- let something;
67
- exports.something = something;
68
- `);
69
- });
70
- }
71
- function testImports(source, output, transformerOpts2) {
72
- testImport(source, output, transformerOpts2);
73
- testImportWithCommonJSTransform(source, output, transformerOpts2);
74
- }
75
- const transformerOpts = {
76
- babelrc: false,
77
- plugins: [
78
- [
79
- _src.default,
80
- {
81
- root: "./test/testproject/src",
82
- alias: {
83
- test: "./test/testproject/test",
84
- "@babel/core": "@babel/core/lib"
85
- }
86
- }
87
- ]
88
- ]
89
- };
90
- describe("should resolve the path based on the root config", () => {
91
- testImports("components/Header/SubHeader", "./test/testproject/src/components/Header/SubHeader", transformerOpts);
92
- });
93
- describe("should alias the path", () => {
94
- testImports("test", "./test/testproject/test", transformerOpts);
95
- });
96
- describe("should not change a relative path", () => {
97
- testImports("./utils", "./utils", transformerOpts);
98
- });
99
- describe("should handle an empty path", () => {
100
- testImports("", "", transformerOpts);
101
- });
102
- describe("should only apply the alias once", () => {
103
- testImports("@babel/core/transform", "@babel/core/lib/transform", transformerOpts);
104
- });
105
- describe("should ignore the call if a non-import statement is used", () => {
106
- const code = (0, _commontags.stripIndent)`
107
- function test() {
108
- return "components/Sidebar/Footer";
109
- }
110
- `;
111
- const result = (0, _core.transform)(code, transformerOpts);
112
- expect(result.code).toBe((0, _commontags.stripIndent)`
113
- function test() {
114
- return "components/Sidebar/Footer";
115
- }
116
- `);
117
- });
118
- });