@granite-js/mpack 0.1.33 → 1.0.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 (106) hide show
  1. package/CHANGELOG.md +6 -349
  2. package/dist/bundler/internal/presets.d.ts +4 -1
  3. package/dist/bundler/internal/presets.js +17 -23
  4. package/dist/bundler/plugins/transformPlugin/steps/createFlowStripStep.d.ts +2 -0
  5. package/dist/{vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.js → bundler/plugins/transformPlugin/steps/createFlowStripStep.js} +28 -13
  6. package/dist/bundler/plugins/transformPlugin/steps/createFullyTransformStep.js +0 -1
  7. package/dist/bundler/plugins/transformPlugin/steps/createTransformCodegenStep.d.ts +2 -0
  8. package/dist/bundler/plugins/transformPlugin/steps/createTransformCodegenStep.js +70 -0
  9. package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.d.ts +1 -2
  10. package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.js +5 -19
  11. package/dist/bundler/plugins/transformPlugin/transformPlugin.js +11 -5
  12. package/dist/experimental/index.d.ts +2 -0
  13. package/dist/{server/debugger/parseDomain.js → experimental/index.js} +9 -8
  14. package/dist/{operations/experimental → experimental/operations}/serve.js +19 -67
  15. package/dist/{server → experimental/server}/DevServer.d.ts +3 -3
  16. package/dist/{server → experimental/server}/DevServer.js +58 -41
  17. package/dist/{server → experimental/server}/debugger/DebuggerEventHandler.d.ts +1 -0
  18. package/dist/{server → experimental/server}/debugger/DebuggerEventHandler.js +8 -4
  19. package/dist/{vendors/@react-native/dev-middleware → experimental/server/debugger}/types.d.ts +1 -1
  20. package/dist/{server → experimental/server}/helpers/createBundlerForDevServer.d.ts +1 -1
  21. package/dist/{server → experimental/server}/helpers/createBundlerForDevServer.js +2 -2
  22. package/dist/{server → experimental/server}/helpers/mergeBundles.js +3 -3
  23. package/dist/{server → experimental/server}/middlewares/createLiveReloadMiddleware.js +1 -1
  24. package/dist/{server → experimental/server}/plugins/index.d.ts +0 -1
  25. package/dist/{server → experimental/server}/plugins/index.js +0 -2
  26. package/dist/{server → experimental/server}/plugins/indexPagePlugin.js +1 -1
  27. package/dist/{server → experimental/server}/plugins/reply.js +1 -1
  28. package/dist/{server → experimental/server}/plugins/serveBundlePlugin.js +2 -2
  29. package/dist/{server → experimental/server}/plugins/symbolicatePlugin/symbolicatePlugin.js +2 -2
  30. package/dist/{server → experimental/server}/types.d.ts +2 -2
  31. package/dist/index.d.ts +2 -2
  32. package/dist/index.js +3 -3
  33. package/dist/logger/clientLogger.d.ts +3 -2
  34. package/dist/metro/getMetroConfig.js +5 -5
  35. package/dist/operations/OpenDebuggerKeyboardHandler.d.ts +17 -0
  36. package/dist/operations/OpenDebuggerKeyboardHandler.js +129 -0
  37. package/dist/operations/attachKeyHandlers.d.ts +15 -0
  38. package/dist/operations/attachKeyHandlers.js +132 -0
  39. package/dist/operations/index.d.ts +0 -1
  40. package/dist/operations/index.js +1 -3
  41. package/dist/operations/keyReporter.d.ts +6 -0
  42. package/dist/operations/keyReporter.js +57 -0
  43. package/dist/operations/serve.d.ts +1 -2
  44. package/dist/operations/serve.js +38 -36
  45. package/dist/transformer/AsyncTransformPipeline.js +24 -7
  46. package/dist/transformer/TransformPipeline.d.ts +17 -12
  47. package/dist/transformer/TransformPipeline.js +6 -2
  48. package/dist/utils/getDefaultReactNativePath.d.ts +1 -0
  49. package/dist/utils/getDefaultReactNativePath.js +45 -0
  50. package/dist/utils/getId.js +3 -1
  51. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +2 -1
  52. package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapGenerator.js +3 -1
  53. package/dist/vendors/metro/src/Server.js +119 -11
  54. package/package.json +20 -17
  55. package/src/lib.d.ts +90 -0
  56. package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.d.ts +0 -6
  57. package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.js +0 -91
  58. package/dist/operations/constants.d.ts +0 -3
  59. package/dist/operations/constants.js +0 -34
  60. package/dist/operations/createDebuggerMiddleware.d.ts +0 -10
  61. package/dist/operations/createDebuggerMiddleware.js +0 -128
  62. package/dist/operations/experimental/StartMenuHandler.d.ts +0 -13
  63. package/dist/operations/experimental/StartMenuHandler.js +0 -86
  64. package/dist/operations/openDebugger.d.ts +0 -1
  65. package/dist/operations/openDebugger.js +0 -74
  66. package/dist/server/debugger/parseDomain.d.ts +0 -1
  67. package/dist/server/plugins/debuggerPlugin.d.ts +0 -7
  68. package/dist/server/plugins/debuggerPlugin.js +0 -68
  69. package/dist/vendors/@react-native/dev-middleware/Device.d.ts +0 -5
  70. package/dist/vendors/@react-native/dev-middleware/Device.js +0 -33
  71. package/dist/vendors/@react-native/dev-middleware/InspectorProxy.d.ts +0 -31
  72. package/dist/vendors/@react-native/dev-middleware/InspectorProxy.js +0 -169
  73. package/dist/vendors/@react-native/dev-middleware/index.d.ts +0 -3
  74. package/dist/vendors/@react-native/dev-middleware/index.js +0 -26
  75. package/dist/vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.d.ts +0 -23
  76. package/dist/vendors/@react-native-community/cli-server-api/index.d.ts +0 -1
  77. package/dist/vendors/@react-native-community/cli-server-api/index.js +0 -22
  78. /package/dist/{operations/experimental → experimental/operations}/serve.d.ts +0 -0
  79. /package/dist/{server → experimental/server}/constants.d.ts +0 -0
  80. /package/dist/{server → experimental/server}/constants.js +0 -0
  81. /package/dist/{server → experimental/server/debugger}/types.js +0 -0
  82. /package/dist/{server → experimental/server}/helpers/mergeBundles.d.ts +0 -0
  83. /package/dist/{server → experimental/server}/index.d.ts +0 -0
  84. /package/dist/{server → experimental/server}/index.js +0 -0
  85. /package/dist/{server → experimental/server}/middlewares/createLiveReloadMiddleware.d.ts +0 -0
  86. /package/dist/{server → experimental/server}/middlewares/index.d.ts +0 -0
  87. /package/dist/{server → experimental/server}/middlewares/index.js +0 -0
  88. /package/dist/{server → experimental/server}/plugins/indexPagePlugin.d.ts +0 -0
  89. /package/dist/{server → experimental/server}/plugins/reply.d.ts +0 -0
  90. /package/dist/{server → experimental/server}/plugins/serveBundlePlugin.d.ts +0 -0
  91. /package/dist/{server → experimental/server}/plugins/statusPlugin.d.ts +0 -0
  92. /package/dist/{server → experimental/server}/plugins/statusPlugin.js +0 -0
  93. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/index.d.ts +0 -0
  94. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/index.js +0 -0
  95. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/parseStackFrame.d.ts +0 -0
  96. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/parseStackFrame.js +0 -0
  97. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/symbolicate.d.ts +0 -0
  98. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/symbolicate.js +0 -0
  99. /package/dist/{server → experimental/server}/plugins/symbolicatePlugin/symbolicatePlugin.d.ts +0 -0
  100. /package/dist/{vendors/@react-native/dev-middleware → experimental/server}/types.js +0 -0
  101. /package/dist/{server → experimental/server}/wss/WebSocketServerDelegate.d.ts +0 -0
  102. /package/dist/{server → experimental/server}/wss/WebSocketServerDelegate.js +0 -0
  103. /package/dist/{server → experimental/server}/wss/WebSocketServerRouter.d.ts +0 -0
  104. /package/dist/{server → experimental/server}/wss/WebSocketServerRouter.js +0 -0
  105. /package/dist/{server → experimental/server}/wss/index.d.ts +0 -0
  106. /package/dist/{server → experimental/server}/wss/index.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,356 +1,13 @@
1
1
  # @granite-js/mpack
2
2
 
3
- ## 0.1.33
3
+ ## 1.0.0
4
4
 
5
- ### Patch Changes
6
-
7
- - @granite-js/devtools-frontend@0.1.33
8
- - @granite-js/plugin-core@0.1.33
9
- - @granite-js/utils@0.1.33
10
-
11
- ## 0.1.32
12
-
13
- ### Patch Changes
14
-
15
- - 7572713: bump version up babel
16
- - Updated dependencies [7572713]
17
- - @granite-js/plugin-core@0.1.32
18
- - @granite-js/devtools-frontend@0.1.32
19
- - @granite-js/utils@0.1.32
20
-
21
- ## 0.1.31
22
-
23
- ### Patch Changes
24
-
25
- - 9bf8b50: expose resolveRequest option
26
- - e957833: expose `resolver.resolverMainFields` and `resolver.unstable_conditionNames` options
27
- - Updated dependencies [9bf8b50]
28
- - Updated dependencies [e957833]
29
- - @granite-js/plugin-core@0.1.31
30
- - @granite-js/devtools-frontend@0.1.31
31
- - @granite-js/utils@0.1.31
32
-
33
- ## 0.1.30
34
-
35
- ### Patch Changes
36
-
37
- - 9e9ea71: escape `from` string of alias config when creating RegExp
38
- - @granite-js/devtools-frontend@0.1.30
39
- - @granite-js/plugin-core@0.1.30
40
- - @granite-js/utils@0.1.30
41
-
42
- ## 0.1.29
43
-
44
- ### Patch Changes
45
-
46
- - ed4cdbf: support additional metro config options from granite.config.ts
47
- - Updated dependencies [ed4cdbf]
48
- - @granite-js/plugin-core@0.1.29
49
- - @granite-js/devtools-frontend@0.1.29
50
- - @granite-js/utils@0.1.29
51
-
52
- ## 0.1.28
53
-
54
- ### Patch Changes
55
-
56
- - 1d958cc: ci: provenance
57
- - Updated dependencies [1d958cc]
58
- - @granite-js/devtools-frontend@0.1.28
59
- - @granite-js/plugin-core@0.1.28
60
- - @granite-js/utils@0.1.28
61
-
62
- ## 0.1.27
63
-
64
- ### Patch Changes
65
-
66
- - e32b020: ci: oidc
67
- - Updated dependencies [e32b020]
68
- - @granite-js/devtools-frontend@0.1.27
69
- - @granite-js/plugin-core@0.1.27
70
- - @granite-js/utils@0.1.27
71
-
72
- ## 0.1.26
73
-
74
- ### Patch Changes
75
-
76
- - @granite-js/devtools-frontend@0.1.26
77
- - @granite-js/plugin-core@0.1.26
78
- - @granite-js/utils@0.1.26
79
-
80
- ## 0.1.25
81
-
82
- ### Patch Changes
83
-
84
- - @granite-js/devtools-frontend@0.1.25
85
- - @granite-js/plugin-core@0.1.25
86
- - @granite-js/utils@0.1.25
87
-
88
- ## 0.1.24
89
-
90
- ### Patch Changes
91
-
92
- - 6e42c3d: add inspectorProxy options
93
- - Updated dependencies [6e42c3d]
94
- - @granite-js/plugin-core@0.1.24
95
- - @granite-js/devtools-frontend@0.1.24
96
- - @granite-js/utils@0.1.24
97
-
98
- ## 0.1.23
99
-
100
- ### Patch Changes
101
-
102
- - @granite-js/devtools-frontend@0.1.23
103
- - @granite-js/plugin-core@0.1.23
104
- - @granite-js/utils@0.1.23
105
-
106
- ## 0.1.22
107
-
108
- ### Patch Changes
109
-
110
- - @granite-js/devtools-frontend@0.1.22
111
- - @granite-js/plugin-core@0.1.22
112
- - @granite-js/utils@0.1.22
113
-
114
- ## 0.1.21
115
-
116
- ### Patch Changes
117
-
118
- - @granite-js/devtools-frontend@0.1.21
119
- - @granite-js/plugin-core@0.1.21
120
- - @granite-js/utils@0.1.21
121
-
122
- ## 0.1.20
123
-
124
- ### Patch Changes
125
-
126
- - 1df5883: update package.json meta to supports any moduleResolutions
127
- - a93bf1e: fix metafile generation
128
- - @granite-js/devtools-frontend@0.1.20
129
- - @granite-js/plugin-core@0.1.20
130
- - @granite-js/utils@0.1.20
131
-
132
- ## 0.1.19
133
-
134
- ### Patch Changes
135
-
136
- - Updated dependencies [e9a3daf]
137
- - @granite-js/plugin-core@0.1.19
138
- - @granite-js/devtools-frontend@0.1.19
139
- - @granite-js/utils@0.1.19
140
-
141
- ## 0.1.18
142
-
143
- ### Patch Changes
144
-
145
- - @granite-js/devtools-frontend@0.1.18
146
- - @granite-js/plugin-core@0.1.18
147
- - @granite-js/utils@0.1.18
148
-
149
- ## 0.1.17
150
-
151
- ### Patch Changes
152
-
153
- - 07d4020: fix getId generation
154
- - 9c415df: supports dynamic plugin config
155
- - dfd1a1e: improve uncaught exception
156
- - Updated dependencies [9c415df]
157
- - @granite-js/plugin-core@0.1.17
158
- - @granite-js/devtools-frontend@0.1.17
159
- - @granite-js/utils@0.1.17
160
-
161
- ## 0.1.16
162
-
163
- ### Patch Changes
164
-
165
- - db8727a: Show dev server URL on startup
166
- - @granite-js/devtools-frontend@0.1.16
167
- - @granite-js/plugin-core@0.1.16
168
- - @granite-js/utils@0.1.16
169
-
170
- ## 0.1.15
171
-
172
- ### Patch Changes
173
-
174
- - d16ee87: Add useInitialProps, useInitialSearchParams hook.
175
- - Updated dependencies [d16ee87]
176
- - @granite-js/devtools-frontend@0.1.15
177
- - @granite-js/plugin-core@0.1.15
178
- - @granite-js/utils@0.1.15
179
-
180
- ## 0.1.14
181
-
182
- ### Patch Changes
183
-
184
- - @granite-js/devtools-frontend@0.1.14
185
- - @granite-js/plugin-core@0.1.14
186
- - @granite-js/utils@0.1.14
187
-
188
- ## 0.1.13
189
-
190
- ### Patch Changes
191
-
192
- - @granite-js/devtools-frontend@0.1.13
193
- - @granite-js/plugin-core@0.1.13
194
- - @granite-js/utils@0.1.13
195
-
196
- ## 0.1.12
197
-
198
- ### Patch Changes
199
-
200
- - d1e6585: fix module resolutions
201
- - Updated dependencies [d1e6585]
202
- - Updated dependencies [1e99fe1]
203
- - @granite-js/devtools-frontend@0.1.12
204
- - @granite-js/plugin-core@0.1.12
205
- - @granite-js/utils@0.1.12
206
-
207
- ## 0.1.11
208
-
209
- ### Patch Changes
210
-
211
- - 12f568f: improve error handler
212
- - d3a2b58: improve resolver plugin
213
- - Updated dependencies [d3a2b58]
214
- - @granite-js/plugin-core@0.1.11
215
- - @granite-js/devtools-frontend@0.1.11
216
- - @granite-js/utils@0.1.11
217
-
218
- ## 0.1.10
219
-
220
- ### Patch Changes
221
-
222
- - Updated dependencies [9438be5]
223
- - @granite-js/plugin-core@0.1.10
224
- - @granite-js/devtools-frontend@0.1.10
225
- - @granite-js/utils@0.1.10
226
-
227
- ## 0.1.9
228
-
229
- ### Patch Changes
230
-
231
- - 935bb36: fix `BuildUtils` errors and incorrect plugin types
232
- - Updated dependencies [935bb36]
233
- - @granite-js/plugin-core@0.1.9
234
- - @granite-js/devtools-frontend@0.1.9
235
- - @granite-js/utils@0.1.9
236
-
237
- ## 0.1.8
238
-
239
- ### Patch Changes
240
-
241
- - b69366c: improve config structure
242
- - Updated dependencies [b69366c]
243
- - @granite-js/plugin-core@0.1.8
244
- - @granite-js/devtools-frontend@0.1.8
245
- - @granite-js/utils@0.1.8
246
-
247
- ## 0.1.7
248
-
249
- ### Patch Changes
250
-
251
- - 208c053: feat: add additionalConfig reporter spec
252
- - @granite-js/devtools-frontend@0.1.7
253
- - @granite-js/utils@0.1.7
254
-
255
- ## 0.1.6
256
-
257
- ### Patch Changes
258
-
259
- - @granite-js/devtools-frontend@0.1.6
260
- - @granite-js/utils@0.1.6
261
-
262
- ## 0.1.5
263
-
264
- ### Patch Changes
265
-
266
- - @granite-js/devtools-frontend@0.1.5
267
- - @granite-js/utils@0.1.5
268
-
269
- ## 0.1.4
270
-
271
- ### Patch Changes
272
-
273
- - @granite-js/devtools-frontend@0.1.4
274
- - @granite-js/utils@0.1.4
275
-
276
- ## 0.1.3
277
-
278
- ### Patch Changes
279
-
280
- - @granite-js/devtools-frontend@0.1.3
281
- - @granite-js/utils@0.1.3
282
-
283
- ## 0.1.2
284
-
285
- ### Patch Changes
286
-
287
- - @granite-js/devtools-frontend@0.1.2
288
- - @granite-js/utils@0.1.2
289
-
290
- ## 0.1.1
291
-
292
- ### Patch Changes
293
-
294
- - d675415: Improve scaffolding to provide a better showcase UI
295
- - 10a5f3f: empty
296
- - Updated dependencies [d675415]
297
- - Updated dependencies [10a5f3f]
298
- - @granite-js/devtools-frontend@0.1.1
299
- - @granite-js/utils@0.1.1
300
-
301
- ## 0.1.0
302
-
303
- ### Minor Changes
304
-
305
- - 561a3ed: fix: docs deadlink
306
-
307
- ### Patch Changes
308
-
309
- - Updated dependencies [561a3ed]
310
- - @granite-js/devtools-frontend@0.1.0
311
- - @granite-js/utils@0.1.0
312
-
313
- ## 0.0.3
314
-
315
- ### Patch Changes
316
-
317
- - ed4d356: changeset
318
- - Updated dependencies [ed4d356]
319
- - @granite-js/devtools-frontend@0.0.3
320
- - @granite-js/utils@0.0.3
321
-
322
- ## 0.0.2
323
-
324
- ### Patch Changes
325
-
326
- - 0ae09b7: add scheme option for granite
327
- - 0ae09b7: deploy guide
328
- - 0ae09b7: type fix
329
- - 0ae09b7: guide
330
- - 0ae09b7: showcase
331
- - 0ae09b7: refactor interface names
332
- - 0ae09b7: plugin-router
333
- - 0ae09b7: CanGoBackGuard 수정, typecheck fix, lint fix
334
- - 0ae09b7: counter
335
- - 0ae09b7: eslint up
336
- - 0ae09b7: - Add plugin context to allow plugins to share data
337
- - Implement Hermes plugin to compile Hermes bytecode and compose source maps
338
- - Updated dependencies [0ae09b7]
339
- - Updated dependencies [0ae09b7]
340
- - Updated dependencies [0ae09b7]
341
- - Updated dependencies [0ae09b7]
342
- - Updated dependencies [0ae09b7]
343
- - Updated dependencies [0ae09b7]
344
- - Updated dependencies [0ae09b7]
345
- - Updated dependencies [0ae09b7]
346
- - @granite-js/devtools-frontend@0.0.2
347
- - @granite-js/utils@0.0.2
5
+ ### Major Changes
348
6
 
349
- ## 0.0.1
7
+ - 260daab: feat: introduce support react native 0.84
350
8
 
351
9
  ### Patch Changes
352
10
 
353
- - f47ca39: first release
354
- - Updated dependencies [f47ca39]
355
- - @granite-js/devtools-frontend@0.0.1
356
- - @granite-js/plugin-router@0.0.1
11
+ - Updated dependencies [260daab]
12
+ - @granite-js/plugin-core@1.0.0
13
+ - @granite-js/utils@1.0.0
@@ -1,7 +1,10 @@
1
1
  import { type BuildConfig } from '@granite-js/plugin-core';
2
2
  import type { BundlerConfig } from '../../types';
3
- export declare function getReactNativeSetupScripts({ rootDir }: {
3
+ export declare function getReactNativeSetupScripts({ rootDir, reactNativePath, skipReactNativePolyfills, skipReactNativeInitializeCore, }: {
4
4
  rootDir: string;
5
+ reactNativePath?: string;
6
+ skipReactNativePolyfills?: boolean;
7
+ skipReactNativeInitializeCore?: boolean;
5
8
  }): string[];
6
9
  export declare function globalVariables({ dev }: {
7
10
  dev: boolean;
@@ -36,16 +36,16 @@ __export(presets_exports, {
36
36
  module.exports = __toCommonJS(presets_exports);
37
37
  var import_path = __toESM(require("path"));
38
38
  var import_plugin_core = require("@granite-js/plugin-core");
39
- function getReactNativeSetupScripts({ rootDir }) {
40
- const reactNativePath = import_path.default.dirname(
41
- require.resolve("react-native/package.json", {
42
- paths: [rootDir]
43
- })
44
- );
45
- return [
46
- ...require(import_path.default.join(reactNativePath, "rn-get-polyfills"))(),
47
- import_path.default.join(reactNativePath, "Libraries/Core/InitializeCore.js")
48
- ];
39
+ var import_getDefaultReactNativePath = require("../../utils/getDefaultReactNativePath");
40
+ function getReactNativeSetupScripts({
41
+ rootDir,
42
+ reactNativePath = (0, import_getDefaultReactNativePath.getDefaultReactNativePath)(rootDir),
43
+ skipReactNativePolyfills = false,
44
+ skipReactNativeInitializeCore = false
45
+ }) {
46
+ const polyfills = skipReactNativePolyfills ? [] : require(import_path.default.join(reactNativePath, "rn-get-polyfills"))();
47
+ const initializeCore = skipReactNativeInitializeCore ? [] : [import_path.default.join(reactNativePath, "Libraries/Core/InitializeCore.js")];
48
+ return [...polyfills, ...initializeCore];
49
49
  }
50
50
  function globalVariables({ dev }) {
51
51
  return [
@@ -69,20 +69,14 @@ function combineWithBaseBuildConfig(config, context) {
69
69
  platform: config.buildConfig.platform,
70
70
  esbuild: {
71
71
  define: defineGlobalVariables({ dev: context.dev }),
72
- prelude: getReactNativeSetupScripts({ rootDir: context.rootDir }),
72
+ prelude: getReactNativeSetupScripts({
73
+ rootDir: context.rootDir,
74
+ reactNativePath: config.buildConfig.reactNativePath,
75
+ skipReactNativePolyfills: config.buildConfig.extra?.skipReactNativePolyfills === true,
76
+ skipReactNativeInitializeCore: config.buildConfig.extra?.skipReactNativeInitializeCore === true
77
+ }),
73
78
  banner: {
74
- js: [
75
- globalVariables({ dev: context.dev }),
76
- /**
77
- * Polyfill for `@swc/helpers` build compatibility
78
- *
79
- * @see https://github.com/swc-project/swc/blob/v1.4.15/packages/helpers/esm/_async_iterator.js#L3
80
- *
81
- * - babel: No runtime issues after build as there is a fallback for `Symbol.asyncIterator`
82
- * - swc: No fallback for `Symbol.asyncIterator`, so it needs to be defined in advance
83
- */
84
- `(function(){if(typeof Symbol!=="undefined"&&!Symbol.asyncIterator){Symbol.asyncIterator=Symbol.for("@@asyncIterator")}})();`
85
- ].join("\n")
79
+ js: globalVariables({ dev: context.dev })
86
80
  }
87
81
  },
88
82
  babel: {
@@ -0,0 +1,2 @@
1
+ import { AsyncTransformStep } from '../../../../transformer/TransformPipeline';
2
+ export declare function createFlowStripStep(): AsyncTransformStep;
@@ -26,22 +26,37 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var createWebSocketEndpoints_exports = {};
30
- __export(createWebSocketEndpoints_exports, {
31
- createWebSocketEndpoints: () => createWebSocketEndpoints
29
+ var createFlowStripStep_exports = {};
30
+ __export(createFlowStripStep_exports, {
31
+ createFlowStripStep: () => createFlowStripStep
32
32
  });
33
- module.exports = __toCommonJS(createWebSocketEndpoints_exports);
34
- var import_createDebuggerProxyEndpoint = __toESM(require("@react-native-community/cli-server-api/build/websocket/createDebuggerProxyEndpoint"));
35
- var import_createEventsSocketEndpoint = __toESM(require("@react-native-community/cli-server-api/build/websocket/createEventsSocketEndpoint"));
36
- var import_createMessageSocketEndpoint = __toESM(require("@react-native-community/cli-server-api/build/websocket/createMessageSocketEndpoint"));
37
- function createWebSocketEndpoints(options) {
38
- return {
39
- debuggerProxySocket: (0, import_createDebuggerProxyEndpoint.default)(),
40
- eventsSocket: (0, import_createEventsSocketEndpoint.default)((method, params) => options.broadcast(method, params)),
41
- messageSocket: (0, import_createMessageSocketEndpoint.default)()
33
+ module.exports = __toCommonJS(createFlowStripStep_exports);
34
+ var import_generator = require("@babel/generator");
35
+ var import_flow_remove_types = __toESM(require("flow-remove-types"));
36
+ var HermesParser = __toESM(require("hermes-parser"));
37
+ var import_defineStepName = require("../../../../utils/defineStepName");
38
+ function createFlowStripStep() {
39
+ const flowStripStep = async function flowStrip(code, args) {
40
+ const shouldTransform = args.path.endsWith(".js") || args.path.endsWith(".jsx");
41
+ if (!shouldTransform) {
42
+ return { code };
43
+ }
44
+ try {
45
+ const transformedCode = (0, import_flow_remove_types.default)(code, {});
46
+ const parsedAst = HermesParser.parse(transformedCode.toString(), {
47
+ flow: "all",
48
+ babel: true
49
+ });
50
+ const transformedResult = (0, import_generator.generate)(parsedAst);
51
+ return { code: transformedResult?.code ?? code };
52
+ } catch {
53
+ return { code };
54
+ }
42
55
  };
56
+ (0, import_defineStepName.defineStepName)(flowStripStep, "flow-strip");
57
+ return flowStripStep;
43
58
  }
44
59
  // Annotate the CommonJS export names for ESM import in node:
45
60
  0 && (module.exports = {
46
- createWebSocketEndpoints
61
+ createFlowStripStep
47
62
  });
@@ -77,7 +77,6 @@ function createFullyTransformStep({
77
77
  /**
78
78
  * react-native에서 직접 export 하는 flow 파일 대응을 위해 strip types 추가 필요
79
79
  */
80
- require.resolve("@babel/plugin-transform-flow-strip-types"),
81
80
  [require.resolve("@babel/plugin-proposal-class-properties"), { loose: true }],
82
81
  [require.resolve("@babel/plugin-proposal-private-property-in-object"), { loose: true }],
83
82
  [require.resolve("@babel/plugin-proposal-private-methods"), { loose: true }],
@@ -0,0 +1,2 @@
1
+ import { AsyncTransformStep } from '../../../../transformer/TransformPipeline';
2
+ export declare function createTransformCodegenStep(): AsyncTransformStep;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var createTransformCodegenStep_exports = {};
30
+ __export(createTransformCodegenStep_exports, {
31
+ createTransformCodegenStep: () => createTransformCodegenStep
32
+ });
33
+ module.exports = __toCommonJS(createTransformCodegenStep_exports);
34
+ var import_core = require("@babel/core");
35
+ var import_defineStepName = require("../../../../utils/defineStepName");
36
+ function createTransformCodegenStep() {
37
+ const codegenStep = async function codegen(code, args) {
38
+ const transformedResult = await (0, import_core.transformAsync)(code, {
39
+ test: /(?:^|[\\/])(?:Native\w+|(\w+)NativeComponent)\.[jt]sx?$/,
40
+ filename: args.path,
41
+ minified: false,
42
+ compact: false,
43
+ babelrc: false,
44
+ configFile: false,
45
+ plugins: [
46
+ require.resolve("babel-plugin-syntax-hermes-parser"),
47
+ require.resolve("@babel/plugin-transform-flow-strip-types"),
48
+ [require.resolve("@babel/plugin-syntax-typescript"), false],
49
+ require.resolve("@react-native/babel-plugin-codegen")
50
+ ],
51
+ overrides: [
52
+ {
53
+ test: /\.ts$/,
54
+ plugins: [[require.resolve("@babel/plugin-syntax-typescript"), { isTSX: false, allowNamespaces: true }]]
55
+ },
56
+ {
57
+ test: /\.tsx$/,
58
+ plugins: [[require.resolve("@babel/plugin-syntax-typescript"), { isTSX: true, allowNamespaces: true }]]
59
+ }
60
+ ]
61
+ });
62
+ return { code: transformedResult?.code ?? code };
63
+ };
64
+ (0, import_defineStepName.defineStepName)(codegenStep, "transform-codegen");
65
+ return codegenStep;
66
+ }
67
+ // Annotate the CommonJS export names for ESM import in node:
68
+ 0 && (module.exports = {
69
+ createTransformCodegenStep
70
+ });
@@ -1,8 +1,7 @@
1
1
  import type { BuildConfig } from '@granite-js/plugin-core';
2
2
  import { AsyncTransformStep } from '../../../../transformer/TransformPipeline';
3
- interface TransformToHermesSyntaxStepConfig {
3
+ export interface TransformToHermesSyntaxStepConfig {
4
4
  dev: boolean;
5
5
  additionalSwcOptions?: BuildConfig['swc'];
6
6
  }
7
7
  export declare function createTransformToHermesSyntaxStep({ dev, additionalSwcOptions, }: TransformToHermesSyntaxStepConfig): AsyncTransformStep;
8
- export {};
@@ -36,17 +36,6 @@ var swc = __toESM(require("@swc/core"));
36
36
  var import_es_toolkit = require("es-toolkit");
37
37
  var import_defineStepName = require("../../../../utils/defineStepName");
38
38
  var import_swc = require("../../shared/swc");
39
- function getParserConfig(filepath) {
40
- return /\.tsx?$/.test(filepath) ? {
41
- syntax: "typescript",
42
- tsx: true,
43
- dynamicImport: true
44
- } : {
45
- syntax: "ecmascript",
46
- jsx: true,
47
- exportDefaultFrom: true
48
- };
49
- }
50
39
  function createTransformToHermesSyntaxStep({
51
40
  dev,
52
41
  additionalSwcOptions = {}
@@ -58,7 +47,11 @@ function createTransformToHermesSyntaxStep({
58
47
  isModule: true,
59
48
  jsc: {
60
49
  ...import_swc.swcHelperOptimizationRules.jsc,
61
- parser: getParserConfig(args.path),
50
+ parser: {
51
+ syntax: "typescript",
52
+ tsx: true,
53
+ dynamicImport: true
54
+ },
62
55
  target: "es5",
63
56
  keepClassNames: true,
64
57
  transform: {
@@ -69,13 +62,6 @@ function createTransformToHermesSyntaxStep({
69
62
  },
70
63
  experimental: { plugins },
71
64
  loose: false,
72
- /**
73
- * 타입정의가 없지만 실제로는 동작하는 것이 스펙
74
- *
75
- * @see {@link https://github.com/swc-project/swc/blob/v1.4.10/crates/swc_ecma_transforms_base/src/assumptions.rs#L11}
76
- */
77
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
78
- // @ts-ignore
79
65
  assumptions: {
80
66
  setPublicClassFields: true,
81
67
  privateFieldsAsProperties: true
@@ -35,8 +35,9 @@ var import_assert = __toESM(require("assert"));
35
35
  var fs = __toESM(require("fs/promises"));
36
36
  var preludeScript = __toESM(require("./helpers/preludeScript"));
37
37
  var import_createCacheSteps = require("./steps/createCacheSteps");
38
+ var import_createFlowStripStep = require("./steps/createFlowStripStep");
38
39
  var import_createFullyTransformStep = require("./steps/createFullyTransformStep");
39
- var import_createStripFlowStep = require("./steps/createStripFlowStep");
40
+ var import_createTransformCodegenStep = require("./steps/createTransformCodegenStep");
40
41
  var import_createTransformToHermesSyntaxStep = require("./steps/createTransformToHermesSyntaxStep");
41
42
  var import_performance = require("../../../performance");
42
43
  var import_transformer = require("../../../transformer");
@@ -60,10 +61,15 @@ function transformPlugin({ context, ...options }) {
60
61
  code = await options.transformAsync(args.path, code);
61
62
  }
62
63
  return { code };
63
- }).addStep((0, import_createFullyTransformStep.createFullyTransformStep)({ dev, additionalBabelOptions: babel }), {
64
- conditions: babel?.conditions,
65
- skipOtherSteps: true
66
- }).addStep((0, import_createStripFlowStep.createStripFlowStep)({ dev })).addStep((0, import_createTransformToHermesSyntaxStep.createTransformToHermesSyntaxStep)({ dev, additionalSwcOptions: swc })).afterStep(cacheSteps.afterTransform);
64
+ }).addStep({
65
+ if: ({ path, code }) => babel?.conditions?.some((cond) => cond(code, path)) ?? false,
66
+ then: (0, import_createFullyTransformStep.createFullyTransformStep)({ dev, additionalBabelOptions: babel }),
67
+ stopAfter: true
68
+ }).addStep({
69
+ if: ({ path }) => /(?:^|[\\/])(?:Native\w+|(\w+)NativeComponent)\.[jt]sx?$/.test(path),
70
+ then: (0, import_createTransformCodegenStep.createTransformCodegenStep)(),
71
+ else: (0, import_createFlowStripStep.createFlowStripStep)()
72
+ }).addStep((0, import_createTransformToHermesSyntaxStep.createTransformToHermesSyntaxStep)({ dev, additionalSwcOptions: swc })).afterStep(cacheSteps.afterTransform);
67
73
  preludeScript.registerEntryPointMarker(build);
68
74
  preludeScript.registerPreludeScriptResolver(build);
69
75
  build.onLoad({ filter: sourceRegExp }, async (args) => {
@@ -0,0 +1,2 @@
1
+ export { EXPERIMENTAL__server } from './operations/serve';
2
+ export { DevServer } from './server/DevServer';
@@ -16,15 +16,16 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var parseDomain_exports = {};
20
- __export(parseDomain_exports, {
21
- parseDomain: () => parseDomain
19
+ var experimental_exports = {};
20
+ __export(experimental_exports, {
21
+ DevServer: () => import_DevServer.DevServer,
22
+ EXPERIMENTAL__server: () => import_serve.EXPERIMENTAL__server
22
23
  });
23
- module.exports = __toCommonJS(parseDomain_exports);
24
- function parseDomain(method) {
25
- return method.split(".")[0];
26
- }
24
+ module.exports = __toCommonJS(experimental_exports);
25
+ var import_serve = require("./operations/serve");
26
+ var import_DevServer = require("./server/DevServer");
27
27
  // Annotate the CommonJS export names for ESM import in node:
28
28
  0 && (module.exports = {
29
- parseDomain
29
+ DevServer,
30
+ EXPERIMENTAL__server
30
31
  });