@tamagui/vite-plugin 1.52.4 → 1.52.6

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/dist/cjs/index.js CHANGED
@@ -17,13 +17,13 @@ var src_exports = {};
17
17
  module.exports = __toCommonJS(src_exports);
18
18
  __reExport(src_exports, require("./plugin"), module.exports);
19
19
  __reExport(src_exports, require("./extract"), module.exports);
20
- __reExport(src_exports, require("./native"), module.exports);
20
+ __reExport(src_exports, require("./nativePlugin"), module.exports);
21
21
  __reExport(src_exports, require("./nativePrebuild"), module.exports);
22
22
  // Annotate the CommonJS export names for ESM import in node:
23
23
  0 && (module.exports = {
24
24
  ...require("./plugin"),
25
25
  ...require("./extract"),
26
- ...require("./native"),
26
+ ...require("./nativePlugin"),
27
27
  ...require("./nativePrebuild")
28
28
  });
29
29
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,qBAAd;AACA,wBAAc,sBADd;AAEA,wBAAc,qBAFd;AAGA,wBAAc,6BAHd;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,qBAAd;AACA,wBAAc,sBADd;AAEA,wBAAc,2BAFd;AAGA,wBAAc,6BAHd;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/nativePlugin.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,19 +17,175 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
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
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
  var nativePrebuild_exports = {};
20
30
  __export(nativePrebuild_exports, {
31
+ nativeBabelFlowTransform: () => nativeBabelFlowTransform,
32
+ nativeBabelTransform: () => nativeBabelTransform,
21
33
  nativePrebuild: () => nativePrebuild
22
34
  });
23
35
  module.exports = __toCommonJS(nativePrebuild_exports);
36
+ var import_promises = require("fs/promises");
37
+ var import_path = require("path");
38
+ var babel = __toESM(require("@babel/core"));
39
+ var import_esbuild = require("esbuild");
40
+ var import_extensions = require("./extensions");
41
+ async function nativeBabelTransform(input) {
42
+ return await new Promise((res, rej) => {
43
+ babel.transform(
44
+ input,
45
+ {
46
+ plugins: [
47
+ "@babel/plugin-transform-modules-commonjs",
48
+ "@babel/plugin-transform-classes"
49
+ ]
50
+ },
51
+ (err, { code }) => {
52
+ if (err) {
53
+ console.error("error", err);
54
+ }
55
+ if (err)
56
+ rej(err);
57
+ res(code);
58
+ }
59
+ );
60
+ });
61
+ }
62
+ async function nativeBabelFlowTransform(input) {
63
+ return await new Promise((res, rej) => {
64
+ babel.transform(
65
+ input,
66
+ {
67
+ presets: ["module:metro-react-native-babel-preset"]
68
+ },
69
+ (err, { code }) => {
70
+ if (err)
71
+ rej(err);
72
+ res(code);
73
+ }
74
+ );
75
+ });
76
+ }
24
77
  async function nativePrebuild() {
78
+ if (process.env.SKIP_PREBUILD_RN) {
79
+ console.log(`\u26A0\uFE0F skipping pre build of rn`);
80
+ return;
81
+ }
25
82
  console.log(`Prebuilding React Native (one time cost...)`);
26
- console.log("disabled as its working and committed");
27
- return null;
83
+ const outdir = (0, import_path.join)(process.cwd(), "testing-area");
84
+ await Promise.all([
85
+ // react
86
+ (0, import_esbuild.build)({
87
+ bundle: true,
88
+ entryPoints: ["react"],
89
+ outfile: (0, import_path.join)(outdir, "react.js"),
90
+ format: "cjs",
91
+ target: "node20",
92
+ jsx: "transform",
93
+ jsxFactory: "react",
94
+ allowOverwrite: true,
95
+ platform: "node",
96
+ define: {
97
+ __DEV__: "true",
98
+ "process.env.NODE_ENV": `"development"`
99
+ },
100
+ logLevel: "warning",
101
+ resolveExtensions: import_extensions.extensions
102
+ }),
103
+ // react-jsx-runtime
104
+ (0, import_esbuild.build)({
105
+ bundle: true,
106
+ entryPoints: ["react/jsx-runtime"],
107
+ outfile: (0, import_path.join)(outdir, "react-jsx-runtime.js"),
108
+ format: "cjs",
109
+ target: "node20",
110
+ jsx: "transform",
111
+ jsxFactory: "react",
112
+ external: ["react"],
113
+ allowOverwrite: true,
114
+ platform: "node",
115
+ define: {
116
+ // metro serves this in production mode
117
+ __DEV__: "false",
118
+ "process.env.NODE_ENV": `"production"`
119
+ },
120
+ logLevel: "warning",
121
+ resolveExtensions: import_extensions.extensions
122
+ }),
123
+ // react native
124
+ (0, import_esbuild.build)({
125
+ bundle: true,
126
+ entryPoints: ["/Users/n8/tamagui/node_modules/react-native/index.js"],
127
+ outfile: (0, import_path.join)(outdir, "react-native.js"),
128
+ format: "cjs",
129
+ target: "node20",
130
+ jsx: "transform",
131
+ jsxFactory: "react",
132
+ allowOverwrite: true,
133
+ platform: "node",
134
+ loader: {
135
+ ".png": "dataurl",
136
+ ".jpg": "dataurl",
137
+ ".jpeg": "dataurl",
138
+ ".gif": "dataurl"
139
+ },
140
+ define: {
141
+ __DEV__: "true",
142
+ "process.env.NODE_ENV": `"development"`,
143
+ // TODO
144
+ "process.env.REACT_NATIVE_SERVER_PUBLIC_PORT": JSON.stringify("8081")
145
+ },
146
+ logLevel: "warning",
147
+ resolveExtensions: import_extensions.extensions,
148
+ external: ["react", "react/jsx-runtime.js", "react/jsx-runtime"],
149
+ plugins: [
150
+ {
151
+ name: "remove-flow",
152
+ setup(build2) {
153
+ build2.onResolve(
154
+ {
155
+ filter: /HMRClient/
156
+ },
157
+ async (input) => {
158
+ return {
159
+ path: require.resolve("@tamagui/vite-native-hmr")
160
+ };
161
+ }
162
+ );
163
+ build2.onLoad(
164
+ {
165
+ filter: /.*.js/
166
+ },
167
+ async (input) => {
168
+ if (!input.path.includes("react-native") && !input.path.includes(`vite-native-hmr`)) {
169
+ return;
170
+ }
171
+ const code = await (0, import_promises.readFile)(input.path, "utf-8");
172
+ const outagain = await nativeBabelFlowTransform(code);
173
+ return {
174
+ contents: outagain,
175
+ loader: "jsx"
176
+ };
177
+ }
178
+ );
179
+ }
180
+ }
181
+ ]
182
+ })
183
+ ]);
28
184
  }
29
185
  // Annotate the CommonJS export names for ESM import in node:
30
186
  0 && (module.exports = {
187
+ nativeBabelFlowTransform,
188
+ nativeBabelTransform,
31
189
  nativePrebuild
32
190
  });
33
191
  //# sourceMappingURL=nativePrebuild.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/nativePrebuild.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,eAAsB,iBAAiB;AAErC,UAAQ,IAAI,6CAA6C;AAGzD,UAAQ,IAAI,uCAAuC;AACnD,SAAO;AAmGT;",
5
- "names": []
4
+ "mappings": "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",
5
+ "names": ["build"]
6
6
  }
@@ -52,7 +52,7 @@ function tamaguiPlugin(options) {
52
52
  __DEV__: `${env.mode === "development" ? true : false}`,
53
53
  "process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV || env.mode),
54
54
  "process.env.TAMAGUI_TARGET": JSON.stringify(
55
- process.env.TAMAGUI_TARGET || "web"
55
+ options.target || process.env.TAMAGUI_TARGET || "web"
56
56
  ),
57
57
  "process.env.ENABLE_RSC": JSON.stringify(process.env.ENABLE_RSC || ""),
58
58
  "process.env.ENABLE_STEPS": JSON.stringify(process.env.ENABLE_STEPS || ""),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugin.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAmC;AAO5B,SAAS,cACd,SAKQ;AACR,QAAM,UAAU,QAAQ,4BAA4B,WAAO,kCAAmB,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;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAmC;AAO5B,SAAS,cACd,SAKQ;AACR,QAAM,UAAU,QAAQ,4BAA4B,WAAO,kCAAmB,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,UAAU,QAAQ,IAAI,kBAAkB;AAAA,UAClD;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/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from "./plugin";
2
2
  export * from "./extract";
3
- export * from "./native";
3
+ export * from "./nativePlugin";
4
4
  export * from "./nativePrebuild";
5
5
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/nativePlugin.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,9 +1,155 @@
1
+ import { readFile } from "fs/promises";
2
+ import { join } from "path";
3
+ import * as babel from "@babel/core";
4
+ import { build } from "esbuild";
5
+ import { extensions } from "./extensions";
6
+ async function nativeBabelTransform(input) {
7
+ return await new Promise((res, rej) => {
8
+ babel.transform(
9
+ input,
10
+ {
11
+ plugins: [
12
+ "@babel/plugin-transform-modules-commonjs",
13
+ "@babel/plugin-transform-classes"
14
+ ]
15
+ },
16
+ (err, { code }) => {
17
+ if (err) {
18
+ console.error("error", err);
19
+ }
20
+ if (err)
21
+ rej(err);
22
+ res(code);
23
+ }
24
+ );
25
+ });
26
+ }
27
+ async function nativeBabelFlowTransform(input) {
28
+ return await new Promise((res, rej) => {
29
+ babel.transform(
30
+ input,
31
+ {
32
+ presets: ["module:metro-react-native-babel-preset"]
33
+ },
34
+ (err, { code }) => {
35
+ if (err)
36
+ rej(err);
37
+ res(code);
38
+ }
39
+ );
40
+ });
41
+ }
1
42
  async function nativePrebuild() {
43
+ if (process.env.SKIP_PREBUILD_RN) {
44
+ console.log(`\u26A0\uFE0F skipping pre build of rn`);
45
+ return;
46
+ }
2
47
  console.log(`Prebuilding React Native (one time cost...)`);
3
- console.log("disabled as its working and committed");
4
- return null;
48
+ const outdir = join(process.cwd(), "testing-area");
49
+ await Promise.all([
50
+ // react
51
+ build({
52
+ bundle: true,
53
+ entryPoints: ["react"],
54
+ outfile: join(outdir, "react.js"),
55
+ format: "cjs",
56
+ target: "node20",
57
+ jsx: "transform",
58
+ jsxFactory: "react",
59
+ allowOverwrite: true,
60
+ platform: "node",
61
+ define: {
62
+ __DEV__: "true",
63
+ "process.env.NODE_ENV": `"development"`
64
+ },
65
+ logLevel: "warning",
66
+ resolveExtensions: extensions
67
+ }),
68
+ // react-jsx-runtime
69
+ build({
70
+ bundle: true,
71
+ entryPoints: ["react/jsx-runtime"],
72
+ outfile: join(outdir, "react-jsx-runtime.js"),
73
+ format: "cjs",
74
+ target: "node20",
75
+ jsx: "transform",
76
+ jsxFactory: "react",
77
+ external: ["react"],
78
+ allowOverwrite: true,
79
+ platform: "node",
80
+ define: {
81
+ // metro serves this in production mode
82
+ __DEV__: "false",
83
+ "process.env.NODE_ENV": `"production"`
84
+ },
85
+ logLevel: "warning",
86
+ resolveExtensions: extensions
87
+ }),
88
+ // react native
89
+ build({
90
+ bundle: true,
91
+ entryPoints: ["/Users/n8/tamagui/node_modules/react-native/index.js"],
92
+ outfile: join(outdir, "react-native.js"),
93
+ format: "cjs",
94
+ target: "node20",
95
+ jsx: "transform",
96
+ jsxFactory: "react",
97
+ allowOverwrite: true,
98
+ platform: "node",
99
+ loader: {
100
+ ".png": "dataurl",
101
+ ".jpg": "dataurl",
102
+ ".jpeg": "dataurl",
103
+ ".gif": "dataurl"
104
+ },
105
+ define: {
106
+ __DEV__: "true",
107
+ "process.env.NODE_ENV": `"development"`,
108
+ // TODO
109
+ "process.env.REACT_NATIVE_SERVER_PUBLIC_PORT": JSON.stringify("8081")
110
+ },
111
+ logLevel: "warning",
112
+ resolveExtensions: extensions,
113
+ external: ["react", "react/jsx-runtime.js", "react/jsx-runtime"],
114
+ plugins: [
115
+ {
116
+ name: "remove-flow",
117
+ setup(build2) {
118
+ build2.onResolve(
119
+ {
120
+ filter: /HMRClient/
121
+ },
122
+ async (input) => {
123
+ return {
124
+ path: require.resolve("@tamagui/vite-native-hmr")
125
+ };
126
+ }
127
+ );
128
+ build2.onLoad(
129
+ {
130
+ filter: /.*.js/
131
+ },
132
+ async (input) => {
133
+ if (!input.path.includes("react-native") && !input.path.includes(`vite-native-hmr`)) {
134
+ return;
135
+ }
136
+ const code = await readFile(input.path, "utf-8");
137
+ const outagain = await nativeBabelFlowTransform(code);
138
+ return {
139
+ contents: outagain,
140
+ loader: "jsx"
141
+ };
142
+ }
143
+ );
144
+ }
145
+ }
146
+ ]
147
+ })
148
+ ]);
5
149
  }
6
150
  export {
151
+ nativeBabelFlowTransform,
152
+ nativeBabelTransform,
7
153
  nativePrebuild
8
154
  };
9
155
  //# sourceMappingURL=nativePrebuild.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/nativePrebuild.ts"],
4
- "mappings": "AAQA,eAAsB,iBAAiB;AAErC,UAAQ,IAAI,6CAA6C;AAGzD,UAAQ,IAAI,uCAAuC;AACnD,SAAO;AAmGT;",
5
- "names": []
4
+ "mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,YAAY;AAErB,YAAY,WAAW;AACvB,SAAS,aAAa;AAEtB,SAAS,kBAAkB;AAE3B,eAAsB,qBAAqB,OAAe;AACxD,SAAO,MAAM,IAAI,QAAgB,CAAC,KAAK,QAAQ;AAC7C,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,UACP;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MACA,CAAC,KAAU,EAAE,KAAK,MAAM;AACtB,YAAI,KAAK;AACP,kBAAQ,MAAM,SAAS,GAAG;AAAA,QAC5B;AAEA,YAAI;AAAK,cAAI,GAAG;AAChB,YAAI,IAAI;AAAA,MACV;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,yBAAyB,OAAe;AAC5D,SAAO,MAAM,IAAI,QAAgB,CAAC,KAAK,QAAQ;AAC7C,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,QACE,SAAS,CAAC,wCAAwC;AAAA,MACpD;AAAA,MACA,CAAC,KAAU,EAAE,KAAK,MAAM;AACtB,YAAI;AAAK,cAAI,GAAG;AAChB,YAAI,IAAI;AAAA,MACV;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,iBAAiB;AAGrC,MAAI,QAAQ,IAAI,kBAAkB;AAChC,YAAQ,IAAI,uCAA6B;AAEzC;AAAA,EACF;AAEA,UAAQ,IAAI,6CAA6C;AAEzD,QAAM,SAAS,KAAK,QAAQ,IAAI,GAAG,cAAc;AAEjD,QAAM,QAAQ,IAAI;AAAA;AAAA,IAEhB,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,aAAa,CAAC,OAAO;AAAA,MACrB,SAAS,KAAK,QAAQ,UAAU;AAAA,MAChC,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,KAAK,QAAQ,sBAAsB;AAAA,MAC5C,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,KAAK,QAAQ,iBAAiB;AAAA,MACvC,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;AAAA,QAExB,+CAA+C,KAAK,UAAU,MAAM;AAAA,MACtE;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,uBAAO;AAAA,kBACL,MAAM,gBAAgB,0BAA0B;AAAA,gBAClD;AAAA,cACF;AAAA,YACF;AAEA,YAAAA,OAAM;AAAA,cACJ;AAAA,gBACE,QAAQ;AAAA,cACV;AAAA,cACA,OAAO,UAAU;AACf,oBACE,CAAC,MAAM,KAAK,SAAS,cAAc,KACnC,CAAC,MAAM,KAAK,SAAS,iBAAiB,GACtC;AACA;AAAA,gBACF;AAEA,sBAAM,OAAO,MAAM,SAAS,MAAM,MAAM,OAAO;AAG/C,sBAAM,WAAW,MAAM,yBAAyB,IAAI;AAEpD,uBAAO;AAAA,kBACL,UAAU;AAAA,kBACV,QAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;",
5
+ "names": ["build"]
6
6
  }
@@ -29,7 +29,7 @@ function tamaguiPlugin(options) {
29
29
  __DEV__: `${env.mode === "development" ? true : false}`,
30
30
  "process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV || env.mode),
31
31
  "process.env.TAMAGUI_TARGET": JSON.stringify(
32
- process.env.TAMAGUI_TARGET || "web"
32
+ options.target || process.env.TAMAGUI_TARGET || "web"
33
33
  ),
34
34
  "process.env.ENABLE_RSC": JSON.stringify(process.env.ENABLE_RSC || ""),
35
35
  "process.env.ENABLE_STEPS": JSON.stringify(process.env.ENABLE_STEPS || ""),
@@ -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,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;",
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,UAAU,QAAQ,IAAI,kBAAkB;AAAA,UAClD;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.4",
3
+ "version": "1.52.6",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -25,23 +25,26 @@
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
+ "@babel/plugin-transform-classes": "^7.22.6",
29
+ "@babel/plugin-transform-modules-commonjs": "^7.22.5",
28
30
  "@bunchtogether/vite-plugin-flow": "^1.0.2",
29
31
  "@rollup/plugin-babel": "^6.0.3",
30
32
  "@rollup/plugin-commonjs": "^24.0.1",
31
33
  "@rollup/plugin-node-resolve": "^15.0.1",
32
- "@tamagui/fake-react-native": "1.52.4",
33
- "@tamagui/proxy-worm": "1.52.4",
34
- "@tamagui/react-native-svg": "1.52.4",
35
- "@tamagui/static": "1.52.4",
34
+ "@tamagui/fake-react-native": "1.52.6",
35
+ "@tamagui/proxy-worm": "1.52.6",
36
+ "@tamagui/react-native-svg": "1.52.6",
37
+ "@tamagui/static": "1.52.6",
36
38
  "esbuild": "^0.19.0",
37
39
  "fs-extra": "^11.1.0",
38
40
  "lodash": "^4.17.21",
39
41
  "micromatch": ">=4.0.0",
40
42
  "outdent": "^0.8.0",
41
- "rollup": ">=3.7.0"
43
+ "rollup": ">=3.7.0",
44
+ "vite-plugin-commonjs-externals": "^0.1.3"
42
45
  },
43
46
  "devDependencies": {
44
- "@tamagui/build": "1.52.4"
47
+ "@tamagui/build": "1.52.6"
45
48
  },
46
49
  "publishConfig": {
47
50
  "access": "public"
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './plugin'
2
2
  export * from './extract'
3
- export * from './native'
3
+ export * from './nativePlugin'
4
4
  export * from './nativePrebuild'
@@ -1,18 +1,29 @@
1
- import { readFile } from 'fs/promises'
2
- import { join } from 'path'
3
-
4
1
  import { esbuildFlowPlugin } from '@bunchtogether/vite-plugin-flow'
5
2
  import { OutputOptions } from 'rollup'
6
3
  import type { Plugin } from 'vite'
7
4
 
8
5
  import { extensions } from './extensions'
9
6
 
10
- export function nativePlugin(): Plugin {
7
+ export function nativePlugin(options: { port: number }): Plugin {
11
8
  return {
12
9
  name: 'tamagui-native',
13
10
  enforce: 'post',
14
11
 
15
12
  config: (config) => {
13
+ // // add hmr client
14
+ // config.plugins.push({
15
+ // name: 'add-hmr-client',
16
+ // generateBundle(x) {
17
+ // x.
18
+ // }
19
+ // })
20
+
21
+ config.define ||= {}
22
+ config.define['process.env.REACT_NATIVE_SERVER_PUBLIC_PORT'] = JSON.stringify(
23
+ `${options.port}`
24
+ )
25
+ config.define['process.env.REACT_NATIVE_PLATFORM'] = JSON.stringify(`ios`)
26
+
16
27
  if (!config.build) config.build = {}
17
28
 
18
29
  config.build.modulePreload = { polyfill: false }
@@ -31,23 +42,33 @@ export function nativePlugin(): Plugin {
31
42
 
32
43
  config.resolve.extensions = extensions
33
44
 
34
- config.resolve.alias ??= {}
35
- config.resolve.alias = {
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',
44
- }
45
+ // config.resolve.alias ??= {}
46
+ // config.resolve.alias = {
47
+ // ...config.resolve.alias,
48
+ // // 'react-native/Libraries/Renderer/shims/ReactFabric':
49
+ // // 'react-native/Libraries/Renderer/shims/ReactFabric',
50
+ // // 'react-native/Libraries/Utilities/codegenNativeComponent':
51
+ // // 'react-native/Libraries/Utilities/codegenNativeComponent',
52
+ // // 'react-native-svg': 'react-native-svg',
53
+ // // // 'react-native-web': 'react-native',
54
+ // // 'react-native': 'react-native',
55
+ // }
45
56
 
46
57
  config.optimizeDeps ??= {}
58
+
59
+ // externals
60
+ // breaks
61
+ // config.optimizeDeps.exclude ??= []
62
+ // config.optimizeDeps.exclude.push('react-native')
63
+
64
+ config.optimizeDeps.needsInterop ??= []
65
+ config.optimizeDeps.needsInterop.push('react-native')
66
+
47
67
  config.optimizeDeps.esbuildOptions ??= {}
48
68
  config.optimizeDeps.esbuildOptions.resolveExtensions = extensions
49
69
 
50
70
  config.optimizeDeps.esbuildOptions.plugins ??= []
71
+
51
72
  config.optimizeDeps.esbuildOptions.plugins.push(
52
73
  esbuildFlowPlugin(
53
74
  /node_modules\/(react-native\/|@react-native\/)/,
@@ -109,38 +130,6 @@ export function nativePlugin(): Plugin {
109
130
  include: /node_modules\/react\//,
110
131
  }
111
132
 
112
- config.build.rollupOptions.plugins.push({
113
- name: `swap-react-native`,
114
- async load(id) {
115
- if (id.endsWith('react-native/index.js')) {
116
- const bundled = await readFile(
117
- join(process.cwd(), 'react-native.js'),
118
- 'utf-8'
119
- )
120
- const code = bundled
121
- return {
122
- code: `
123
- const run = () => {
124
- ${bundled.replace(
125
- `module.exports = require_react_native();`,
126
- `return require_react_native();`
127
- )}
128
- }
129
-
130
- const RN = run()
131
-
132
- ${RNExportNames.map(
133
- (name) =>
134
- // adding exports
135
- `export const ${name} = RN.${name}`
136
- ).join('\n')}
137
-
138
- `,
139
- }
140
- }
141
- },
142
- })
143
-
144
133
  const updateOutputOptions = (out: OutputOptions) => {
145
134
  // Ensure that as many resources as possible are inlined.
146
135
  out.inlineDynamicImports = true
@@ -6,109 +6,162 @@ import { build } from 'esbuild'
6
6
 
7
7
  import { extensions } from './extensions'
8
8
 
9
+ export async function nativeBabelTransform(input: string) {
10
+ return await new Promise<string>((res, rej) => {
11
+ babel.transform(
12
+ input,
13
+ {
14
+ plugins: [
15
+ '@babel/plugin-transform-modules-commonjs',
16
+ '@babel/plugin-transform-classes',
17
+ ],
18
+ },
19
+ (err: any, { code }) => {
20
+ if (err) {
21
+ console.error('error', err)
22
+ }
23
+
24
+ if (err) rej(err)
25
+ res(code)
26
+ }
27
+ )
28
+ })
29
+ }
30
+
31
+ export async function nativeBabelFlowTransform(input: string) {
32
+ return await new Promise<string>((res, rej) => {
33
+ babel.transform(
34
+ input,
35
+ {
36
+ presets: ['module:metro-react-native-babel-preset'],
37
+ },
38
+ (err: any, { code }) => {
39
+ if (err) rej(err)
40
+ res(code)
41
+ }
42
+ )
43
+ })
44
+ }
45
+
9
46
  export async function nativePrebuild() {
10
47
  // rome-ignore lint/nursery/noConsoleLog: <explanation>
48
+
49
+ if (process.env.SKIP_PREBUILD_RN) {
50
+ console.log(`⚠️ skipping pre build of rn`)
51
+
52
+ return
53
+ }
54
+
11
55
  console.log(`Prebuilding React Native (one time cost...)`)
12
56
 
13
- // rome-ignore lint/nursery/noConsoleLog: <explanation>
14
- console.log('disabled as its working and committed')
15
- return null
57
+ const outdir = join(process.cwd(), 'testing-area')
16
58
 
17
- // const outdir = join(process.cwd(), 'testing-area')
59
+ await Promise.all([
60
+ // react
61
+ build({
62
+ bundle: true,
63
+ entryPoints: ['react'],
64
+ outfile: join(outdir, 'react.js'),
65
+ format: 'cjs',
66
+ target: 'node20',
67
+ jsx: 'transform',
68
+ jsxFactory: 'react',
69
+ allowOverwrite: true,
70
+ platform: 'node',
71
+ define: {
72
+ __DEV__: 'true',
73
+ 'process.env.NODE_ENV': `"development"`,
74
+ },
75
+ logLevel: 'warning',
76
+ resolveExtensions: extensions,
77
+ }),
78
+ // react-jsx-runtime
79
+ build({
80
+ bundle: true,
81
+ entryPoints: ['react/jsx-runtime'],
82
+ outfile: join(outdir, 'react-jsx-runtime.js'),
83
+ format: 'cjs',
84
+ target: 'node20',
85
+ jsx: 'transform',
86
+ jsxFactory: 'react',
87
+ external: ['react'],
88
+ allowOverwrite: true,
89
+ platform: 'node',
90
+ define: {
91
+ // metro serves this in production mode
92
+ __DEV__: 'false',
93
+ 'process.env.NODE_ENV': `"production"`,
94
+ },
95
+ logLevel: 'warning',
96
+ resolveExtensions: extensions,
97
+ }),
98
+ // react native
99
+ build({
100
+ bundle: true,
101
+ entryPoints: ['/Users/n8/tamagui/node_modules/react-native/index.js'],
102
+ outfile: join(outdir, 'react-native.js'),
103
+ format: 'cjs',
104
+ target: 'node20',
105
+ jsx: 'transform',
106
+ jsxFactory: 'react',
107
+ allowOverwrite: true,
108
+ platform: 'node',
109
+ loader: {
110
+ '.png': 'dataurl',
111
+ '.jpg': 'dataurl',
112
+ '.jpeg': 'dataurl',
113
+ '.gif': 'dataurl',
114
+ },
115
+ define: {
116
+ __DEV__: 'true',
117
+ 'process.env.NODE_ENV': `"development"`,
118
+ // TODO
119
+ 'process.env.REACT_NATIVE_SERVER_PUBLIC_PORT': JSON.stringify('8081'),
120
+ },
121
+ logLevel: 'warning',
122
+ resolveExtensions: extensions,
123
+ external: ['react', 'react/jsx-runtime.js', 'react/jsx-runtime'],
124
+ plugins: [
125
+ {
126
+ name: 'remove-flow',
127
+ setup(build) {
128
+ build.onResolve(
129
+ {
130
+ filter: /HMRClient/,
131
+ },
132
+ async (input) => {
133
+ return {
134
+ path: require.resolve('@tamagui/vite-native-hmr'),
135
+ }
136
+ }
137
+ )
18
138
 
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
- // }
139
+ build.onLoad(
140
+ {
141
+ filter: /.*.js/,
142
+ },
143
+ async (input) => {
144
+ if (
145
+ !input.path.includes('react-native') &&
146
+ !input.path.includes(`vite-native-hmr`)
147
+ ) {
148
+ return
149
+ }
94
150
 
95
- // const code = await readFile(input.path, 'utf-8')
151
+ const code = await readFile(input.path, 'utf-8')
96
152
 
97
- // // omg so ugly but no class support?
98
- // const outagain = babel.transformSync(code, {
99
- // presets: ['module:metro-react-native-babel-preset'],
100
- // })
153
+ // omg so ugly but no class support?
154
+ const outagain = await nativeBabelFlowTransform(code)
101
155
 
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
- // ])
156
+ return {
157
+ contents: outagain,
158
+ loader: 'jsx',
159
+ }
160
+ }
161
+ )
162
+ },
163
+ },
164
+ ],
165
+ }),
166
+ ])
114
167
  }
package/src/plugin.ts CHANGED
@@ -46,7 +46,7 @@ export function tamaguiPlugin(
46
46
  __DEV__: `${env.mode === 'development' ? true : false}`,
47
47
  'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || env.mode),
48
48
  'process.env.TAMAGUI_TARGET': JSON.stringify(
49
- process.env.TAMAGUI_TARGET || 'web'
49
+ options.target || process.env.TAMAGUI_TARGET || 'web'
50
50
  ),
51
51
  'process.env.ENABLE_RSC': JSON.stringify(process.env.ENABLE_RSC || ''),
52
52
  'process.env.ENABLE_STEPS': JSON.stringify(process.env.ENABLE_STEPS || ''),
package/types/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './plugin';
2
2
  export * from './extract';
3
- export * from './native';
3
+ export * from './nativePlugin';
4
4
  export * from './nativePrebuild';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { Plugin } from 'vite';
2
+ export declare function nativePlugin(options: {
3
+ port: number;
4
+ }): Plugin;
5
+ //# sourceMappingURL=nativePlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nativePlugin.d.ts","sourceRoot":"","sources":["../src/nativePlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAwI9D"}
1
+ {"version":3,"file":"nativePlugin.d.ts","sourceRoot":"","sources":["../src/nativePlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CA8I9D"}
@@ -1,2 +1,4 @@
1
- export declare function nativePrebuild(): Promise<null>;
1
+ export declare function nativeBabelTransform(input: string): Promise<string>;
2
+ export declare function nativeBabelFlowTransform(input: string): Promise<string>;
3
+ export declare function nativePrebuild(): Promise<void>;
2
4
  //# sourceMappingURL=nativePrebuild.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nativePrebuild.d.ts","sourceRoot":"","sources":["../src/nativePrebuild.ts"],"names":[],"mappings":"AAQA,wBAAsB,cAAc,kBAyGnC"}
1
+ {"version":3,"file":"nativePrebuild.d.ts","sourceRoot":"","sources":["../src/nativePrebuild.ts"],"names":[],"mappings":"AAQA,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,mBAoBvD;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,MAAM,mBAa3D;AAED,wBAAsB,cAAc,kBAyHnC"}