@tamagui/vite-plugin 1.52.2 → 1.52.3

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.
@@ -0,0 +1,192 @@
1
+ import { esbuildFlowPlugin } from "@bunchtogether/vite-plugin-flow";
2
+ import { extensions } from "./extensions";
3
+ function nativePlugin(options) {
4
+ return {
5
+ name: "tamagui-native",
6
+ enforce: "post",
7
+ config: (config) => {
8
+ config.plugins ||= [];
9
+ config.plugins.push({
10
+ name: `hot-update`,
11
+ handleHotUpdate(ctx) {
12
+ console.log("handle hot update", ctx);
13
+ }
14
+ });
15
+ config.define ||= {};
16
+ config.define["process.env.REACT_NATIVE_SERVER_PUBLIC_PORT"] = JSON.stringify(
17
+ `${options.port}`
18
+ );
19
+ if (!config.build)
20
+ config.build = {};
21
+ config.build.modulePreload = { polyfill: false };
22
+ config.build.assetsInlineLimit = 1e8;
23
+ config.build.chunkSizeWarningLimit = 1e8;
24
+ config.build.cssCodeSplit = false;
25
+ config.build.reportCompressedSize = false;
26
+ config.base = void 0;
27
+ config.resolve ??= {};
28
+ config.resolve.extensions = extensions;
29
+ config.optimizeDeps ??= {};
30
+ config.optimizeDeps.esbuildOptions ??= {};
31
+ config.optimizeDeps.esbuildOptions.resolveExtensions = extensions;
32
+ config.optimizeDeps.esbuildOptions.plugins ??= [];
33
+ config.optimizeDeps.esbuildOptions.plugins.push(
34
+ esbuildFlowPlugin(
35
+ /node_modules\/(react-native\/|@react-native\/)/,
36
+ (_) => "jsx",
37
+ {
38
+ all: true
39
+ }
40
+ )
41
+ );
42
+ config.optimizeDeps.include ??= [];
43
+ config.optimizeDeps.include.push("react-native");
44
+ config.optimizeDeps.esbuildOptions.loader ??= {};
45
+ config.optimizeDeps.esbuildOptions.loader[".js"] = "jsx";
46
+ config.optimizeDeps.esbuildOptions.plugins.push({
47
+ name: "react-native-assets",
48
+ setup(build) {
49
+ build.onResolve(
50
+ {
51
+ filter: /\.(png|jpg|gif|webp)$/
52
+ },
53
+ async ({ path, namespace }) => {
54
+ return {
55
+ path: "",
56
+ external: true
57
+ };
58
+ }
59
+ );
60
+ }
61
+ });
62
+ config.build.rollupOptions ??= {};
63
+ config.build.rollupOptions.input = config.root;
64
+ config.build.rollupOptions.output ??= {};
65
+ config.build.rollupOptions.plugins ??= [];
66
+ config.build.rollupOptions.external = [
67
+ "react-native",
68
+ "react",
69
+ "react/jsx-runtime",
70
+ "react/jsx-dev-runtime"
71
+ ];
72
+ if (!Array.isArray(config.build.rollupOptions.plugins)) {
73
+ throw `x`;
74
+ }
75
+ if (process.env.DEBUG) {
76
+ console.log("config..", config);
77
+ }
78
+ config.build.commonjsOptions = {
79
+ include: /node_modules\/react\//
80
+ };
81
+ config.build.rollupOptions.plugins.push({
82
+ name: `swap-react-native-hmr`,
83
+ async load(id) {
84
+ console.log("wtf", id);
85
+ }
86
+ });
87
+ const updateOutputOptions = (out) => {
88
+ out.inlineDynamicImports = true;
89
+ out.manualChunks = void 0;
90
+ };
91
+ if (Array.isArray(config.build.rollupOptions.output)) {
92
+ for (const o in config.build.rollupOptions.output)
93
+ updateOutputOptions(o);
94
+ } else {
95
+ updateOutputOptions(config.build.rollupOptions.output);
96
+ }
97
+ }
98
+ };
99
+ }
100
+ const RNExportNames = [
101
+ "AccessibilityInfo",
102
+ "ActivityIndicator",
103
+ "Button",
104
+ "DatePickerIOS",
105
+ "DrawerLayoutAndroid",
106
+ "FlatList",
107
+ "Image",
108
+ "ImageBackground",
109
+ "InputAccessoryView",
110
+ "KeyboardAvoidingView",
111
+ "MaskedViewIOS",
112
+ "Modal",
113
+ "Pressable",
114
+ "ProgressBarAndroid",
115
+ "ProgressViewIOS",
116
+ "RefreshControl",
117
+ "SafeAreaView",
118
+ "ScrollView",
119
+ "SectionList",
120
+ "Slider",
121
+ "StatusBar",
122
+ "Switch",
123
+ "Text",
124
+ "TextInput",
125
+ "Touchable",
126
+ "TouchableHighlight",
127
+ "TouchableNativeFeedback",
128
+ "TouchableOpacity",
129
+ "TouchableWithoutFeedback",
130
+ "View",
131
+ "VirtualizedList",
132
+ "VirtualizedSectionList",
133
+ "ActionSheetIOS",
134
+ "Alert",
135
+ "Animated",
136
+ "Appearance",
137
+ "AppRegistry",
138
+ "AppState",
139
+ "AsyncStorage",
140
+ "BackHandler",
141
+ "Clipboard",
142
+ "DeviceInfo",
143
+ "DevSettings",
144
+ "Dimensions",
145
+ "Easing",
146
+ "findNodeHandle",
147
+ "I18nManager",
148
+ "ImagePickerIOS",
149
+ "InteractionManager",
150
+ "Keyboard",
151
+ "LayoutAnimation",
152
+ "Linking",
153
+ "LogBox",
154
+ "NativeDialogManagerAndroid",
155
+ "NativeEventEmitter",
156
+ "Networking",
157
+ "PanResponder",
158
+ "PermissionsAndroid",
159
+ "PixelRatio",
160
+ // 'PushNotificationIOS',
161
+ "Settings",
162
+ "Share",
163
+ "StyleSheet",
164
+ "Systrace",
165
+ "ToastAndroid",
166
+ "TurboModuleRegistry",
167
+ "UIManager",
168
+ "unstable_batchedUpdates",
169
+ "useColorScheme",
170
+ "useWindowDimensions",
171
+ "UTFSequence",
172
+ "Vibration",
173
+ "YellowBox",
174
+ "DeviceEventEmitter",
175
+ "DynamicColorIOS",
176
+ "NativeAppEventEmitter",
177
+ "NativeModules",
178
+ "Platform",
179
+ "PlatformColor",
180
+ "processColor",
181
+ "requireNativeComponent",
182
+ "RootTagContext"
183
+ // 'unstable_enableLogBox',
184
+ // 'ColorPropType',
185
+ // 'EdgeInsetsPropType',
186
+ // 'PointPropType',
187
+ // 'ViewPropTypes',
188
+ ];
189
+ export {
190
+ nativePlugin
191
+ };
192
+ //# sourceMappingURL=nativePlugin.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/nativePlugin.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -1,101 +1,7 @@
1
- import { readFile } from "fs/promises";
2
- import { build } from "esbuild";
3
- import flowRemoveTypes from "flow-remove-types";
4
- import { extensions } from "./extensions";
5
1
  async function nativePrebuild() {
6
- console.log(
7
- `Prebuilding React Native (one time cost...) note: disabling we have committed pre-built files to repo`
8
- );
9
- return;
10
- await Promise.all([
11
- // react
12
- build({
13
- bundle: true,
14
- entryPoints: ["react"],
15
- outfile: "react.js",
16
- format: "cjs",
17
- target: "node14",
18
- jsx: "transform",
19
- jsxFactory: "react",
20
- allowOverwrite: true,
21
- platform: "node",
22
- define: {
23
- __DEV__: "true",
24
- "process.env.NODE_ENV": `"development"`
25
- },
26
- logLevel: "warning",
27
- resolveExtensions: extensions
28
- }),
29
- // react-jsx-runtime
30
- build({
31
- bundle: true,
32
- entryPoints: ["react/jsx-runtime"],
33
- outfile: "react-jsx-runtime.js",
34
- format: "cjs",
35
- target: "node14",
36
- jsx: "transform",
37
- jsxFactory: "react",
38
- external: ["react"],
39
- allowOverwrite: true,
40
- platform: "node",
41
- define: {
42
- // metro serves this in production mode
43
- __DEV__: "false",
44
- "process.env.NODE_ENV": `"production"`
45
- },
46
- logLevel: "warning",
47
- resolveExtensions: extensions
48
- }),
49
- // react native
50
- build({
51
- bundle: true,
52
- entryPoints: ["/Users/n8/tamagui/node_modules/react-native/index.js"],
53
- outfile: "react-native.js",
54
- format: "cjs",
55
- target: "node14",
56
- jsx: "transform",
57
- jsxFactory: "react",
58
- allowOverwrite: true,
59
- platform: "node",
60
- loader: {
61
- ".png": "dataurl",
62
- ".jpg": "dataurl",
63
- ".jpeg": "dataurl",
64
- ".gif": "dataurl"
65
- },
66
- define: {
67
- __DEV__: "true",
68
- "process.env.NODE_ENV": `"development"`
69
- },
70
- logLevel: "warning",
71
- resolveExtensions: extensions,
72
- external: ["react", "react/jsx-runtime.js", "react/jsx-runtime"],
73
- plugins: [
74
- {
75
- name: "remove-flow",
76
- setup(build2) {
77
- build2.onLoad(
78
- {
79
- filter: /.*.js/
80
- },
81
- async (input) => {
82
- if (!input.path.includes("react-native")) {
83
- return;
84
- }
85
- const code = await readFile(input.path, "utf-8");
86
- const output = flowRemoveTypes(code, { pretty: true });
87
- const contents = output.toString().replace(/static\s+\+/g, "static ");
88
- return {
89
- contents,
90
- loader: "jsx"
91
- };
92
- }
93
- );
94
- }
95
- }
96
- ]
97
- })
98
- ]);
2
+ console.log(`Prebuilding React Native (one time cost...)`);
3
+ console.log("disabled as its working and committed");
4
+ return null;
99
5
  }
100
6
  export {
101
7
  nativePrebuild
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/nativePrebuild.ts"],
4
- "mappings": "AAAA,SAAS,gBAAgB;AAEzB,SAAS,aAAa;AACtB,OAAO,qBAAqB;AAE5B,SAAS,kBAAkB;AAE3B,eAAsB,iBAAiB;AAErC,UAAQ;AAAA,IACN;AAAA,EACF;AAEA;AAEA,QAAM,QAAQ,IAAI;AAAA;AAAA,IAEhB,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,aAAa,CAAC,OAAO;AAAA,MACrB,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,QACT,wBAAwB;AAAA,MAC1B;AAAA,MACA,UAAU;AAAA,MACV,mBAAmB;AAAA,IACrB,CAAC;AAAA;AAAA,IAED,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,aAAa,CAAC,mBAAmB;AAAA,MACjC,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,UAAU,CAAC,OAAO;AAAA,MAClB,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA;AAAA,QAEN,SAAS;AAAA,QACT,wBAAwB;AAAA,MAC1B;AAAA,MACA,UAAU;AAAA,MACV,mBAAmB;AAAA,IACrB,CAAC;AAAA;AAAA,IAED,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,aAAa,CAAC,sDAAsD;AAAA,MACpE,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,MACA,QAAQ;AAAA,QACN,SAAS;AAAA,QACT,wBAAwB;AAAA,MAC1B;AAAA,MACA,UAAU;AAAA,MACV,mBAAmB;AAAA,MACnB,UAAU,CAAC,SAAS,wBAAwB,mBAAmB;AAAA,MAC/D,SAAS;AAAA,QACP;AAAA,UACE,MAAM;AAAA,UACN,MAAMA,QAAO;AACX,YAAAA,OAAM;AAAA,cACJ;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA,OAAO,UAAU;AACf,oBAAI,CAAC,MAAM,KAAK,SAAS,cAAc,GAAG;AACxC;AAAA,gBACF;AACA,sBAAM,OAAO,MAAM,SAAS,MAAM,MAAM,OAAO;AAC/C,sBAAM,SAAS,gBAAgB,MAAM,EAAE,QAAQ,KAAK,CAAC;AACrD,sBAAM,WAAW,OAAO,SAAS,EAAE,QAAQ,gBAAgB,SAAS;AACpE,uBAAO;AAAA,kBACL;AAAA,kBACA,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;",
5
- "names": ["build"]
4
+ "mappings": "AAQA,eAAsB,iBAAiB;AAErC,UAAQ,IAAI,6CAA6C;AAGzD,UAAQ,IAAI,uCAAuC;AACnD,SAAO;AAmGT;",
5
+ "names": []
6
6
  }
@@ -45,7 +45,7 @@ function tamaguiPlugin(options) {
45
45
  },
46
46
  optimizeDeps: {
47
47
  // disabled: false,
48
- include: ["styleq", "react-native-reanimated"],
48
+ include: options.target !== "native" ? ["styleq", "react-native-reanimated"] : [],
49
49
  esbuildOptions: {
50
50
  jsx: "transform",
51
51
  // plugins: [
@@ -87,15 +87,15 @@ function tamaguiPlugin(options) {
87
87
  ".mjs"
88
88
  ],
89
89
  alias: {
90
- "react-native/Libraries/Renderer/shims/ReactFabric": "@tamagui/proxy-worm",
91
- "react-native/Libraries/Utilities/codegenNativeComponent": "@tamagui/proxy-worm",
92
- "react-native-svg": "@tamagui/react-native-svg",
93
90
  ...options.target !== "native" && {
94
- "react-native": "react-native-web"
95
- },
96
- ...options.useReactNativeWebLite && {
97
- "react-native": "react-native-web-lite",
98
- "react-native-web": "react-native-web-lite"
91
+ "react-native/Libraries/Renderer/shims/ReactFabric": "@tamagui/proxy-worm",
92
+ "react-native/Libraries/Utilities/codegenNativeComponent": "@tamagui/proxy-worm",
93
+ "react-native-svg": "@tamagui/react-native-svg",
94
+ "react-native": "react-native-web",
95
+ ...options.useReactNativeWebLite && {
96
+ "react-native": "react-native-web-lite",
97
+ "react-native-web": "react-native-web-lite"
98
+ }
99
99
  }
100
100
  }
101
101
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugin.ts"],
4
- "mappings": "AACA,SAAS,0BAA0B;AAO5B,SAAS,cACd,SAKQ;AACR,QAAM,UAAU,QAAQ,4BAA4B,OAAO,mBAAmB,OAAO;AAErF,QAAM,aAAa,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,QAAQ,YAAY,WAAW,eAAe,CAAC,CAAC;AACnF,QAAM,gBAAgB,IAAI;AAAA,IACxB,GAAG,WAAW,KAAK,GAAG;AAAA,IACtB;AAAA,EACF;AAEA,QAAM,SAAiB;AAAA,IACrB,MAAM;AAAA,IACN,SAAS;AAAA,IAET,MAAM,WAAW;AACf,aAAM,mCAAS,KAAK,CAAC,QAAQ;AAC3B,mCAAK;AAAA,MACP;AAAA,IACF;AAAA,IAEA,OAAO,YAAY,KAAK;AACtB,aAAO;AAAA,QACL,SAAS;AAAA;AAAA;AAAA;AAAA,QAIT;AAAA,QACA,QAAQ;AAAA;AAAA,UAEN,cAAc,CAAC;AAAA,UACf,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,SAAS,GAAG,IAAI,SAAS,gBAAgB,OAAO;AAAA,UAChD,wBAAwB,KAAK,UAAU,QAAQ,IAAI,YAAY,IAAI,IAAI;AAAA,UACvE,8BAA8B,KAAK;AAAA,YACjC,QAAQ,IAAI,kBAAkB;AAAA,UAChC;AAAA,UACA,0BAA0B,KAAK,UAAU,QAAQ,IAAI,cAAc,EAAE;AAAA,UACrE,4BAA4B,KAAK,UAAU,QAAQ,IAAI,gBAAgB,EAAE;AAAA,UACzE,yBAAyB,KAAK,UAAU,KAAK;AAAA,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMA,KAAK;AAAA,UACH,YAAY;AAAA,QACd;AAAA,QACA,cAAc;AAAA;AAAA,UAEZ,SAAS,CAAC,UAAU,yBAAyB;AAAA,UAC7C,gBAAgB;AAAA,YACd,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YASL,mBAAmB;AAAA,cACjB;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,QAAQ;AAAA,cACN,OAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,QACA,SAAS;AAAA;AAAA;AAAA,UAGP,YAAY;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,OAAO;AAAA,YACL,qDAAqD;AAAA,YACrD,2DACE;AAAA,YACF,oBAAoB;AAAA,YACpB,GAAI,QAAQ,WAAW,YAAY;AAAA,cACjC,gBAAgB;AAAA,YAClB;AAAA,YACA,GAAI,QAAQ,yBAAyB;AAAA,cACnC,gBAAgB;AAAA,cAChB,oBAAoB;AAAA,YACtB;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
4
+ "mappings": "AACA,SAAS,0BAA0B;AAO5B,SAAS,cACd,SAKQ;AACR,QAAM,UAAU,QAAQ,4BAA4B,OAAO,mBAAmB,OAAO;AAErF,QAAM,aAAa,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,QAAQ,YAAY,WAAW,eAAe,CAAC,CAAC;AACnF,QAAM,gBAAgB,IAAI;AAAA,IACxB,GAAG,WAAW,KAAK,GAAG,CAAC;AAAA,IACvB;AAAA,EACF;AAEA,QAAM,SAAiB;AAAA,IACrB,MAAM;AAAA,IACN,SAAS;AAAA,IAET,MAAM,WAAW;AACf,aAAM,mCAAS,KAAK,CAAC,QAAQ;AAC3B,mCAAK;AAAA,MACP;AAAA,IACF;AAAA,IAEA,OAAO,YAAY,KAAK;AACtB,aAAO;AAAA,QACL,SAAS;AAAA;AAAA;AAAA;AAAA,QAIT;AAAA,QACA,QAAQ;AAAA;AAAA,UAEN,cAAc,CAAC;AAAA,UACf,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,SAAS,GAAG,IAAI,SAAS,gBAAgB,OAAO,KAAK;AAAA,UACrD,wBAAwB,KAAK,UAAU,QAAQ,IAAI,YAAY,IAAI,IAAI;AAAA,UACvE,8BAA8B,KAAK;AAAA,YACjC,QAAQ,IAAI,kBAAkB;AAAA,UAChC;AAAA,UACA,0BAA0B,KAAK,UAAU,QAAQ,IAAI,cAAc,EAAE;AAAA,UACrE,4BAA4B,KAAK,UAAU,QAAQ,IAAI,gBAAgB,EAAE;AAAA,UACzE,yBAAyB,KAAK,UAAU,KAAK;AAAA,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMA,KAAK;AAAA,UACH,YAAY;AAAA,QACd;AAAA,QACA,cAAc;AAAA;AAAA,UAEZ,SACE,QAAQ,WAAW,WAAW,CAAC,UAAU,yBAAyB,IAAI,CAAC;AAAA,UACzE,gBAAgB;AAAA,YACd,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YASL,mBAAmB;AAAA,cACjB;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,QAAQ;AAAA,cACN,OAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,QACA,SAAS;AAAA;AAAA;AAAA,UAGP,YAAY;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,OAAO;AAAA,YACL,GAAI,QAAQ,WAAW,YAAY;AAAA,cACjC,qDAAqD;AAAA,cACrD,2DACE;AAAA,cACF,oBAAoB;AAAA,cACpB,gBAAgB;AAAA,cAChB,GAAI,QAAQ,yBAAyB;AAAA,gBACnC,gBAAgB;AAAA,gBAChB,oBAAoB;AAAA,cACtB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/vite-plugin",
3
- "version": "1.52.2",
3
+ "version": "1.52.3",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -29,11 +29,11 @@
29
29
  "@rollup/plugin-babel": "^6.0.3",
30
30
  "@rollup/plugin-commonjs": "^24.0.1",
31
31
  "@rollup/plugin-node-resolve": "^15.0.1",
32
- "@tamagui/fake-react-native": "1.52.2",
33
- "@tamagui/proxy-worm": "1.52.2",
34
- "@tamagui/react-native-svg": "1.52.2",
35
- "@tamagui/static": "1.52.2",
36
- "esbuild": "^0.17.17",
32
+ "@tamagui/fake-react-native": "1.52.3",
33
+ "@tamagui/proxy-worm": "1.52.3",
34
+ "@tamagui/react-native-svg": "1.52.3",
35
+ "@tamagui/static": "1.52.3",
36
+ "esbuild": "^0.19.0",
37
37
  "fs-extra": "^11.1.0",
38
38
  "lodash": "^4.17.21",
39
39
  "micromatch": ">=4.0.0",
@@ -41,7 +41,7 @@
41
41
  "rollup": ">=3.7.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@tamagui/build": "1.52.2"
44
+ "@tamagui/build": "1.52.3"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "public"
package/src/native.ts CHANGED
@@ -34,13 +34,13 @@ export function nativePlugin(): Plugin {
34
34
  config.resolve.alias ??= {}
35
35
  config.resolve.alias = {
36
36
  ...config.resolve.alias,
37
- 'react-native/Libraries/Renderer/shims/ReactFabric':
38
- 'react-native/Libraries/Renderer/shims/ReactFabric',
39
- 'react-native/Libraries/Utilities/codegenNativeComponent':
40
- 'react-native/Libraries/Utilities/codegenNativeComponent',
41
- 'react-native-svg': 'react-native-svg',
42
- // 'react-native-web': 'react-native',
43
- 'react-native': 'react-native',
37
+ // 'react-native/Libraries/Renderer/shims/ReactFabric':
38
+ // 'react-native/Libraries/Renderer/shims/ReactFabric',
39
+ // 'react-native/Libraries/Utilities/codegenNativeComponent':
40
+ // 'react-native/Libraries/Utilities/codegenNativeComponent',
41
+ // 'react-native-svg': 'react-native-svg',
42
+ // // 'react-native-web': 'react-native',
43
+ // 'react-native': 'react-native',
44
44
  }
45
45
 
46
46
  config.optimizeDeps ??= {}
@@ -50,7 +50,7 @@ export function nativePlugin(): Plugin {
50
50
  config.optimizeDeps.esbuildOptions.plugins ??= []
51
51
  config.optimizeDeps.esbuildOptions.plugins.push(
52
52
  esbuildFlowPlugin(
53
- /node_modules\/(react-native\/|@react-native\/assets)/,
53
+ /node_modules\/(react-native\/|@react-native\/)/,
54
54
  (_) => 'jsx',
55
55
  {
56
56
  all: true,
@@ -90,7 +90,12 @@ export function nativePlugin(): Plugin {
90
90
 
91
91
  config.build.rollupOptions.plugins ??= []
92
92
 
93
- config.build.rollupOptions.external = ['react-native', 'react', 'react/jsx-runtime']
93
+ config.build.rollupOptions.external = [
94
+ 'react-native',
95
+ 'react',
96
+ 'react/jsx-runtime',
97
+ 'react/jsx-dev-runtime',
98
+ ]
94
99
 
95
100
  if (!Array.isArray(config.build.rollupOptions.plugins)) {
96
101
  throw `x`
@@ -1,105 +1,114 @@
1
1
  import { readFile } from 'fs/promises'
2
+ import { join } from 'path'
2
3
 
4
+ import * as babel from '@babel/core'
3
5
  import { build } from 'esbuild'
4
- import flowRemoveTypes from 'flow-remove-types'
5
6
 
6
7
  import { extensions } from './extensions'
7
8
 
8
9
  export async function nativePrebuild() {
9
10
  // rome-ignore lint/nursery/noConsoleLog: <explanation>
10
- console.log(
11
- `Prebuilding React Native (one time cost...) note: disabling we have committed pre-built files to repo`
12
- )
11
+ console.log(`Prebuilding React Native (one time cost...)`)
13
12
 
14
- return
13
+ // rome-ignore lint/nursery/noConsoleLog: <explanation>
14
+ console.log('disabled as its working and committed')
15
+ return null
16
+
17
+ // const outdir = join(process.cwd(), 'testing-area')
18
+
19
+ // await Promise.all([
20
+ // // react
21
+ // build({
22
+ // bundle: true,
23
+ // entryPoints: ['react'],
24
+ // outfile: join(outdir, 'react.js'),
25
+ // format: 'cjs',
26
+ // target: 'node20',
27
+ // jsx: 'transform',
28
+ // jsxFactory: 'react',
29
+ // allowOverwrite: true,
30
+ // platform: 'node',
31
+ // define: {
32
+ // __DEV__: 'true',
33
+ // 'process.env.NODE_ENV': `"development"`,
34
+ // },
35
+ // logLevel: 'warning',
36
+ // resolveExtensions: extensions,
37
+ // }),
38
+ // // react-jsx-runtime
39
+ // build({
40
+ // bundle: true,
41
+ // entryPoints: ['react/jsx-runtime'],
42
+ // outfile: join(outdir, 'react-jsx-runtime.js'),
43
+ // format: 'cjs',
44
+ // target: 'node20',
45
+ // jsx: 'transform',
46
+ // jsxFactory: 'react',
47
+ // external: ['react'],
48
+ // allowOverwrite: true,
49
+ // platform: 'node',
50
+ // define: {
51
+ // // metro serves this in production mode
52
+ // __DEV__: 'false',
53
+ // 'process.env.NODE_ENV': `"production"`,
54
+ // },
55
+ // logLevel: 'warning',
56
+ // resolveExtensions: extensions,
57
+ // }),
58
+ // // react native
59
+ // build({
60
+ // bundle: true,
61
+ // entryPoints: ['/Users/n8/tamagui/node_modules/react-native/index.js'],
62
+ // outfile: join(outdir, 'react-native.js'),
63
+ // format: 'cjs',
64
+ // target: 'node20',
65
+ // jsx: 'transform',
66
+ // jsxFactory: 'react',
67
+ // allowOverwrite: true,
68
+ // platform: 'node',
69
+ // loader: {
70
+ // '.png': 'dataurl',
71
+ // '.jpg': 'dataurl',
72
+ // '.jpeg': 'dataurl',
73
+ // '.gif': 'dataurl',
74
+ // },
75
+ // define: {
76
+ // __DEV__: 'true',
77
+ // 'process.env.NODE_ENV': `"development"`,
78
+ // },
79
+ // logLevel: 'warning',
80
+ // resolveExtensions: extensions,
81
+ // external: ['react', 'react/jsx-runtime.js', 'react/jsx-runtime'],
82
+ // plugins: [
83
+ // {
84
+ // name: 'remove-flow',
85
+ // setup(build) {
86
+ // build.onLoad(
87
+ // {
88
+ // filter: /.*.js/,
89
+ // },
90
+ // async (input) => {
91
+ // if (!input.path.includes('react-native')) {
92
+ // return
93
+ // }
94
+
95
+ // const code = await readFile(input.path, 'utf-8')
96
+
97
+ // // omg so ugly but no class support?
98
+ // const outagain = babel.transformSync(code, {
99
+ // presets: ['module:metro-react-native-babel-preset'],
100
+ // })
15
101
 
16
- await Promise.all([
17
- // react
18
- build({
19
- bundle: true,
20
- entryPoints: ['react'],
21
- outfile: 'react.js',
22
- format: 'cjs',
23
- target: 'node14',
24
- jsx: 'transform',
25
- jsxFactory: 'react',
26
- allowOverwrite: true,
27
- platform: 'node',
28
- define: {
29
- __DEV__: 'true',
30
- 'process.env.NODE_ENV': `"development"`,
31
- },
32
- logLevel: 'warning',
33
- resolveExtensions: extensions,
34
- }),
35
- // react-jsx-runtime
36
- build({
37
- bundle: true,
38
- entryPoints: ['react/jsx-runtime'],
39
- outfile: 'react-jsx-runtime.js',
40
- format: 'cjs',
41
- target: 'node14',
42
- jsx: 'transform',
43
- jsxFactory: 'react',
44
- external: ['react'],
45
- allowOverwrite: true,
46
- platform: 'node',
47
- define: {
48
- // metro serves this in production mode
49
- __DEV__: 'false',
50
- 'process.env.NODE_ENV': `"production"`,
51
- },
52
- logLevel: 'warning',
53
- resolveExtensions: extensions,
54
- }),
55
- // react native
56
- build({
57
- bundle: true,
58
- entryPoints: ['/Users/n8/tamagui/node_modules/react-native/index.js'],
59
- outfile: 'react-native.js',
60
- format: 'cjs',
61
- target: 'node14',
62
- jsx: 'transform',
63
- jsxFactory: 'react',
64
- allowOverwrite: true,
65
- platform: 'node',
66
- loader: {
67
- '.png': 'dataurl',
68
- '.jpg': 'dataurl',
69
- '.jpeg': 'dataurl',
70
- '.gif': 'dataurl',
71
- },
72
- define: {
73
- __DEV__: 'true',
74
- 'process.env.NODE_ENV': `"development"`,
75
- },
76
- logLevel: 'warning',
77
- resolveExtensions: extensions,
78
- external: ['react', 'react/jsx-runtime.js', 'react/jsx-runtime'],
79
- plugins: [
80
- {
81
- name: 'remove-flow',
82
- setup(build) {
83
- build.onLoad(
84
- {
85
- filter: /.*.js/,
86
- },
87
- async (input) => {
88
- if (!input.path.includes('react-native')) {
89
- return
90
- }
91
- const code = await readFile(input.path, 'utf-8')
92
- const output = flowRemoveTypes(code, { pretty: true })
93
- const contents = output.toString().replace(/static\s+\+/g, 'static ')
94
- return {
95
- contents,
96
- loader: 'jsx',
97
- }
98
- }
99
- )
100
- },
101
- },
102
- ],
103
- }),
104
- ])
102
+ // // const contents = output.toString().replace(/static\s+\+/g, 'static ')
103
+ // return {
104
+ // contents: outagain.code,
105
+ // loader: 'jsx',
106
+ // }
107
+ // }
108
+ // )
109
+ // },
110
+ // },
111
+ // ],
112
+ // }),
113
+ // ])
105
114
  }