@huaapp001/m-play 0.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 (58) hide show
  1. package/LICENSE +20 -0
  2. package/MPlay.podspec +20 -0
  3. package/README.md +33 -0
  4. package/android/build.gradle +83 -0
  5. package/android/gradle.properties +5 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/java/com/mplay/MPlayModule.kt +23 -0
  8. package/android/src/main/java/com/mplay/MPlayPackage.kt +33 -0
  9. package/ios/MPlay.h +5 -0
  10. package/ios/MPlay.mm +18 -0
  11. package/lib/module/NativeMPlay.js +5 -0
  12. package/lib/module/NativeMPlay.js.map +1 -0
  13. package/lib/module/config/index.js +29 -0
  14. package/lib/module/config/index.js.map +1 -0
  15. package/lib/module/index.js +6 -0
  16. package/lib/module/index.js.map +1 -0
  17. package/lib/module/package/assets/loading.png +0 -0
  18. package/lib/module/package/atoms/global.js +20 -0
  19. package/lib/module/package/atoms/global.js.map +1 -0
  20. package/lib/module/package/components/webview/index.js +89 -0
  21. package/lib/module/package/components/webview/index.js.map +1 -0
  22. package/lib/module/package/const/storage.js +12 -0
  23. package/lib/module/package/const/storage.js.map +1 -0
  24. package/lib/module/package/hooks/useAppGetUID.js +47 -0
  25. package/lib/module/package/hooks/useAppGetUID.js.map +1 -0
  26. package/lib/module/package/hooks/useGetNetwork.js +19 -0
  27. package/lib/module/package/hooks/useGetNetwork.js.map +1 -0
  28. package/lib/module/package/hooks/useGetUserToken.js +48 -0
  29. package/lib/module/package/hooks/useGetUserToken.js.map +1 -0
  30. package/lib/module/package/hooks/useGoogleAndIosLogin.js +34 -0
  31. package/lib/module/package/hooks/useGoogleAndIosLogin.js.map +1 -0
  32. package/lib/module/package/hooks/useInitAfInfo.js +183 -0
  33. package/lib/module/package/hooks/useInitAfInfo.js.map +1 -0
  34. package/lib/module/package/request/constants.js +14 -0
  35. package/lib/module/package/request/constants.js.map +1 -0
  36. package/lib/module/package/request/index.js +70 -0
  37. package/lib/module/package/request/index.js.map +1 -0
  38. package/lib/module/package/request/type.js +4 -0
  39. package/lib/module/package/request/type.js.map +1 -0
  40. package/lib/module/package/screens/home/index.js +90 -0
  41. package/lib/module/package/screens/home/index.js.map +1 -0
  42. package/lib/module/package/screens/middle/components/CustomProgressBar.js +131 -0
  43. package/lib/module/package/screens/middle/components/CustomProgressBar.js.map +1 -0
  44. package/lib/module/package/screens/middle/index.js +105 -0
  45. package/lib/module/package/screens/middle/index.js.map +1 -0
  46. package/lib/module/package/utils/extractQueryParams.js +13 -0
  47. package/lib/module/package/utils/extractQueryParams.js.map +1 -0
  48. package/lib/module/package/utils/getUrlFromDevice.js +36 -0
  49. package/lib/module/package/utils/getUrlFromDevice.js.map +1 -0
  50. package/lib/module/package/utils/optionalDependencies.js +70 -0
  51. package/lib/module/package/utils/optionalDependencies.js.map +1 -0
  52. package/lib/module/package/utils/rwd.js +20 -0
  53. package/lib/module/package/utils/rwd.js.map +1 -0
  54. package/lib/module/types/global.d.js +4 -0
  55. package/lib/module/types/global.d.js.map +1 -0
  56. package/lib/module/types/optional-modules.d.js +2 -0
  57. package/lib/module/types/optional-modules.d.js.map +1 -0
  58. package/package.json +173 -0
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ export const extractQueryParams = url => {
4
+ // 尝试用正则回退
5
+ const regex = /[?&]([^=#]+)=([^&#]*)/g;
6
+ const params = {};
7
+ let match;
8
+ while (match = regex.exec(url)) {
9
+ params[match[1]] = decodeURIComponent(match[2]);
10
+ }
11
+ return params;
12
+ };
13
+ //# sourceMappingURL=extractQueryParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["extractQueryParams","url","regex","params","match","exec","decodeURIComponent"],"sourceRoot":"../../../../src","sources":["package/utils/extractQueryParams.ts"],"mappings":";;AAAA,OAAO,MAAMA,kBAAkB,GAAIC,GAAW,IAAK;EACjD;EACA,MAAMC,KAAK,GAAG,wBAAwB;EACtC,MAAMC,MAA8B,GAAG,CAAC,CAAC;EACzC,IAAIC,KAAK;EACT,OAAQA,KAAK,GAAGF,KAAK,CAACG,IAAI,CAACJ,GAAG,CAAC,EAAG;IAChCE,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAGE,kBAAkB,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC;EACjD;EACA,OAAOD,MAAM;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ import { axiosGet } from "../request/index.js";
4
+ import { Dimensions, Platform } from 'react-native';
5
+
6
+ /** 获取系统时区 */
7
+ const obtainDeviceTimeZone = () => {
8
+ const timeZone = Intl?.DateTimeFormat?.().resolvedOptions()?.timeZone;
9
+ return timeZone || 'UTC';
10
+ };
11
+ export const getUrlFromDevice = async () => {
12
+ try {
13
+ const platformOS = Platform.OS;
14
+ const width = Dimensions.get('screen').width;
15
+ const height = Dimensions.get('screen').height;
16
+ const systemTimeZone = obtainDeviceTimeZone();
17
+ const ipData = await axiosGet('/get_ip_info/');
18
+ let params = {
19
+ platform: platformOS,
20
+ screenWidth: `${Math.ceil(width)}`,
21
+ screenHeight: `${Math.ceil(height)}`,
22
+ systemTimeZone,
23
+ ip: ipData.data?.ip || '',
24
+ nid: global.GLOBAL_UID ? `${global.GLOBAL_UID}` : undefined
25
+ };
26
+ const data = await axiosGet('/match_device_info/', {
27
+ ...params
28
+ });
29
+ // TODO 可删除
30
+ console.log('匹配的设备信息---->', data);
31
+ return data.data?.linkUrl;
32
+ } catch (error) {
33
+ return undefined;
34
+ }
35
+ };
36
+ //# sourceMappingURL=getUrlFromDevice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["axiosGet","Dimensions","Platform","obtainDeviceTimeZone","timeZone","Intl","DateTimeFormat","resolvedOptions","getUrlFromDevice","platformOS","OS","width","get","height","systemTimeZone","ipData","params","platform","screenWidth","Math","ceil","screenHeight","ip","data","nid","global","GLOBAL_UID","undefined","console","log","linkUrl","error"],"sourceRoot":"../../../../src","sources":["package/utils/getUrlFromDevice.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,qBAAY;AACrC,SAASC,UAAU,EAAEC,QAAQ,QAAQ,cAAc;;AAEnD;AACA,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACjC,MAAMC,QAAQ,GAAGC,IAAI,EAAEC,cAAc,GAAG,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEH,QAAQ;EACrE,OAAOA,QAAQ,IAAI,KAAK;AAC1B,CAAC;AAED,OAAO,MAAMI,gBAAgB,GAAG,MAAAA,CAAA,KAAY;EAC1C,IAAI;IACF,MAAMC,UAAU,GAAGP,QAAQ,CAACQ,EAAE;IAC9B,MAAMC,KAAK,GAAGV,UAAU,CAACW,GAAG,CAAC,QAAQ,CAAC,CAACD,KAAK;IAC5C,MAAME,MAAM,GAAGZ,UAAU,CAACW,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM;IAC9C,MAAMC,cAAc,GAAGX,oBAAoB,CAAC,CAAC;IAC7C,MAAMY,MAAM,GAAG,MAAMf,QAAQ,CAAC,eAAe,CAAC;IAC9C,IAAIgB,MAAM,GAAG;MACXC,QAAQ,EAAER,UAAU;MACpBS,WAAW,EAAE,GAAGC,IAAI,CAACC,IAAI,CAACT,KAAK,CAAC,EAAE;MAClCU,YAAY,EAAE,GAAGF,IAAI,CAACC,IAAI,CAACP,MAAM,CAAC,EAAE;MACpCC,cAAc;MACdQ,EAAE,EAAEP,MAAM,CAACQ,IAAI,EAAED,EAAE,IAAI,EAAE;MACzBE,GAAG,EAAEC,MAAM,CAACC,UAAU,GAAG,GAAGD,MAAM,CAACC,UAAU,EAAE,GAAGC;IACpD,CAAC;IACD,MAAMJ,IAAI,GAAG,MAAMvB,QAAQ,CAAC,qBAAqB,EAAE;MAAE,GAAGgB;IAAO,CAAC,CAAC;IACjE;IACAY,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEN,IAAI,CAAC;IACjC,OAAOA,IAAI,CAACA,IAAI,EAAEO,OAAO;EAC3B,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAOJ,SAAS;EAClB;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * 可选依赖管理器
5
+ * 用于处理可能未安装的第三方依赖
6
+ */
7
+
8
+ class OptionalDependencyManager {
9
+ cache = new Map();
10
+
11
+ /**
12
+ * 安全地加载可选模块
13
+ */
14
+ load(moduleName) {
15
+ // 检查缓存
16
+ if (this.cache.has(moduleName)) {
17
+ return this.cache.get(moduleName);
18
+ }
19
+ let result;
20
+ try {
21
+ const module = require(moduleName);
22
+ result = {
23
+ module,
24
+ isAvailable: true
25
+ };
26
+ } catch (error) {
27
+ result = {
28
+ module: null,
29
+ isAvailable: false,
30
+ error: error
31
+ };
32
+ }
33
+ this.cache.set(moduleName, result);
34
+ return result;
35
+ }
36
+
37
+ /**
38
+ * 获取模块,如果不可用则抛出友好的错误
39
+ */
40
+ getRequired(moduleName, featureName) {
41
+ const {
42
+ module,
43
+ isAvailable
44
+ } = this.load(moduleName);
45
+ if (!isAvailable) {
46
+ throw new Error(`${featureName} 功能需要安装 ${moduleName}。\n` + `请运行: yarn add ${moduleName}`);
47
+ }
48
+ return module;
49
+ }
50
+
51
+ /**
52
+ * 检查多个依赖是否都可用
53
+ */
54
+ checkDependencies(dependencies) {
55
+ return dependencies.every(dep => this.load(dep).isAvailable);
56
+ }
57
+ }
58
+ export const optionalDeps = new OptionalDependencyManager();
59
+
60
+ // 导出常用的可选依赖
61
+ export const getGoogleSignIn = () => {
62
+ const {
63
+ GoogleSignin
64
+ } = optionalDeps.getRequired('@react-native-google-signin/google-signin', 'Google 登录');
65
+ return GoogleSignin;
66
+ };
67
+ export const getFirebaseAuth = () => {
68
+ return optionalDeps.getRequired('@react-native-firebase/auth', 'Firebase 认证');
69
+ };
70
+ //# sourceMappingURL=optionalDependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OptionalDependencyManager","cache","Map","load","moduleName","has","get","result","module","require","isAvailable","error","set","getRequired","featureName","Error","checkDependencies","dependencies","every","dep","optionalDeps","getGoogleSignIn","GoogleSignin","getFirebaseAuth"],"sourceRoot":"../../../../src","sources":["package/utils/optionalDependencies.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAQA,MAAMA,yBAAyB,CAAC;EACtBC,KAAK,GAAgC,IAAIC,GAAG,CAAC,CAAC;;EAEtD;AACF;AACA;EACEC,IAAIA,CAACC,UAAkB,EAAkB;IACvC;IACA,IAAI,IAAI,CAACH,KAAK,CAACI,GAAG,CAACD,UAAU,CAAC,EAAE;MAC9B,OAAO,IAAI,CAACH,KAAK,CAACK,GAAG,CAACF,UAAU,CAAC;IACnC;IAEA,IAAIG,MAAsB;IAE1B,IAAI;MACF,MAAMC,MAAM,GAAGC,OAAO,CAACL,UAAU,CAAC;MAClCG,MAAM,GAAG;QACPC,MAAM;QACNE,WAAW,EAAE;MACf,CAAC;IACH,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdJ,MAAM,GAAG;QACPC,MAAM,EAAE,IAAI;QACZE,WAAW,EAAE,KAAK;QAClBC,KAAK,EAAEA;MACT,CAAC;IACH;IAEA,IAAI,CAACV,KAAK,CAACW,GAAG,CAACR,UAAU,EAAEG,MAAM,CAAC;IAClC,OAAOA,MAAM;EACf;;EAEA;AACF;AACA;EACEM,WAAWA,CAACT,UAAkB,EAAEU,WAAmB,EAAO;IACxD,MAAM;MAAEN,MAAM;MAAEE;IAAY,CAAC,GAAG,IAAI,CAACP,IAAI,CAACC,UAAU,CAAC;IAErD,IAAI,CAACM,WAAW,EAAE;MAChB,MAAM,IAAIK,KAAK,CACb,GAAGD,WAAW,WAAWV,UAAU,KAAK,GACtC,iBAAiBA,UAAU,EAC/B,CAAC;IACH;IAEA,OAAOI,MAAM;EACf;;EAEA;AACF;AACA;EACEQ,iBAAiBA,CAACC,YAAsB,EAAW;IACjD,OAAOA,YAAY,CAACC,KAAK,CAAEC,GAAG,IAAK,IAAI,CAAChB,IAAI,CAACgB,GAAG,CAAC,CAACT,WAAW,CAAC;EAChE;AACF;AAEA,OAAO,MAAMU,YAAY,GAAG,IAAIpB,yBAAyB,CAAC,CAAC;;AAE3D;AACA,OAAO,MAAMqB,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAM;IAAEC;EAAa,CAAC,GAAGF,YAAY,CAACP,WAAW,CAC/C,2CAA2C,EAC3C,WACF,CAAC;EACD,OAAOS,YAAY;AACrB,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACnC,OAAOH,YAAY,CAACP,WAAW,CAC7B,6BAA6B,EAC7B,aACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ import { Dimensions, StyleSheet } from 'react-native';
4
+ export const rwd = function rwd(width) {
5
+ if (width === 0) {
6
+ return 0;
7
+ }
8
+ let hairlineWidth = StyleSheet.hairlineWidth;
9
+ if (Math.abs(width) === 1) {
10
+ return hairlineWidth * (width > 0 ? 1 : -1);
11
+ }
12
+ const deviceWidth = Dimensions.get('window').width;
13
+ const wPixelScale = deviceWidth / 750;
14
+ let actualWidth = wPixelScale * width;
15
+ if (Math.abs(actualWidth) <= hairlineWidth) {
16
+ return hairlineWidth * (width > 0 ? 1 : -1);
17
+ }
18
+ return Math.floor(actualWidth);
19
+ };
20
+ //# sourceMappingURL=rwd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Dimensions","StyleSheet","rwd","width","hairlineWidth","Math","abs","deviceWidth","get","wPixelScale","actualWidth","floor"],"sourceRoot":"../../../../src","sources":["package/utils/rwd.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,UAAU,QAAQ,cAAc;AAErD,OAAO,MAAMC,GAAG,GAAG,SAASA,GAAGA,CAACC,KAAa,EAAE;EAC3C,IAAIA,KAAK,KAAK,CAAC,EAAE;IACb,OAAO,CAAC;EACZ;EACA,IAAIC,aAAa,GAAGH,UAAU,CAACG,aAAa;EAC5C,IAAIC,IAAI,CAACC,GAAG,CAACH,KAAK,CAAC,KAAK,CAAC,EAAE;IACvB,OAAOC,aAAa,IAAID,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EAC/C;EACA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAAC,QAAQ,CAAC,CAACL,KAAK;EAClD,MAAMM,WAAW,GAAGF,WAAW,GAAG,GAAG;EACrC,IAAIG,WAAW,GAAGD,WAAW,GAAGN,KAAK;EACrC,IAAIE,IAAI,CAACC,GAAG,CAACI,WAAW,CAAC,IAAIN,aAAa,EAAE;IACxC,OAAOA,aAAa,IAAID,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EAC/C;EACA,OAAOE,IAAI,CAACM,KAAK,CAACD,WAAW,CAAC;AAClC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=global.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/global.d.ts"],"mappings":";;AAKA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=optional-modules.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/optional-modules.d.ts"],"mappings":"","ignoreList":[]}
package/package.json ADDED
@@ -0,0 +1,173 @@
1
+ {
2
+ "name": "@huaapp001/m-play",
3
+ "version": "0.0.1",
4
+ "description": "m-play",
5
+ "main": "./lib/module/index.js",
6
+ "module": "./lib/module/index.js",
7
+ "types": "./lib/typescript/src/index.d.ts",
8
+ "private": false,
9
+ "exports": {
10
+ ".": {
11
+ "import": "./lib/module/index.js",
12
+ "require": "./lib/module/index.js",
13
+ "source": "./src/index.tsx",
14
+ "types": "./lib/typescript/src/index.d.ts",
15
+ "default": "./lib/module/index.js"
16
+ },
17
+ "./package.json": "./package.json"
18
+ },
19
+ "files": [
20
+ "lib",
21
+ "android",
22
+ "ios",
23
+ "cpp",
24
+ "*.podspec",
25
+ "react-native.config.js",
26
+ "!ios/build",
27
+ "!android/build",
28
+ "!android/gradle",
29
+ "!android/gradlew",
30
+ "!android/gradlew.bat",
31
+ "!android/local.properties",
32
+ "!**/__tests__",
33
+ "!**/__fixtures__",
34
+ "!**/__mocks__",
35
+ "!**/.*"
36
+ ],
37
+ "scripts": {
38
+ "example": "yarn workspace m-play-example",
39
+ "test": "jest",
40
+ "typecheck": "tsc",
41
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
42
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
43
+ "prepare": "bob build",
44
+ "watch": "nodemon --watch src --ext ts,tsx,js,jsx --exec 'yarn bob build && yalc push'",
45
+ "release": "release-it --only-version"
46
+ },
47
+ "keywords": [
48
+ "react-native",
49
+ "ios",
50
+ "android"
51
+ ],
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "git+https://github.com/1111EWEEWEWEWEWEWE/m-play.git"
55
+ },
56
+ "author": "m-play <1@qq.com> (https://github.com/1111EWEEWEWEWEWEWE)",
57
+ "license": "MIT",
58
+ "bugs": {
59
+ "url": "https://github.com/1111EWEEWEWEWEWEWE/m-play/issues"
60
+ },
61
+ "homepage": "https://github.com/1111EWEEWEWEWEWEWE/m-play#readme",
62
+ "publishConfig": {
63
+ "registry": "https://registry.npmjs.org/",
64
+ "access": "public"
65
+ },
66
+ "devDependencies": {
67
+ "@commitlint/config-conventional": "^19.6.0",
68
+ "@eslint/compat": "^1.2.7",
69
+ "@eslint/eslintrc": "^3.3.0",
70
+ "@eslint/js": "^9.22.0",
71
+ "@evilmartians/lefthook": "^1.5.0",
72
+ "@react-native-async-storage/async-storage": "^2.1.2",
73
+ "@react-native-clipboard/clipboard": "^1.16.2",
74
+ "@react-native-community/cli": "15.0.0-alpha.2",
75
+ "@react-native-community/netinfo": "^11.4.1",
76
+ "@react-native-firebase/app": "^22.2.0",
77
+ "@react-native-firebase/auth": "^22.2.0",
78
+ "@react-native-google-signin/google-signin": "^14.0.1",
79
+ "@react-native/babel-preset": "0.79.2",
80
+ "@react-native/eslint-config": "^0.78.0",
81
+ "@release-it/conventional-changelog": "^9.0.2",
82
+ "@tianzhitong/js-bridge": "^1.0.0",
83
+ "@types/jest": "^29.5.5",
84
+ "@types/react": "^19.0.0",
85
+ "axios": "^1.9.0",
86
+ "commitlint": "^19.6.1",
87
+ "del-cli": "^5.1.0",
88
+ "eslint": "^9.22.0",
89
+ "eslint-config-prettier": "^10.1.1",
90
+ "eslint-plugin-prettier": "^5.2.3",
91
+ "jest": "^29.7.0",
92
+ "jotai": "^2.12.5",
93
+ "nodemon": "^3.1.10",
94
+ "prettier": "^3.0.3",
95
+ "react-native-builder-bob": "^0.30.0",
96
+ "react-native-webview": "^13.13.5",
97
+ "release-it": "^17.10.0",
98
+ "turbo": "^1.10.7",
99
+ "typescript": "^5.8.3"
100
+ },
101
+ "peerDependencies": {
102
+ "@react-native-async-storage/async-storage": "^2.1.2",
103
+ "@react-native-clipboard/clipboard": "^1.16.2",
104
+ "@react-native-community/netinfo": "^11.4.1",
105
+ "@react-native-firebase/app": "^22.2.0",
106
+ "@react-native-firebase/auth": "^22.2.0",
107
+ "@react-native-google-signin/google-signin": "^14.0.1",
108
+ "jotai": "^2.12.5",
109
+ "react": ">=17.0.0",
110
+ "react-native": "*",
111
+ "react-native-appsflyer": "^6.16.2",
112
+ "react-native-safe-area-context": "^5.4.1",
113
+ "react-native-webview": "^13.13.5"
114
+ },
115
+ "workspaces": [
116
+ "example"
117
+ ],
118
+ "packageManager": "yarn@3.6.1",
119
+ "jest": {
120
+ "preset": "react-native",
121
+ "modulePathIgnorePatterns": [
122
+ "<rootDir>/example/node_modules",
123
+ "<rootDir>/lib/"
124
+ ]
125
+ },
126
+ "release-it": {
127
+ "npm": {
128
+ "publish": true
129
+ },
130
+ "github": {
131
+ "release": true
132
+ },
133
+ "plugins": {
134
+ "@release-it/conventional-changelog": {
135
+ "preset": {
136
+ "name": "angular"
137
+ }
138
+ }
139
+ }
140
+ },
141
+ "prettier": {
142
+ "quoteProps": "consistent",
143
+ "singleQuote": true,
144
+ "tabWidth": 2,
145
+ "trailingComma": "es5",
146
+ "useTabs": false
147
+ },
148
+ "react-native-builder-bob": {
149
+ "source": "src",
150
+ "output": "lib",
151
+ "targets": [
152
+ [
153
+ "module",
154
+ {
155
+ "esm": true
156
+ }
157
+ ]
158
+ ]
159
+ },
160
+ "codegenConfig": {
161
+ "name": "MPlaySpec",
162
+ "type": "modules",
163
+ "jsSrcsDir": "src",
164
+ "android": {
165
+ "javaPackageName": "com.mplay"
166
+ }
167
+ },
168
+ "create-react-native-library": {
169
+ "languages": "kotlin-objc",
170
+ "type": "turbo-module",
171
+ "version": "0.50.3"
172
+ }
173
+ }