@apps-in-toss/framework 0.0.0-dev.1741599426292 → 0.0.0-dev.1741675190621

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,21 +4,20 @@ Hub package for Apps In Toss
4
4
 
5
5
  ## License
6
6
 
7
- This software is licensed under the [Apache 2 license](LICENSE), quoted below.
7
+ This software is licensed under the [GPL, Version 3.0](LICENSE), quoted below.
8
8
 
9
9
  ```
10
- Copyright 2025 Viva Republica, Inc
10
+ Copyright 2025 Viva Republica, Inc.
11
11
 
12
- Licensed under the Apache License, Version 2.0 (the "License");
12
+ Licensed under the GPL, Version 3.0 (the "License");
13
13
  you may not use this file except in compliance with the License.
14
14
  You may obtain a copy of the License at:
15
15
 
16
- http://www.apache.org/licenses/LICENSE-2.0
16
+ https://www.gnu.org/licenses/gpl-3.0.html
17
17
 
18
18
  Unless required by applicable law or agreed to in writing, software
19
19
  distributed under the License is distributed on an "AS IS" BASIS,
20
20
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
21
  See the License for the specific language governing permissions and
22
22
  limitations under the License.
23
-
24
23
  ```
@@ -1,4 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
  import { initialize } from '@apps-in-toss/cli';
3
-
4
3
  initialize();
package/dist/index.cjs CHANGED
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
33
  Accuracy: () => Accuracy2,
34
+ AppsInToss: () => AppsInToss,
34
35
  WebView: () => WebView,
35
36
  appLogin: () => appLogin,
36
37
  env: () => env,
@@ -45,6 +46,32 @@ __export(src_exports, {
45
46
  });
46
47
  module.exports = __toCommonJS(src_exports);
47
48
 
49
+ // src/core/registerApp.tsx
50
+ var import_react_native_bedrock = require("react-native-bedrock");
51
+ var import_jsx_runtime = require("react/jsx-runtime");
52
+ function AppsInTossContainer(Container, { children, ...initialProps }) {
53
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Container, { ...initialProps, children });
54
+ }
55
+ function registerApp(container, { context }) {
56
+ return import_react_native_bedrock.Bedrock.registerApp(AppsInTossContainer.bind(null, container), {
57
+ appName: getAppName(),
58
+ context
59
+ });
60
+ }
61
+ function getAppName() {
62
+ try {
63
+ return global.__bedrock.app.name;
64
+ } catch (error) {
65
+ console.error("unexpected error occurred while getting app name");
66
+ throw error;
67
+ }
68
+ }
69
+
70
+ // src/core/index.ts
71
+ var AppsInToss = {
72
+ registerApp
73
+ };
74
+
48
75
  // src/native-event-emitter/index.ts
49
76
  var native_event_emitter_exports = {};
50
77
  __export(native_event_emitter_exports, {
@@ -52,10 +79,10 @@ __export(native_event_emitter_exports, {
52
79
  });
53
80
 
54
81
  // src/native-event-emitter/bedrock-event.ts
55
- var import_react_native_bedrock2 = require("react-native-bedrock");
82
+ var import_react_native_bedrock3 = require("react-native-bedrock");
56
83
 
57
84
  // src/native-event-emitter/event-plugins/UpdateLocationEvent.ts
58
- var import_react_native_bedrock = require("react-native-bedrock");
85
+ var import_react_native_bedrock2 = require("react-native-bedrock");
59
86
 
60
87
  // src/native-modules/AppsInTossModule.ts
61
88
  var import_react_native = require("react-native");
@@ -89,7 +116,7 @@ var import_react_native2 = require("react-native");
89
116
  var nativeEventEmitter = new import_react_native2.NativeEventEmitter(AppsInTossModuleInstance);
90
117
 
91
118
  // src/native-event-emitter/event-plugins/UpdateLocationEvent.ts
92
- var UpdateLocationEvent = class extends import_react_native_bedrock.BedrockEventDefinition {
119
+ var UpdateLocationEvent = class extends import_react_native_bedrock2.BedrockEventDefinition {
93
120
  name = "updateLocationEvent";
94
121
  subscriptionCount = 0;
95
122
  ref = {
@@ -117,7 +144,7 @@ var UpdateLocationEvent = class extends import_react_native_bedrock.BedrockEvent
117
144
  };
118
145
 
119
146
  // src/native-event-emitter/bedrock-event.ts
120
- var appsInTossEvent = new import_react_native_bedrock2.BedrockEvent([new UpdateLocationEvent()]);
147
+ var appsInTossEvent = new import_react_native_bedrock3.BedrockEvent([new UpdateLocationEvent()]);
121
148
 
122
149
  // src/native-event-emitter/startUpdateLocation.ts
123
150
  function startUpdateLocation(eventParams) {
@@ -220,10 +247,10 @@ async function appLogin() {
220
247
  // src/components/WebView.tsx
221
248
  var import_react_native_webview = require("@react-native-bedrock/native/react-native-webview");
222
249
  var import_react = require("react");
223
- var import_react_native_bedrock3 = require("react-native-bedrock");
250
+ var import_react_native_bedrock4 = require("react-native-bedrock");
224
251
  var bridges = __toESM(require("react-native-bedrock/bridges"), 1);
225
252
  var constantBridges = __toESM(require("react-native-bedrock/constants"), 1);
226
- var import_jsx_runtime = require("react/jsx-runtime");
253
+ var import_jsx_runtime2 = require("react/jsx-runtime");
227
254
  function WebView({ localhostPort = 5173, onMessage, ...props }) {
228
255
  const uri = (0, import_react.useMemo)(() => {
229
256
  if (__DEV__) {
@@ -231,7 +258,7 @@ function WebView({ localhostPort = 5173, onMessage, ...props }) {
231
258
  }
232
259
  return AppsInTossModule.getWebBundleURL({}).url;
233
260
  }, [localhostPort]);
234
- const handler = (0, import_react_native_bedrock3.useBridgeHandler)({
261
+ const handler = (0, import_react_native_bedrock4.useBridgeHandler)({
235
262
  onMessage,
236
263
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
237
264
  eventListenerMap: native_event_emitter_exports,
@@ -245,7 +272,7 @@ function WebView({ localhostPort = 5173, onMessage, ...props }) {
245
272
  ...native_modules_exports
246
273
  }
247
274
  });
248
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
275
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
249
276
  import_react_native_webview.WebView,
250
277
  {
251
278
  ref: handler.ref,
@@ -262,9 +289,9 @@ function WebView({ localhostPort = 5173, onMessage, ...props }) {
262
289
 
263
290
  // src/hooks/useGeolocation.ts
264
291
  var import_react2 = require("react");
265
- var import_react_native_bedrock4 = require("react-native-bedrock");
292
+ var import_react_native_bedrock5 = require("react-native-bedrock");
266
293
  function useGeolocation({ accuracy, distanceInterval, timeInterval }) {
267
- const isVisible = (0, import_react_native_bedrock4.useVisibility)();
294
+ const isVisible = (0, import_react_native_bedrock5.useVisibility)();
268
295
  const [location, setLocation] = (0, import_react2.useState)(null);
269
296
  (0, import_react2.useEffect)(() => {
270
297
  if (!isVisible) {
@@ -301,6 +328,7 @@ var Accuracy2 = /* @__PURE__ */ ((Accuracy3) => {
301
328
  // Annotate the CommonJS export names for ESM import in node:
302
329
  0 && (module.exports = {
303
330
  Accuracy,
331
+ AppsInToss,
304
332
  WebView,
305
333
  appLogin,
306
334
  env,
package/dist/index.d.cts CHANGED
@@ -1,14 +1,26 @@
1
+ import { ComponentType, PropsWithChildren } from 'react';
2
+ import { InitialProps, BedrockProps } from 'react-native-bedrock';
1
3
  import { EmitterSubscription } from 'react-native';
2
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
5
  import { WebViewProps as WebViewProps$1 } from '@react-native-bedrock/native/react-native-webview';
4
6
 
7
+ type AppsInTossProps = Pick<BedrockProps, 'context'>;
8
+ declare function registerApp(container: ComponentType<PropsWithChildren<InitialProps>>, { context }: AppsInTossProps): (initialProps: InitialProps) => JSX.Element;
9
+
10
+ declare const AppsInToss: {
11
+ registerApp: typeof registerApp;
12
+ };
13
+
5
14
  interface EventEmitterSchema<K extends string, P extends unknown[]> {
6
15
  name: K;
7
16
  params: P;
8
17
  }
9
18
 
10
19
  /**
11
- * 위치 정확도 옵션이에요.
20
+ * @public
21
+ * @category Types
22
+ * @name Accuracy
23
+ * @description 위치 정확도 옵션이에요.
12
24
  */
13
25
  declare enum Accuracy {
14
26
  /**
@@ -36,6 +48,12 @@ declare enum Accuracy {
36
48
  */
37
49
  BestForNavigation = 6
38
50
  }
51
+ /**
52
+ * @public
53
+ * @category Types
54
+ * @name Location
55
+ * @description 위치 정보를 나타내는 객체예요.
56
+ */
39
57
  interface Location {
40
58
  /**
41
59
  * Android에서만 지원하는 옵션이에요.
@@ -50,14 +68,42 @@ interface Location {
50
68
  * 위치가 업데이트된 시점의 유닉스 타임스탬프예요.
51
69
  */
52
70
  timestamp: number;
53
- coords: {
54
- latitude: number;
55
- longitude: number;
56
- altitude: number;
57
- accuracy: number;
58
- altitudeAccuracy: number;
59
- heading: number;
60
- };
71
+ /**
72
+ * @description 위치 정보를 나타내는 객체예요. 자세한 내용은 [LocationCoords](/reference/framework/Types/LocationCoords.html)을 참고해주세요.
73
+ */
74
+ coords: LocationCoords;
75
+ }
76
+ /**
77
+ * @public
78
+ * @category Types
79
+ * @name LocationCoords
80
+ * @description 세부 위치 정보를 나타내는 객체예요.
81
+ */
82
+ interface LocationCoords {
83
+ /**
84
+ * 위도
85
+ */
86
+ latitude: number;
87
+ /**
88
+ * 경도
89
+ */
90
+ longitude: number;
91
+ /**
92
+ * 높이
93
+ */
94
+ altitude: number;
95
+ /**
96
+ * 위치 정확도
97
+ */
98
+ accuracy: number;
99
+ /**
100
+ * 고도 정확도
101
+ */
102
+ altitudeAccuracy: number;
103
+ /**
104
+ * 방향
105
+ */
106
+ heading: number;
61
107
  }
62
108
  /**
63
109
  * 사진 조회 결과를 나타내는 타입이에요.
@@ -109,7 +155,7 @@ interface UpdateLocationEventEmitter extends EventEmitterSchema<'updateLocation'
109
155
  * @param {number} [options.accuracy] 위치 정확도를 설정해요.
110
156
  * @param {number} [options.timeInterval] 위치 정보를 업데이트하는 최소 주기로, 단위는 밀리초(ms)예요. 이 값은 위치 업데이트가 발생하는 가장 짧은 간격을 설정하지만, 시스템이나 환경의 영향을 받아 지정한 주기보다 더 긴 간격으로 업데이트될 수 있어요.
111
157
  * @param {number} [options.distanceInterval] 위치 변경 거리를 미터(m) 단위로 설정해요.
112
- * @param {(location: Location) => void} [options.callback] 위치 정보가 변경될 때 호출되는 콜백 함수예요.
158
+ * @param {(location: Location) => void} [options.callback] 위치 정보가 변경될 때 호출되는 콜백 함수예요. 자세한 내용은 [Location](/reference/framework/Types/Location.html)을 참고해주세요.
113
159
  *
114
160
  * @example
115
161
  * ### 위치 정보 변경 감지하기
@@ -410,7 +456,7 @@ interface GetCurrentLocationOptions {
410
456
  *
411
457
  * @param {GetCurrentLocationOptions} options 위치 정보를 가져올 때 사용하는 옵션 객체예요.
412
458
  * @param {Accuracy} [options.accuracy] 위치 정보의 정확도 수준이에요. 정확도는 `Accuracy` 타입으로 설정돼요.
413
- * @returns {Promise<Location>} 디바이스의 위치 정보가 담긴 객체를 반환해요.
459
+ * @returns {Promise<Location>} 디바이스의 위치 정보가 담긴 객체를 반환해요. 자세한 내용은 [Location](/reference/framework/Types/Location.html)을 참고해주세요.
414
460
  *
415
461
  * @example
416
462
  * ### 디바이스의 현재 위치 정보 가져오기
@@ -564,6 +610,7 @@ type UseGeolocationOptions = Omit<StartUpdateLocationOptions, 'callback'>;
564
610
  * @param {Accuracy} [options.accuracy] 위치 정확도를 설정해요. `Accuracy.Lowest`: 오차범위 3KM 이내, `Accuracy.Low`: 오차범위 1KM 이내, `Accuracy.Balanced`: 오차범위 몇 백미터 이내, `Accuracy.High`: 오차범위 10M 이내, `Accuracy.Highest`: 가장 높은 정확도, `Accuracy.BestForNavigation`: 네비게이션을 위한 최고 정확도
565
611
  * @param {number} [options.timeInterval] 위치 정보를 업데이트하는 최소 주기로, 단위는 밀리초(ms)예요. 이 값은 위치 업데이트가 발생하는 가장 짧은 간격을 설정하지만, 시스템이나 환경의 영향을 받아 지정한 주기보다 더 긴 간격으로 업데이트될 수 있어요.
566
612
  * @param {number} [options.distanceInterval] 위치 변경 거리를 미터(m) 단위로 설정해요.
613
+ * @returns {Location | null} 디바이스의 위치 정보가 담긴 객체를 반환해요. 자세한 내용은 [Location](/reference/framework/Types/Location.html)을 참고해주세요.
567
614
  *
568
615
  * @example
569
616
  * ### 위치 정보 변경 감지하기
@@ -599,4 +646,4 @@ declare const env: {
599
646
  getDeploymentId: () => string | undefined;
600
647
  };
601
648
 
602
- export { Accuracy, type ContactEntity, type FetchAlbumPhotosOptions, type GetCurrentLocationOptions, type ImageResponse, type Location, type OpenCameraOptions, type StartUpdateLocationOptions, type StartUpdateLocationSubscription, type UpdateLocationEventEmitter, type UseGeolocationOptions, WebView, type WebViewProps, appLogin, env, fetchAlbumPhotos, fetchContacts, getClipboardText, getCurrentLocation, openCamera, setClipboardText, startUpdateLocation, useGeolocation };
649
+ export { Accuracy, AppsInToss, type ContactEntity, type FetchAlbumPhotosOptions, type GetCurrentLocationOptions, type ImageResponse, type Location, type LocationCoords, type OpenCameraOptions, type StartUpdateLocationOptions, type StartUpdateLocationSubscription, type UpdateLocationEventEmitter, type UseGeolocationOptions, WebView, type WebViewProps, appLogin, env, fetchAlbumPhotos, fetchContacts, getClipboardText, getCurrentLocation, openCamera, setClipboardText, startUpdateLocation, useGeolocation };
package/dist/index.d.ts CHANGED
@@ -1,14 +1,26 @@
1
+ import { ComponentType, PropsWithChildren } from 'react';
2
+ import { InitialProps, BedrockProps } from 'react-native-bedrock';
1
3
  import { EmitterSubscription } from 'react-native';
2
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
5
  import { WebViewProps as WebViewProps$1 } from '@react-native-bedrock/native/react-native-webview';
4
6
 
7
+ type AppsInTossProps = Pick<BedrockProps, 'context'>;
8
+ declare function registerApp(container: ComponentType<PropsWithChildren<InitialProps>>, { context }: AppsInTossProps): (initialProps: InitialProps) => JSX.Element;
9
+
10
+ declare const AppsInToss: {
11
+ registerApp: typeof registerApp;
12
+ };
13
+
5
14
  interface EventEmitterSchema<K extends string, P extends unknown[]> {
6
15
  name: K;
7
16
  params: P;
8
17
  }
9
18
 
10
19
  /**
11
- * 위치 정확도 옵션이에요.
20
+ * @public
21
+ * @category Types
22
+ * @name Accuracy
23
+ * @description 위치 정확도 옵션이에요.
12
24
  */
13
25
  declare enum Accuracy {
14
26
  /**
@@ -36,6 +48,12 @@ declare enum Accuracy {
36
48
  */
37
49
  BestForNavigation = 6
38
50
  }
51
+ /**
52
+ * @public
53
+ * @category Types
54
+ * @name Location
55
+ * @description 위치 정보를 나타내는 객체예요.
56
+ */
39
57
  interface Location {
40
58
  /**
41
59
  * Android에서만 지원하는 옵션이에요.
@@ -50,14 +68,42 @@ interface Location {
50
68
  * 위치가 업데이트된 시점의 유닉스 타임스탬프예요.
51
69
  */
52
70
  timestamp: number;
53
- coords: {
54
- latitude: number;
55
- longitude: number;
56
- altitude: number;
57
- accuracy: number;
58
- altitudeAccuracy: number;
59
- heading: number;
60
- };
71
+ /**
72
+ * @description 위치 정보를 나타내는 객체예요. 자세한 내용은 [LocationCoords](/reference/framework/Types/LocationCoords.html)을 참고해주세요.
73
+ */
74
+ coords: LocationCoords;
75
+ }
76
+ /**
77
+ * @public
78
+ * @category Types
79
+ * @name LocationCoords
80
+ * @description 세부 위치 정보를 나타내는 객체예요.
81
+ */
82
+ interface LocationCoords {
83
+ /**
84
+ * 위도
85
+ */
86
+ latitude: number;
87
+ /**
88
+ * 경도
89
+ */
90
+ longitude: number;
91
+ /**
92
+ * 높이
93
+ */
94
+ altitude: number;
95
+ /**
96
+ * 위치 정확도
97
+ */
98
+ accuracy: number;
99
+ /**
100
+ * 고도 정확도
101
+ */
102
+ altitudeAccuracy: number;
103
+ /**
104
+ * 방향
105
+ */
106
+ heading: number;
61
107
  }
62
108
  /**
63
109
  * 사진 조회 결과를 나타내는 타입이에요.
@@ -109,7 +155,7 @@ interface UpdateLocationEventEmitter extends EventEmitterSchema<'updateLocation'
109
155
  * @param {number} [options.accuracy] 위치 정확도를 설정해요.
110
156
  * @param {number} [options.timeInterval] 위치 정보를 업데이트하는 최소 주기로, 단위는 밀리초(ms)예요. 이 값은 위치 업데이트가 발생하는 가장 짧은 간격을 설정하지만, 시스템이나 환경의 영향을 받아 지정한 주기보다 더 긴 간격으로 업데이트될 수 있어요.
111
157
  * @param {number} [options.distanceInterval] 위치 변경 거리를 미터(m) 단위로 설정해요.
112
- * @param {(location: Location) => void} [options.callback] 위치 정보가 변경될 때 호출되는 콜백 함수예요.
158
+ * @param {(location: Location) => void} [options.callback] 위치 정보가 변경될 때 호출되는 콜백 함수예요. 자세한 내용은 [Location](/reference/framework/Types/Location.html)을 참고해주세요.
113
159
  *
114
160
  * @example
115
161
  * ### 위치 정보 변경 감지하기
@@ -410,7 +456,7 @@ interface GetCurrentLocationOptions {
410
456
  *
411
457
  * @param {GetCurrentLocationOptions} options 위치 정보를 가져올 때 사용하는 옵션 객체예요.
412
458
  * @param {Accuracy} [options.accuracy] 위치 정보의 정확도 수준이에요. 정확도는 `Accuracy` 타입으로 설정돼요.
413
- * @returns {Promise<Location>} 디바이스의 위치 정보가 담긴 객체를 반환해요.
459
+ * @returns {Promise<Location>} 디바이스의 위치 정보가 담긴 객체를 반환해요. 자세한 내용은 [Location](/reference/framework/Types/Location.html)을 참고해주세요.
414
460
  *
415
461
  * @example
416
462
  * ### 디바이스의 현재 위치 정보 가져오기
@@ -564,6 +610,7 @@ type UseGeolocationOptions = Omit<StartUpdateLocationOptions, 'callback'>;
564
610
  * @param {Accuracy} [options.accuracy] 위치 정확도를 설정해요. `Accuracy.Lowest`: 오차범위 3KM 이내, `Accuracy.Low`: 오차범위 1KM 이내, `Accuracy.Balanced`: 오차범위 몇 백미터 이내, `Accuracy.High`: 오차범위 10M 이내, `Accuracy.Highest`: 가장 높은 정확도, `Accuracy.BestForNavigation`: 네비게이션을 위한 최고 정확도
565
611
  * @param {number} [options.timeInterval] 위치 정보를 업데이트하는 최소 주기로, 단위는 밀리초(ms)예요. 이 값은 위치 업데이트가 발생하는 가장 짧은 간격을 설정하지만, 시스템이나 환경의 영향을 받아 지정한 주기보다 더 긴 간격으로 업데이트될 수 있어요.
566
612
  * @param {number} [options.distanceInterval] 위치 변경 거리를 미터(m) 단위로 설정해요.
613
+ * @returns {Location | null} 디바이스의 위치 정보가 담긴 객체를 반환해요. 자세한 내용은 [Location](/reference/framework/Types/Location.html)을 참고해주세요.
567
614
  *
568
615
  * @example
569
616
  * ### 위치 정보 변경 감지하기
@@ -599,4 +646,4 @@ declare const env: {
599
646
  getDeploymentId: () => string | undefined;
600
647
  };
601
648
 
602
- export { Accuracy, type ContactEntity, type FetchAlbumPhotosOptions, type GetCurrentLocationOptions, type ImageResponse, type Location, type OpenCameraOptions, type StartUpdateLocationOptions, type StartUpdateLocationSubscription, type UpdateLocationEventEmitter, type UseGeolocationOptions, WebView, type WebViewProps, appLogin, env, fetchAlbumPhotos, fetchContacts, getClipboardText, getCurrentLocation, openCamera, setClipboardText, startUpdateLocation, useGeolocation };
649
+ export { Accuracy, AppsInToss, type ContactEntity, type FetchAlbumPhotosOptions, type GetCurrentLocationOptions, type ImageResponse, type Location, type LocationCoords, type OpenCameraOptions, type StartUpdateLocationOptions, type StartUpdateLocationSubscription, type UpdateLocationEventEmitter, type UseGeolocationOptions, WebView, type WebViewProps, appLogin, env, fetchAlbumPhotos, fetchContacts, getClipboardText, getCurrentLocation, openCamera, setClipboardText, startUpdateLocation, useGeolocation };
package/dist/index.js CHANGED
@@ -4,6 +4,32 @@ var __export = (target, all) => {
4
4
  __defProp(target, name, { get: all[name], enumerable: true });
5
5
  };
6
6
 
7
+ // src/core/registerApp.tsx
8
+ import { Bedrock } from "react-native-bedrock";
9
+ import { jsx } from "react/jsx-runtime";
10
+ function AppsInTossContainer(Container, { children, ...initialProps }) {
11
+ return /* @__PURE__ */ jsx(Container, { ...initialProps, children });
12
+ }
13
+ function registerApp(container, { context }) {
14
+ return Bedrock.registerApp(AppsInTossContainer.bind(null, container), {
15
+ appName: getAppName(),
16
+ context
17
+ });
18
+ }
19
+ function getAppName() {
20
+ try {
21
+ return global.__bedrock.app.name;
22
+ } catch (error) {
23
+ console.error("unexpected error occurred while getting app name");
24
+ throw error;
25
+ }
26
+ }
27
+
28
+ // src/core/index.ts
29
+ var AppsInToss = {
30
+ registerApp
31
+ };
32
+
7
33
  // src/native-event-emitter/index.ts
8
34
  var native_event_emitter_exports = {};
9
35
  __export(native_event_emitter_exports, {
@@ -184,7 +210,7 @@ import { useMemo } from "react";
184
210
  import { useBridgeHandler } from "react-native-bedrock";
185
211
  import * as bridges from "react-native-bedrock/bridges";
186
212
  import * as constantBridges from "react-native-bedrock/constants";
187
- import { jsx } from "react/jsx-runtime";
213
+ import { jsx as jsx2 } from "react/jsx-runtime";
188
214
  function WebView({ localhostPort = 5173, onMessage, ...props }) {
189
215
  const uri = useMemo(() => {
190
216
  if (__DEV__) {
@@ -206,7 +232,7 @@ function WebView({ localhostPort = 5173, onMessage, ...props }) {
206
232
  ...native_modules_exports
207
233
  }
208
234
  });
209
- return /* @__PURE__ */ jsx(
235
+ return /* @__PURE__ */ jsx2(
210
236
  OriginalWebView,
211
237
  {
212
238
  ref: handler.ref,
@@ -261,6 +287,7 @@ var Accuracy2 = /* @__PURE__ */ ((Accuracy3) => {
261
287
  })(Accuracy2 || {});
262
288
  export {
263
289
  Accuracy2 as Accuracy,
290
+ AppsInToss,
264
291
  WebView,
265
292
  appLogin,
266
293
  env,
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+
17
+ // src/jest/index.ts
18
+ var jest_exports = {};
19
+ module.exports = __toCommonJS(jest_exports);
20
+ __reExport(jest_exports, require("react-native-bedrock/jest"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("react-native-bedrock/jest")
24
+ });
@@ -0,0 +1 @@
1
+ export * from 'react-native-bedrock/jest';
@@ -0,0 +1 @@
1
+ export * from 'react-native-bedrock/jest';
@@ -0,0 +1,4 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+
3
+ // src/jest/index.ts
4
+ export * from "react-native-bedrock/jest";
@@ -14233,7 +14233,7 @@ var require_isPlainObject = __commonJS({
14233
14233
  var funcToString = funcProto.toString;
14234
14234
  var hasOwnProperty = objectProto.hasOwnProperty;
14235
14235
  var objectCtorString = funcToString.call(Object);
14236
- function isPlainObject3(value) {
14236
+ function isPlainObject2(value) {
14237
14237
  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
14238
14238
  return false;
14239
14239
  }
@@ -14244,7 +14244,7 @@ var require_isPlainObject = __commonJS({
14244
14244
  var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
14245
14245
  return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
14246
14246
  }
14247
- module2.exports = isPlainObject3;
14247
+ module2.exports = isPlainObject2;
14248
14248
  }
14249
14249
  });
14250
14250
 
@@ -20880,7 +20880,7 @@ var require_file = __commonJS({
20880
20880
  var flatten = require_flatten();
20881
20881
  var difference = require_difference();
20882
20882
  var union = require_union();
20883
- var isPlainObject3 = require_isPlainObject();
20883
+ var isPlainObject2 = require_isPlainObject();
20884
20884
  var glob = require_commonjs5();
20885
20885
  var file = module2.exports = {};
20886
20886
  var pathSeparatorRe = /[\/\\]/g;
@@ -20905,7 +20905,7 @@ var require_file = __commonJS({
20905
20905
  return fs6.existsSync(filepath);
20906
20906
  };
20907
20907
  file.expand = function(...args) {
20908
- var options = isPlainObject3(args[0]) ? args.shift() : {};
20908
+ var options = isPlainObject2(args[0]) ? args.shift() : {};
20909
20909
  var patterns = Array.isArray(args[0]) ? args[0] : args;
20910
20910
  if (patterns.length === 0) {
20911
20911
  return [];
@@ -25638,6 +25638,7 @@ var require_archiver = __commonJS({
25638
25638
  var plugins_exports = {};
25639
25639
  __export(plugins_exports, {
25640
25640
  appsInToss: () => appsInToss,
25641
+ appsInTossAppJson: () => appsInTossAppJson,
25641
25642
  createArtifact: () => createArtifact
25642
25643
  });
25643
25644
  module.exports = __toCommonJS(plugins_exports);
@@ -25651,6 +25652,7 @@ var import_picocolors = __toESM(require_picocolors(), 1);
25651
25652
 
25652
25653
  // src/plugins/constants.ts
25653
25654
  init_cjs_shims();
25655
+ var REACT_NATIVE_VERSION = "0_72_6";
25654
25656
  var APP_MANIFEST_NAME = "app.json";
25655
25657
 
25656
25658
  // src/plugins/utils/compileHbc.ts
@@ -32704,50 +32706,6 @@ init_cjs_shims();
32704
32706
  var fs4 = __toESM(require("fs/promises"), 1);
32705
32707
  var path10 = __toESM(require("path"), 1);
32706
32708
 
32707
- // ../../.yarn/cache/es-toolkit-npm-1.33.0-f181eedbc7-4c8dea3167.zip/node_modules/es-toolkit/dist/index.mjs
32708
- init_cjs_shims();
32709
-
32710
- // ../../.yarn/cache/es-toolkit-npm-1.33.0-f181eedbc7-4c8dea3167.zip/node_modules/es-toolkit/dist/predicate/isPlainObject.mjs
32711
- init_cjs_shims();
32712
- function isPlainObject2(value) {
32713
- if (!value || typeof value !== "object") {
32714
- return false;
32715
- }
32716
- const proto = Object.getPrototypeOf(value);
32717
- const hasObjectPrototype = proto === null || proto === Object.prototype || Object.getPrototypeOf(proto) === null;
32718
- if (!hasObjectPrototype) {
32719
- return false;
32720
- }
32721
- return Object.prototype.toString.call(value) === "[object Object]";
32722
- }
32723
-
32724
- // ../../.yarn/cache/es-toolkit-npm-1.33.0-f181eedbc7-4c8dea3167.zip/node_modules/es-toolkit/dist/object/merge.mjs
32725
- init_cjs_shims();
32726
- function merge(target, source) {
32727
- const sourceKeys = Object.keys(source);
32728
- for (let i2 = 0; i2 < sourceKeys.length; i2++) {
32729
- const key = sourceKeys[i2];
32730
- const sourceValue = source[key];
32731
- const targetValue = target[key];
32732
- if (Array.isArray(sourceValue)) {
32733
- if (Array.isArray(targetValue)) {
32734
- target[key] = merge(targetValue, sourceValue);
32735
- } else {
32736
- target[key] = merge([], sourceValue);
32737
- }
32738
- } else if (isPlainObject2(sourceValue)) {
32739
- if (isPlainObject2(targetValue)) {
32740
- target[key] = merge(targetValue, sourceValue);
32741
- } else {
32742
- target[key] = merge({}, sourceValue);
32743
- }
32744
- } else if (targetValue === void 0 || sourceValue !== void 0) {
32745
- target[key] = sourceValue;
32746
- }
32747
- }
32748
- return target;
32749
- }
32750
-
32751
32709
  // src/plugins/utils/getPackageRoot.ts
32752
32710
  init_cjs_shims();
32753
32711
  var import_fs2 = __toESM(require("fs"), 1);
@@ -32771,26 +32729,29 @@ async function resolveAppManifestPath() {
32771
32729
  await fs4.access(appManifestPath, fs4.constants.F_OK);
32772
32730
  return appManifestPath;
32773
32731
  }
32732
+ async function readAppJson(appJsonPath) {
32733
+ const appJson = await fs4.readFile(appJsonPath, "utf8");
32734
+ return JSON.parse(appJson);
32735
+ }
32736
+ async function writeAppJson(appJsonPath, content) {
32737
+ await fs4.writeFile(appJsonPath, JSON.stringify(content));
32738
+ }
32774
32739
  async function updateAppJsonMetadata(metadata) {
32775
32740
  const appJsonPath = await resolveAppManifestPath();
32776
- const appJson = await fs4.readFile(appJsonPath, "utf8");
32777
- await fs4.writeFile(
32778
- appJsonPath,
32779
- JSON.stringify(
32780
- merge(JSON.parse(appJson), {
32781
- _metadata: metadata
32782
- })
32783
- )
32784
- );
32741
+ const appJson = await readAppJson(appJsonPath);
32742
+ await writeAppJson(appJsonPath, {
32743
+ ...appJson,
32744
+ _metadata: metadata
32745
+ });
32785
32746
  }
32786
32747
 
32787
32748
  // src/plugins/utils/createArtifact.ts
32788
32749
  async function createArtifact(options, deps) {
32789
- const { inputJsFiles, outfile, appJsonPath } = options;
32750
+ const { inputJsFiles, outfile, appJsonPath, reactNativeVersion } = options;
32790
32751
  const bundleFiles = await Promise.all(
32791
32752
  inputJsFiles.map(async (result) => {
32792
32753
  const { compressed } = await createCompressedBytecode(result.path, import_path3.default.dirname(outfile), deps);
32793
- return { path: compressed, name: `bundle.${result.platform}.hbc.gz` };
32754
+ return { path: compressed, name: `bundle.${result.platform}.${reactNativeVersion}.hbc.gz` };
32794
32755
  })
32795
32756
  );
32796
32757
  await updateAppJsonMetadata({
@@ -33209,6 +33170,7 @@ function appsInTossCreateArtifact(deploymentId) {
33209
33170
  handler: async ({ buildResults, appName, cwd }) => {
33210
33171
  const artifactOutfile = await createArtifact(
33211
33172
  {
33173
+ reactNativeVersion: REACT_NATIVE_VERSION,
33212
33174
  deploymentId,
33213
33175
  inputJsFiles: buildResults.map((buildResult) => ({
33214
33176
  path: buildResult.outfile,
@@ -33265,11 +33227,13 @@ function appsInTossDevServer(options) {
33265
33227
  config: {
33266
33228
  mpack: {
33267
33229
  devServer: {
33268
- enableRouterGen: false,
33269
33230
  middlewares: [
33270
33231
  createServerPermissionsMiddleware(options.permissions),
33271
33232
  createServerOAuthMiddleware(options.oauth)
33272
- ]
33233
+ ],
33234
+ routegen: {
33235
+ enabled: false
33236
+ }
33273
33237
  }
33274
33238
  }
33275
33239
  }
@@ -33328,6 +33292,7 @@ init_cjs_shims();
33328
33292
  // Annotate the CommonJS export names for ESM import in node:
33329
33293
  0 && (module.exports = {
33330
33294
  appsInToss,
33295
+ appsInTossAppJson,
33331
33296
  createArtifact
33332
33297
  });
33333
33298
  /*! Bundled license information: