@granite-js/mpack 0.1.34 → 1.0.1

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 +9 -356
  2. package/dist/bundler/internal/presets.d.ts +4 -1
  3. package/dist/bundler/internal/presets.js +16 -11
  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 +19 -16
  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,367 +1,20 @@
1
1
  # @granite-js/mpack
2
2
 
3
- ## 0.1.34
3
+ ## 1.0.1
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - b546c17: move `asyncIterator` polyfill to runtime
8
- - 9c39997: bump version up `@swc/core`
9
- - Updated dependencies [9c39997]
10
- - @granite-js/plugin-core@0.1.34
11
- - @granite-js/devtools-frontend@0.1.34
12
- - @granite-js/utils@0.1.34
7
+ - @granite-js/plugin-core@1.0.1
8
+ - @granite-js/utils@1.0.1
13
9
 
14
- ## 0.1.33
10
+ ## 1.0.0
15
11
 
16
- ### Patch Changes
17
-
18
- - @granite-js/devtools-frontend@0.1.33
19
- - @granite-js/plugin-core@0.1.33
20
- - @granite-js/utils@0.1.33
21
-
22
- ## 0.1.32
23
-
24
- ### Patch Changes
25
-
26
- - 7572713: bump version up babel
27
- - Updated dependencies [7572713]
28
- - @granite-js/plugin-core@0.1.32
29
- - @granite-js/devtools-frontend@0.1.32
30
- - @granite-js/utils@0.1.32
31
-
32
- ## 0.1.31
33
-
34
- ### Patch Changes
35
-
36
- - 9bf8b50: expose resolveRequest option
37
- - e957833: expose `resolver.resolverMainFields` and `resolver.unstable_conditionNames` options
38
- - Updated dependencies [9bf8b50]
39
- - Updated dependencies [e957833]
40
- - @granite-js/plugin-core@0.1.31
41
- - @granite-js/devtools-frontend@0.1.31
42
- - @granite-js/utils@0.1.31
43
-
44
- ## 0.1.30
45
-
46
- ### Patch Changes
47
-
48
- - 9e9ea71: escape `from` string of alias config when creating RegExp
49
- - @granite-js/devtools-frontend@0.1.30
50
- - @granite-js/plugin-core@0.1.30
51
- - @granite-js/utils@0.1.30
52
-
53
- ## 0.1.29
54
-
55
- ### Patch Changes
56
-
57
- - ed4cdbf: support additional metro config options from granite.config.ts
58
- - Updated dependencies [ed4cdbf]
59
- - @granite-js/plugin-core@0.1.29
60
- - @granite-js/devtools-frontend@0.1.29
61
- - @granite-js/utils@0.1.29
62
-
63
- ## 0.1.28
64
-
65
- ### Patch Changes
66
-
67
- - 1d958cc: ci: provenance
68
- - Updated dependencies [1d958cc]
69
- - @granite-js/devtools-frontend@0.1.28
70
- - @granite-js/plugin-core@0.1.28
71
- - @granite-js/utils@0.1.28
72
-
73
- ## 0.1.27
74
-
75
- ### Patch Changes
76
-
77
- - e32b020: ci: oidc
78
- - Updated dependencies [e32b020]
79
- - @granite-js/devtools-frontend@0.1.27
80
- - @granite-js/plugin-core@0.1.27
81
- - @granite-js/utils@0.1.27
82
-
83
- ## 0.1.26
84
-
85
- ### Patch Changes
86
-
87
- - @granite-js/devtools-frontend@0.1.26
88
- - @granite-js/plugin-core@0.1.26
89
- - @granite-js/utils@0.1.26
90
-
91
- ## 0.1.25
92
-
93
- ### Patch Changes
94
-
95
- - @granite-js/devtools-frontend@0.1.25
96
- - @granite-js/plugin-core@0.1.25
97
- - @granite-js/utils@0.1.25
98
-
99
- ## 0.1.24
100
-
101
- ### Patch Changes
102
-
103
- - 6e42c3d: add inspectorProxy options
104
- - Updated dependencies [6e42c3d]
105
- - @granite-js/plugin-core@0.1.24
106
- - @granite-js/devtools-frontend@0.1.24
107
- - @granite-js/utils@0.1.24
108
-
109
- ## 0.1.23
110
-
111
- ### Patch Changes
112
-
113
- - @granite-js/devtools-frontend@0.1.23
114
- - @granite-js/plugin-core@0.1.23
115
- - @granite-js/utils@0.1.23
116
-
117
- ## 0.1.22
118
-
119
- ### Patch Changes
120
-
121
- - @granite-js/devtools-frontend@0.1.22
122
- - @granite-js/plugin-core@0.1.22
123
- - @granite-js/utils@0.1.22
124
-
125
- ## 0.1.21
126
-
127
- ### Patch Changes
128
-
129
- - @granite-js/devtools-frontend@0.1.21
130
- - @granite-js/plugin-core@0.1.21
131
- - @granite-js/utils@0.1.21
132
-
133
- ## 0.1.20
134
-
135
- ### Patch Changes
136
-
137
- - 1df5883: update package.json meta to supports any moduleResolutions
138
- - a93bf1e: fix metafile generation
139
- - @granite-js/devtools-frontend@0.1.20
140
- - @granite-js/plugin-core@0.1.20
141
- - @granite-js/utils@0.1.20
142
-
143
- ## 0.1.19
144
-
145
- ### Patch Changes
146
-
147
- - Updated dependencies [e9a3daf]
148
- - @granite-js/plugin-core@0.1.19
149
- - @granite-js/devtools-frontend@0.1.19
150
- - @granite-js/utils@0.1.19
151
-
152
- ## 0.1.18
153
-
154
- ### Patch Changes
155
-
156
- - @granite-js/devtools-frontend@0.1.18
157
- - @granite-js/plugin-core@0.1.18
158
- - @granite-js/utils@0.1.18
159
-
160
- ## 0.1.17
161
-
162
- ### Patch Changes
163
-
164
- - 07d4020: fix getId generation
165
- - 9c415df: supports dynamic plugin config
166
- - dfd1a1e: improve uncaught exception
167
- - Updated dependencies [9c415df]
168
- - @granite-js/plugin-core@0.1.17
169
- - @granite-js/devtools-frontend@0.1.17
170
- - @granite-js/utils@0.1.17
171
-
172
- ## 0.1.16
173
-
174
- ### Patch Changes
175
-
176
- - db8727a: Show dev server URL on startup
177
- - @granite-js/devtools-frontend@0.1.16
178
- - @granite-js/plugin-core@0.1.16
179
- - @granite-js/utils@0.1.16
180
-
181
- ## 0.1.15
182
-
183
- ### Patch Changes
184
-
185
- - d16ee87: Add useInitialProps, useInitialSearchParams hook.
186
- - Updated dependencies [d16ee87]
187
- - @granite-js/devtools-frontend@0.1.15
188
- - @granite-js/plugin-core@0.1.15
189
- - @granite-js/utils@0.1.15
190
-
191
- ## 0.1.14
192
-
193
- ### Patch Changes
194
-
195
- - @granite-js/devtools-frontend@0.1.14
196
- - @granite-js/plugin-core@0.1.14
197
- - @granite-js/utils@0.1.14
198
-
199
- ## 0.1.13
200
-
201
- ### Patch Changes
202
-
203
- - @granite-js/devtools-frontend@0.1.13
204
- - @granite-js/plugin-core@0.1.13
205
- - @granite-js/utils@0.1.13
206
-
207
- ## 0.1.12
208
-
209
- ### Patch Changes
210
-
211
- - d1e6585: fix module resolutions
212
- - Updated dependencies [d1e6585]
213
- - Updated dependencies [1e99fe1]
214
- - @granite-js/devtools-frontend@0.1.12
215
- - @granite-js/plugin-core@0.1.12
216
- - @granite-js/utils@0.1.12
217
-
218
- ## 0.1.11
219
-
220
- ### Patch Changes
221
-
222
- - 12f568f: improve error handler
223
- - d3a2b58: improve resolver plugin
224
- - Updated dependencies [d3a2b58]
225
- - @granite-js/plugin-core@0.1.11
226
- - @granite-js/devtools-frontend@0.1.11
227
- - @granite-js/utils@0.1.11
228
-
229
- ## 0.1.10
230
-
231
- ### Patch Changes
232
-
233
- - Updated dependencies [9438be5]
234
- - @granite-js/plugin-core@0.1.10
235
- - @granite-js/devtools-frontend@0.1.10
236
- - @granite-js/utils@0.1.10
237
-
238
- ## 0.1.9
239
-
240
- ### Patch Changes
241
-
242
- - 935bb36: fix `BuildUtils` errors and incorrect plugin types
243
- - Updated dependencies [935bb36]
244
- - @granite-js/plugin-core@0.1.9
245
- - @granite-js/devtools-frontend@0.1.9
246
- - @granite-js/utils@0.1.9
247
-
248
- ## 0.1.8
249
-
250
- ### Patch Changes
251
-
252
- - b69366c: improve config structure
253
- - Updated dependencies [b69366c]
254
- - @granite-js/plugin-core@0.1.8
255
- - @granite-js/devtools-frontend@0.1.8
256
- - @granite-js/utils@0.1.8
257
-
258
- ## 0.1.7
259
-
260
- ### Patch Changes
261
-
262
- - 208c053: feat: add additionalConfig reporter spec
263
- - @granite-js/devtools-frontend@0.1.7
264
- - @granite-js/utils@0.1.7
265
-
266
- ## 0.1.6
267
-
268
- ### Patch Changes
269
-
270
- - @granite-js/devtools-frontend@0.1.6
271
- - @granite-js/utils@0.1.6
272
-
273
- ## 0.1.5
274
-
275
- ### Patch Changes
276
-
277
- - @granite-js/devtools-frontend@0.1.5
278
- - @granite-js/utils@0.1.5
279
-
280
- ## 0.1.4
281
-
282
- ### Patch Changes
283
-
284
- - @granite-js/devtools-frontend@0.1.4
285
- - @granite-js/utils@0.1.4
286
-
287
- ## 0.1.3
288
-
289
- ### Patch Changes
290
-
291
- - @granite-js/devtools-frontend@0.1.3
292
- - @granite-js/utils@0.1.3
293
-
294
- ## 0.1.2
295
-
296
- ### Patch Changes
297
-
298
- - @granite-js/devtools-frontend@0.1.2
299
- - @granite-js/utils@0.1.2
300
-
301
- ## 0.1.1
302
-
303
- ### Patch Changes
304
-
305
- - d675415: Improve scaffolding to provide a better showcase UI
306
- - 10a5f3f: empty
307
- - Updated dependencies [d675415]
308
- - Updated dependencies [10a5f3f]
309
- - @granite-js/devtools-frontend@0.1.1
310
- - @granite-js/utils@0.1.1
311
-
312
- ## 0.1.0
313
-
314
- ### Minor Changes
315
-
316
- - 561a3ed: fix: docs deadlink
317
-
318
- ### Patch Changes
319
-
320
- - Updated dependencies [561a3ed]
321
- - @granite-js/devtools-frontend@0.1.0
322
- - @granite-js/utils@0.1.0
323
-
324
- ## 0.0.3
325
-
326
- ### Patch Changes
327
-
328
- - ed4d356: changeset
329
- - Updated dependencies [ed4d356]
330
- - @granite-js/devtools-frontend@0.0.3
331
- - @granite-js/utils@0.0.3
332
-
333
- ## 0.0.2
334
-
335
- ### Patch Changes
336
-
337
- - 0ae09b7: add scheme option for granite
338
- - 0ae09b7: deploy guide
339
- - 0ae09b7: type fix
340
- - 0ae09b7: guide
341
- - 0ae09b7: showcase
342
- - 0ae09b7: refactor interface names
343
- - 0ae09b7: plugin-router
344
- - 0ae09b7: CanGoBackGuard 수정, typecheck fix, lint fix
345
- - 0ae09b7: counter
346
- - 0ae09b7: eslint up
347
- - 0ae09b7: - Add plugin context to allow plugins to share data
348
- - Implement Hermes plugin to compile Hermes bytecode and compose source maps
349
- - Updated dependencies [0ae09b7]
350
- - Updated dependencies [0ae09b7]
351
- - Updated dependencies [0ae09b7]
352
- - Updated dependencies [0ae09b7]
353
- - Updated dependencies [0ae09b7]
354
- - Updated dependencies [0ae09b7]
355
- - Updated dependencies [0ae09b7]
356
- - Updated dependencies [0ae09b7]
357
- - @granite-js/devtools-frontend@0.0.2
358
- - @granite-js/utils@0.0.2
12
+ ### Major Changes
359
13
 
360
- ## 0.0.1
14
+ - 260daab: feat: introduce support react native 0.84
361
15
 
362
16
  ### Patch Changes
363
17
 
364
- - f47ca39: first release
365
- - Updated dependencies [f47ca39]
366
- - @granite-js/devtools-frontend@0.0.1
367
- - @granite-js/plugin-router@0.0.1
18
+ - Updated dependencies [260daab]
19
+ - @granite-js/plugin-core@1.0.0
20
+ - @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,7 +69,12 @@ 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
79
  js: globalVariables({ dev: context.dev })
75
80
  }
@@ -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
  });