@tamagui/next-plugin 1.0.1-beta.19 → 1.0.1-beta.191
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 +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/withTamagui.js +194 -124
- package/dist/cjs/withTamagui.js.map +3 -3
- package/dist/esm/index.js +0 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/withTamagui.js +185 -107
- package/dist/esm/withTamagui.js.map +3 -3
- package/dist/jsx/index.js +1 -0
- package/dist/jsx/index.js.map +7 -0
- package/dist/jsx/withTamagui.js +185 -109
- package/dist/jsx/withTamagui.js.map +7 -0
- package/package.json +24 -14
- package/src/index.ts +1 -0
- package/src/withTamagui.ts +407 -0
- package/types/withTamagui.d.ts +6 -1
- package/types/index.d.ts.map +0 -1
- package/types/withTamagui.d.ts.map +0 -1
package/dist/jsx/withTamagui.js
CHANGED
|
@@ -1,62 +1,124 @@
|
|
|
1
|
-
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import path from "path";
|
|
1
|
+
import path, { join } from "path";
|
|
4
2
|
import browserslist from "browserslist";
|
|
5
3
|
import CssMinimizerPlugin from "css-minimizer-webpack-plugin";
|
|
4
|
+
import buildResolver from "esm-resolve";
|
|
5
|
+
import InlineCSSPlugin from "html-inline-css-webpack-plugin";
|
|
6
6
|
import MiniCSSExtractPlugin from "mini-css-extract-plugin";
|
|
7
7
|
import { lazyPostCSS } from "next/dist/build/webpack/config/blocks/css";
|
|
8
8
|
import { getGlobalCssLoader } from "next/dist/build/webpack/config/blocks/css/loaders";
|
|
9
|
-
import { shouldExclude } from "tamagui-loader";
|
|
9
|
+
import { shouldExclude as shouldExcludeDefault } from "tamagui-loader";
|
|
10
10
|
import webpack from "webpack";
|
|
11
|
-
const withTamagui =
|
|
11
|
+
const withTamagui = (tamaguiOptions) => {
|
|
12
|
+
const shouldExclude = (path2, projectRoot) => {
|
|
13
|
+
const res = tamaguiOptions.shouldExtract?.(path2, projectRoot);
|
|
14
|
+
if (typeof res === "boolean") {
|
|
15
|
+
return !res;
|
|
16
|
+
}
|
|
17
|
+
return shouldExcludeDefault(path2, projectRoot);
|
|
18
|
+
};
|
|
12
19
|
return (nextConfig = {}) => {
|
|
13
20
|
return {
|
|
14
21
|
...nextConfig,
|
|
15
22
|
webpack: (webpackConfig, options) => {
|
|
16
|
-
var _a;
|
|
17
23
|
const { dir, config, dev, isServer } = options;
|
|
24
|
+
const resolver = buildResolver(join(dir, "index.js"), {
|
|
25
|
+
constraints: "node"
|
|
26
|
+
});
|
|
18
27
|
if (typeof globalThis["__DEV__"] === "undefined") {
|
|
19
28
|
globalThis["__DEV__"] = dev;
|
|
20
29
|
}
|
|
21
|
-
const isNext12 = typeof
|
|
30
|
+
const isNext12 = typeof options.config?.swcMinify === "boolean";
|
|
31
|
+
if (!isNext12) {
|
|
32
|
+
throw new Error(`Next.js 12 only supported`);
|
|
33
|
+
}
|
|
22
34
|
const prefix = `${isServer ? " ssr " : " web "} |`;
|
|
23
|
-
const safeResolves =
|
|
24
|
-
|
|
25
|
-
for (const [out, mod
|
|
35
|
+
const safeResolves = (...resolves) => {
|
|
36
|
+
const res = [];
|
|
37
|
+
for (const [out, mod] of resolves) {
|
|
38
|
+
if (out.endsWith("$")) {
|
|
39
|
+
res.push([out, mod]);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
26
42
|
try {
|
|
27
|
-
|
|
28
|
-
if (replace) {
|
|
29
|
-
next[1] = next[1].replace(...replace);
|
|
30
|
-
}
|
|
31
|
-
res.push(next);
|
|
43
|
+
res.push([out, resolveEsm(mod)]);
|
|
32
44
|
} catch (err) {
|
|
45
|
+
if (out.includes(`@gorhom/bottom-sheet`)) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (process.env.DEBUG?.startsWith("tamagui")) {
|
|
49
|
+
console.log(prefix, `withTamagui skipping resolving ${out}`, err);
|
|
50
|
+
}
|
|
33
51
|
}
|
|
34
52
|
}
|
|
35
53
|
return Object.fromEntries(res);
|
|
36
|
-
}
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
54
|
+
};
|
|
55
|
+
const resolveEsm = (relativePath) => {
|
|
56
|
+
if (isServer)
|
|
57
|
+
return require.resolve(relativePath);
|
|
58
|
+
const esm = resolver(relativePath);
|
|
59
|
+
return esm ? path.join(dir, esm) : require.resolve(relativePath);
|
|
60
|
+
};
|
|
61
|
+
const rnw = tamaguiOptions.useReactNativeWebLite ? "react-native-web-lite" : "react-native-web";
|
|
62
|
+
const tamaguiAliases = safeResolves(
|
|
63
|
+
["@tamagui/core/reset.css", "@tamagui/core/reset.css"],
|
|
64
|
+
["@tamagui/core", "@tamagui/core"],
|
|
65
|
+
["react-native-svg", "@tamagui/react-native-svg"],
|
|
66
|
+
["react/jsx-runtime.js", "react/jsx-runtime"],
|
|
67
|
+
["react/jsx-runtime", "react/jsx-runtime"],
|
|
68
|
+
["react/jsx-dev-runtime.js", "react/jsx-dev-runtime"],
|
|
69
|
+
["react/jsx-dev-runtime", "react/jsx-dev-runtime"],
|
|
70
|
+
["react-native-reanimated", "react-native-reanimated"],
|
|
71
|
+
[
|
|
72
|
+
"@tamagui/rnw",
|
|
73
|
+
tamaguiOptions.useReactNativeWebLite ? "@tamagui/rnw-lite" : "@tamagui/rnw"
|
|
74
|
+
],
|
|
75
|
+
["react-native$", rnw],
|
|
76
|
+
["react-native-web$", rnw],
|
|
77
|
+
["@testing-library/react-native", "@tamagui/proxy-worm"],
|
|
78
|
+
["@gorhom/bottom-sheet$", "@gorhom/bottom-sheet"],
|
|
79
|
+
["react-native/Libraries/Renderer/shims/ReactFabric", "@tamagui/proxy-worm"],
|
|
80
|
+
...tamaguiOptions.aliasReactPackages ? [
|
|
40
81
|
["react", "react"],
|
|
41
82
|
["react-dom", "react-dom"]
|
|
42
|
-
] : []
|
|
43
|
-
|
|
83
|
+
] : []
|
|
84
|
+
);
|
|
85
|
+
const alias = {
|
|
86
|
+
...webpackConfig.resolve.alias || {},
|
|
87
|
+
...tamaguiAliases
|
|
44
88
|
};
|
|
89
|
+
if (process.env.DEBUG) {
|
|
90
|
+
console.log("Tamagui alias:", alias);
|
|
91
|
+
}
|
|
92
|
+
if (process.env.ANALYZE === "true") {
|
|
93
|
+
Object.assign(webpackConfig.optimization, {
|
|
94
|
+
concatenateModules: false
|
|
95
|
+
});
|
|
96
|
+
}
|
|
45
97
|
webpackConfig.resolve.alias = alias;
|
|
46
|
-
webpackConfig.plugins.push(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
98
|
+
webpackConfig.plugins.push(
|
|
99
|
+
new webpack.DefinePlugin({
|
|
100
|
+
"process.env.IS_STATIC": '""',
|
|
101
|
+
"process.env.TAMAGUI_TARGET": '"web"',
|
|
102
|
+
__DEV__: JSON.stringify(dev)
|
|
103
|
+
})
|
|
104
|
+
);
|
|
51
105
|
const excludeExports = tamaguiOptions.excludeReactNativeWebExports;
|
|
52
106
|
if (Array.isArray(excludeExports)) {
|
|
107
|
+
if (excludeExports.includes("PressResponder")) {
|
|
108
|
+
console.warn(
|
|
109
|
+
`\u26A0\uFE0F Warning: as of beta 118, PressReponder shouldn't be excluded in excludeReactNativeWebExports`
|
|
110
|
+
);
|
|
111
|
+
}
|
|
53
112
|
try {
|
|
54
|
-
const regexStr =
|
|
113
|
+
const regexStr = `react-native-web(-lite)?/.*(${excludeExports.join("|")}).*js`;
|
|
55
114
|
const regex = new RegExp(regexStr);
|
|
56
|
-
|
|
57
|
-
|
|
115
|
+
webpackConfig.plugins.push(
|
|
116
|
+
new webpack.NormalModuleReplacementPlugin(regex, resolveEsm("@tamagui/proxy-worm"))
|
|
117
|
+
);
|
|
58
118
|
} catch (err) {
|
|
59
|
-
console.warn(
|
|
119
|
+
console.warn(
|
|
120
|
+
`Invalid names provided to excludeReactNativeWebExports: ${excludeExports.join(", ")}`
|
|
121
|
+
);
|
|
60
122
|
}
|
|
61
123
|
}
|
|
62
124
|
if (process.env.IGNORE_TS_CONFIG_PATHS) {
|
|
@@ -69,39 +131,49 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
|
|
|
69
131
|
}
|
|
70
132
|
}
|
|
71
133
|
if (!dev) {
|
|
72
|
-
const cssMin = webpackConfig.optimization.minimizer.find(
|
|
134
|
+
const cssMin = webpackConfig.optimization.minimizer.find(
|
|
135
|
+
(x) => x.toString().includes("css-minimizer-plugin")
|
|
136
|
+
);
|
|
73
137
|
if (cssMin) {
|
|
74
|
-
webpackConfig.optimization.minimizer = webpackConfig.optimization.minimizer.slice(
|
|
138
|
+
webpackConfig.optimization.minimizer = webpackConfig.optimization.minimizer.slice(
|
|
139
|
+
cssMin.index,
|
|
140
|
+
1
|
|
141
|
+
);
|
|
75
142
|
}
|
|
76
143
|
webpackConfig.optimization.minimizer.push(new CssMinimizerPlugin());
|
|
77
144
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
145
|
+
webpackConfig.resolve.extensions = [
|
|
146
|
+
.../* @__PURE__ */ new Set([".web.tsx", ".web.ts", ".web.js", ...webpackConfig.resolve.extensions])
|
|
147
|
+
];
|
|
81
148
|
webpackConfig.resolve.mainFields.unshift("module:jsx");
|
|
82
149
|
if (isServer) {
|
|
83
|
-
const
|
|
84
|
-
var _a2;
|
|
150
|
+
const externalize = (context, request) => {
|
|
85
151
|
const fullPath = request[0] === "." ? path.join(context, request) : request;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
152
|
+
if (tamaguiOptions.shouldExcludeFromServer) {
|
|
153
|
+
const userRes = tamaguiOptions.shouldExcludeFromServer({
|
|
154
|
+
context,
|
|
155
|
+
request,
|
|
156
|
+
fullPath
|
|
157
|
+
});
|
|
158
|
+
if (userRes !== void 0) {
|
|
159
|
+
return userRes;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
const SEP = path.sep;
|
|
163
|
+
if (fullPath === "react-native" || fullPath.startsWith(`react-native${SEP}`)) {
|
|
164
|
+
return false;
|
|
93
165
|
}
|
|
94
|
-
if (fullPath.startsWith("react-native-web") || fullPath.includes(
|
|
166
|
+
if (fullPath.startsWith("react-native-web") || fullPath.includes(`node_modules${SEP}react-native-web`) || new RegExp(`^(react-dom|react)${SEP}$`).test(fullPath)) {
|
|
95
167
|
return `commonjs ${fullPath}`;
|
|
96
168
|
}
|
|
97
|
-
if (fullPath.
|
|
169
|
+
if (fullPath.startsWith("moti") || fullPath.startsWith("solito") || fullPath === "tamagui" || fullPath.startsWith("@tamagui") || fullPath === "react-native-safe-area-context" || fullPath === "expo-linear-gradient" || fullPath.startsWith("@react-navigation") || fullPath.startsWith("@gorhom")) {
|
|
98
170
|
return;
|
|
99
171
|
}
|
|
100
|
-
if (
|
|
172
|
+
if (/^@?react-native-/.test(request)) {
|
|
101
173
|
return false;
|
|
102
174
|
}
|
|
103
175
|
return true;
|
|
104
|
-
}
|
|
176
|
+
};
|
|
105
177
|
webpackConfig.externals = [
|
|
106
178
|
...webpackConfig.externals.map((external) => {
|
|
107
179
|
if (typeof external !== "function") {
|
|
@@ -109,7 +181,7 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
|
|
|
109
181
|
}
|
|
110
182
|
return (ctx, cb) => {
|
|
111
183
|
const isCb = typeof cb === "function";
|
|
112
|
-
const res =
|
|
184
|
+
const res = externalize(ctx.context, ctx.request);
|
|
113
185
|
if (isCb) {
|
|
114
186
|
if (typeof res === "string") {
|
|
115
187
|
return cb(null, res);
|
|
@@ -125,56 +197,88 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
|
|
|
125
197
|
];
|
|
126
198
|
}
|
|
127
199
|
const oneOfRule = webpackConfig.module.rules.find((x) => !!x.oneOf);
|
|
128
|
-
const cssLoader = getGlobalCssLoader(
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
200
|
+
const cssLoader = getGlobalCssLoader(
|
|
201
|
+
{
|
|
202
|
+
assetPrefix: options.config.assetPrefix || config.assetPrefix,
|
|
203
|
+
future: nextConfig.future,
|
|
204
|
+
experimental: nextConfig.experimental || {},
|
|
205
|
+
isClient: !isServer,
|
|
206
|
+
isServer,
|
|
207
|
+
isDevelopment: dev
|
|
208
|
+
},
|
|
209
|
+
() => lazyPostCSS(dir, getSupportedBrowsers(dir, dev)),
|
|
210
|
+
[]
|
|
211
|
+
);
|
|
136
212
|
if (oneOfRule) {
|
|
213
|
+
if (!tamaguiOptions.disableFontSupport) {
|
|
214
|
+
oneOfRule.oneOf.unshift({
|
|
215
|
+
test: /\.(woff(2)?|eot|ttf|otf)(\?v=\d+\.\d+\.\d+)?$/,
|
|
216
|
+
use: [
|
|
217
|
+
{
|
|
218
|
+
loader: require.resolve("url-loader"),
|
|
219
|
+
options: {
|
|
220
|
+
limit: nextConfig.inlineFontLimit || 1024,
|
|
221
|
+
fallback: require.resolve("file-loader"),
|
|
222
|
+
publicPath: `${nextConfig.assetPrefix || ""}/_next/static/chunks/fonts/`,
|
|
223
|
+
outputPath: `${isServer ? "../" : ""}static/chunks/fonts/`,
|
|
224
|
+
name: "[name].[ext]"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
]
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
const cssTest = tamaguiOptions.includeCSSTest ?? ((file) => {
|
|
231
|
+
return file.endsWith(".css");
|
|
232
|
+
});
|
|
137
233
|
if (!dev) {
|
|
138
234
|
const postCSSLoader = cssLoader[cssLoader.length - 1];
|
|
139
235
|
oneOfRule.oneOf.unshift({
|
|
140
|
-
test:
|
|
236
|
+
test: cssTest,
|
|
141
237
|
use: [MiniCSSExtractPlugin.loader, "css-loader", postCSSLoader],
|
|
142
238
|
sideEffects: true
|
|
143
239
|
});
|
|
144
|
-
webpackConfig.plugins.push(
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
240
|
+
webpackConfig.plugins.push(
|
|
241
|
+
new MiniCSSExtractPlugin({
|
|
242
|
+
filename: "static/css/[contenthash].css",
|
|
243
|
+
ignoreOrder: true,
|
|
244
|
+
runtime: false
|
|
245
|
+
})
|
|
246
|
+
);
|
|
247
|
+
if (tamaguiOptions.inlineCSS) {
|
|
248
|
+
webpackConfig.plugins.push(new InlineCSSPlugin());
|
|
249
|
+
}
|
|
149
250
|
} else {
|
|
150
251
|
oneOfRule.oneOf.unshift({
|
|
151
|
-
test:
|
|
252
|
+
test: cssTest,
|
|
152
253
|
sideEffects: true,
|
|
153
254
|
use: cssLoader
|
|
154
255
|
});
|
|
155
256
|
}
|
|
156
257
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
258
|
+
const firstOneOfRule = webpackConfig.module.rules.findIndex((x) => x && !!x.oneOf);
|
|
259
|
+
const oneOfJSRules = webpackConfig.module.rules[firstOneOfRule].oneOf;
|
|
260
|
+
const afterSWCLoaderIndex = oneOfJSRules.findIndex(
|
|
261
|
+
(x) => x && x.use && x.use.loader === "next-swc-loader" && x.issuerLayer !== "api"
|
|
262
|
+
) + 1;
|
|
263
|
+
const swcLoader = oneOfJSRules[afterSWCLoaderIndex];
|
|
264
|
+
oneOfJSRules.splice(
|
|
265
|
+
afterSWCLoaderIndex,
|
|
266
|
+
0,
|
|
267
|
+
{
|
|
268
|
+
test: /(bottom-sheet|react-native-reanimated).*\.[tj]sx?$/,
|
|
164
269
|
use: [
|
|
165
270
|
{
|
|
166
271
|
loader: "babel-loader",
|
|
167
272
|
options: {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
"@babel/plugin-transform-react-jsx"
|
|
171
|
-
]
|
|
273
|
+
presets: ["@babel/preset-react"],
|
|
274
|
+
plugins: ["react-native-reanimated/plugin"]
|
|
172
275
|
}
|
|
173
276
|
}
|
|
174
277
|
]
|
|
175
|
-
},
|
|
278
|
+
},
|
|
279
|
+
{
|
|
176
280
|
test: /\.(jsx?|tsx?)$/,
|
|
177
|
-
exclude: (path2) => shouldExclude(path2, options.dir
|
|
281
|
+
exclude: (path2) => shouldExclude(path2, options.dir),
|
|
178
282
|
use: [
|
|
179
283
|
...[].concat(swcLoader.use),
|
|
180
284
|
{
|
|
@@ -182,36 +286,8 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
|
|
|
182
286
|
options: tamaguiOptions
|
|
183
287
|
}
|
|
184
288
|
]
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
const [first, second, ...rest] = webpackConfig.module.rules;
|
|
188
|
-
webpackConfig.module.rules = [
|
|
189
|
-
first,
|
|
190
|
-
second,
|
|
191
|
-
{
|
|
192
|
-
test: /\.(tsx|jsx)$/,
|
|
193
|
-
exclude: (path2) => shouldExclude(path2, options.dir, tamaguiOptions),
|
|
194
|
-
use: [
|
|
195
|
-
"thread-loader",
|
|
196
|
-
{
|
|
197
|
-
loader: "esbuild-loader",
|
|
198
|
-
options: {
|
|
199
|
-
loader: "tsx",
|
|
200
|
-
minify: false
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
loader: "tamagui-loader",
|
|
205
|
-
options: {
|
|
206
|
-
prefixLogs: prefix,
|
|
207
|
-
...tamaguiOptions
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
]
|
|
211
|
-
},
|
|
212
|
-
...rest
|
|
213
|
-
];
|
|
214
|
-
}
|
|
289
|
+
}
|
|
290
|
+
);
|
|
215
291
|
if (typeof nextConfig.webpack === "function") {
|
|
216
292
|
return nextConfig.webpack(webpackConfig, options);
|
|
217
293
|
}
|
|
@@ -219,7 +295,7 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
|
|
|
219
295
|
}
|
|
220
296
|
};
|
|
221
297
|
};
|
|
222
|
-
}
|
|
298
|
+
};
|
|
223
299
|
function getSupportedBrowsers(dir, isDevelopment) {
|
|
224
300
|
let browsers;
|
|
225
301
|
try {
|
|
@@ -231,7 +307,7 @@ function getSupportedBrowsers(dir, isDevelopment) {
|
|
|
231
307
|
}
|
|
232
308
|
return browsers;
|
|
233
309
|
}
|
|
234
|
-
__name(getSupportedBrowsers, "getSupportedBrowsers");
|
|
235
310
|
export {
|
|
236
311
|
withTamagui
|
|
237
312
|
};
|
|
313
|
+
//# sourceMappingURL=withTamagui.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/withTamagui.ts"],
|
|
4
|
+
"sourcesContent": ["import path, { join } from 'path'\n\nimport type { TamaguiOptions } from '@tamagui/static'\nimport browserslist from 'browserslist'\nimport CssMinimizerPlugin from 'css-minimizer-webpack-plugin'\nimport buildResolver from 'esm-resolve'\nimport InlineCSSPlugin from 'html-inline-css-webpack-plugin'\nimport MiniCSSExtractPlugin from 'mini-css-extract-plugin'\nimport { lazyPostCSS } from 'next/dist/build/webpack/config/blocks/css'\nimport { getGlobalCssLoader } from 'next/dist/build/webpack/config/blocks/css/loaders'\nimport { shouldExclude as shouldExcludeDefault } from 'tamagui-loader'\nimport webpack from 'webpack'\n\nexport type WithTamaguiProps = TamaguiOptions & {\n useReactNativeWebLite: boolean\n disableFontSupport?: boolean\n aliasReactPackages?: boolean\n includeCSSTest?: RegExp | ((path: string) => boolean)\n inlineCSS?: boolean\n shouldExtract?: (path: string, projectRoot: string) => boolean | undefined\n shouldExcludeFromServer?: (props: {\n context: string\n request: string\n fullPath: string\n }) => boolean | string | undefined\n}\n\nexport const withTamagui = (tamaguiOptions: WithTamaguiProps) => {\n // allows configuration\n const shouldExclude = (path: string, projectRoot: string) => {\n const res = tamaguiOptions.shouldExtract?.(path, projectRoot)\n if (typeof res === 'boolean') {\n return !res\n }\n return shouldExcludeDefault(path, projectRoot)\n }\n\n return (nextConfig: any = {}) => {\n return {\n ...nextConfig,\n webpack: (webpackConfig: any, options: any) => {\n const { dir, config, dev, isServer } = options\n\n const resolver = buildResolver(join(dir, 'index.js'), {\n constraints: 'node',\n })\n\n // @ts-ignore\n if (typeof globalThis['__DEV__'] === 'undefined') {\n // @ts-ignore\n globalThis['__DEV__'] = dev\n }\n\n const isNext12 = typeof options.config?.swcMinify === 'boolean'\n if (!isNext12) {\n throw new Error(`Next.js 12 only supported`)\n }\n\n const prefix = `${isServer ? ' ssr ' : ' web '} |`\n\n const safeResolves = (...resolves: [string, string][]) => {\n const res: string[][] = []\n for (const [out, mod] of resolves) {\n if (out.endsWith('$')) {\n res.push([out, mod])\n continue\n }\n try {\n res.push([out, resolveEsm(mod)])\n } catch (err) {\n if (out.includes(`@gorhom/bottom-sheet`)) {\n continue\n }\n if (process.env.DEBUG?.startsWith('tamagui')) {\n // eslint-disable-next-line no-console\n console.log(prefix, `withTamagui skipping resolving ${out}`, err)\n }\n }\n }\n return Object.fromEntries(res)\n }\n\n const resolveEsm = (relativePath: string) => {\n if (isServer) return require.resolve(relativePath)\n const esm = resolver(relativePath)\n return esm ? path.join(dir, esm) : require.resolve(relativePath)\n }\n\n const rnw = tamaguiOptions.useReactNativeWebLite\n ? 'react-native-web-lite'\n : 'react-native-web'\n\n const tamaguiAliases = safeResolves(\n ['@tamagui/core/reset.css', '@tamagui/core/reset.css'],\n ['@tamagui/core', '@tamagui/core'],\n ['react-native-svg', '@tamagui/react-native-svg'],\n // fixes https://github.com/kentcdodds/mdx-bundler/issues/143\n ['react/jsx-runtime.js', 'react/jsx-runtime'],\n ['react/jsx-runtime', 'react/jsx-runtime'],\n ['react/jsx-dev-runtime.js', 'react/jsx-dev-runtime'],\n ['react/jsx-dev-runtime', 'react/jsx-dev-runtime'],\n ['react-native-reanimated', 'react-native-reanimated'],\n // match commonjs to react-native-web\n // i'd do esm but needs better docs, have to transpile\n [\n '@tamagui/rnw',\n tamaguiOptions.useReactNativeWebLite ? '@tamagui/rnw-lite' : '@tamagui/rnw',\n ],\n ['react-native$', rnw],\n ['react-native-web$', rnw],\n ['@testing-library/react-native', '@tamagui/proxy-worm'],\n ['@gorhom/bottom-sheet$', '@gorhom/bottom-sheet'],\n // fix reanimated 3\n ['react-native/Libraries/Renderer/shims/ReactFabric', '@tamagui/proxy-worm'],\n ...(tamaguiOptions.aliasReactPackages\n ? ([\n ['react', 'react'],\n ['react-dom', 'react-dom'],\n ] as any)\n : [])\n )\n\n const alias = {\n ...(webpackConfig.resolve.alias || {}),\n ...tamaguiAliases,\n }\n\n if (process.env.DEBUG) {\n // eslint-disable-next-line no-console\n console.log('Tamagui alias:', alias)\n }\n\n if (process.env.ANALYZE === 'true') {\n Object.assign(webpackConfig.optimization, {\n concatenateModules: false,\n })\n }\n\n webpackConfig.resolve.alias = alias\n\n webpackConfig.plugins.push(\n new webpack.DefinePlugin({\n 'process.env.IS_STATIC': '\"\"',\n 'process.env.TAMAGUI_TARGET': '\"web\"',\n __DEV__: JSON.stringify(dev),\n })\n )\n\n const excludeExports = tamaguiOptions.excludeReactNativeWebExports\n if (Array.isArray(excludeExports)) {\n if (excludeExports.includes('PressResponder')) {\n console.warn(\n `\u26A0\uFE0F Warning: as of beta 118, PressReponder shouldn't be excluded in excludeReactNativeWebExports`\n )\n }\n try {\n const regexStr = `react-native-web(-lite)?/.*(${excludeExports.join('|')}).*js`\n const regex = new RegExp(regexStr)\n // console.log(prefix, 'exclude', regexStr)\n webpackConfig.plugins.push(\n new webpack.NormalModuleReplacementPlugin(regex, resolveEsm('@tamagui/proxy-worm'))\n )\n } catch (err) {\n console.warn(\n `Invalid names provided to excludeReactNativeWebExports: ${excludeExports.join(', ')}`\n )\n }\n }\n\n if (process.env.IGNORE_TS_CONFIG_PATHS) {\n if (process.env.DEBUG) {\n console.log(prefix, 'ignoring tsconfig paths')\n }\n if (webpackConfig.resolve.plugins[0]) {\n delete webpackConfig.resolve.plugins[0].paths['@tamagui/*']\n delete webpackConfig.resolve.plugins[0].paths['tamagui']\n }\n }\n\n // TODO document and make configurable\n // replaces minifier with css-minimizer-webpack-plugin which handles deduping atomic styles\n if (!dev) {\n const cssMin = webpackConfig.optimization.minimizer.find((x) =>\n x.toString().includes('css-minimizer-plugin')\n )\n if (cssMin) {\n webpackConfig.optimization.minimizer = webpackConfig.optimization.minimizer.slice(\n cssMin.index,\n 1\n )\n }\n webpackConfig.optimization.minimizer.push(new CssMinimizerPlugin())\n }\n\n webpackConfig.resolve.extensions = [\n ...new Set(['.web.tsx', '.web.ts', '.web.js', ...webpackConfig.resolve.extensions]),\n ]\n\n // look for compiled js with jsx intact as specified by module:jsx\n webpackConfig.resolve.mainFields.unshift('module:jsx')\n\n if (isServer) {\n const externalize = (context: string, request: string) => {\n const fullPath = request[0] === '.' ? path.join(context, request) : request\n\n if (tamaguiOptions.shouldExcludeFromServer) {\n const userRes = tamaguiOptions.shouldExcludeFromServer({\n context,\n request,\n fullPath,\n })\n if (userRes !== undefined) {\n return userRes\n }\n }\n\n const SEP = path.sep\n\n // must inline react-native so we can alias to react-native-web\n if (fullPath === 'react-native' || fullPath.startsWith(`react-native${SEP}`)) {\n return false\n }\n\n if (\n // feather icons uses react-native-svg which needs to be aliased\n // fullPath.includes('/feather-icons/') ||\n fullPath.startsWith('react-native-web') ||\n fullPath.includes(`node_modules${SEP}react-native-web`) ||\n new RegExp(`^(react-dom|react)${SEP}$`).test(fullPath)\n ) {\n return `commonjs ${fullPath}`\n }\n if (\n fullPath.startsWith('moti') ||\n fullPath.startsWith('solito') ||\n fullPath === 'tamagui' ||\n fullPath.startsWith('@tamagui') ||\n fullPath === 'react-native-safe-area-context' ||\n fullPath === 'expo-linear-gradient' ||\n fullPath.startsWith('@react-navigation') ||\n fullPath.startsWith('@gorhom')\n ) {\n return\n }\n if (/^@?react-native-/.test(request)) {\n return false\n }\n return true\n }\n\n // externalize react native things from bundle\n webpackConfig.externals = [\n ...webpackConfig.externals.map((external) => {\n if (typeof external !== 'function') {\n return external\n }\n // only runs on server\n return (ctx, cb) => {\n const isCb = typeof cb === 'function'\n const res = externalize(ctx.context, ctx.request)\n if (isCb) {\n if (typeof res === 'string') {\n return cb(null, res)\n }\n if (res) {\n return external(ctx, cb)\n }\n return cb()\n }\n return !res\n ? Promise.resolve(undefined)\n : typeof res === 'string'\n ? Promise.resolve(res)\n : external(ctx)\n }\n }),\n ]\n }\n\n const oneOfRule = webpackConfig.module.rules.find((x) => !!x.oneOf)\n\n const cssLoader = getGlobalCssLoader(\n // @ts-ignore\n {\n assetPrefix: options.config.assetPrefix || config.assetPrefix,\n future: nextConfig.future,\n experimental: nextConfig.experimental || {},\n isClient: !isServer,\n isServer,\n isDevelopment: dev,\n },\n // @ts-ignore\n () => lazyPostCSS(dir, getSupportedBrowsers(dir, dev)),\n []\n )\n\n if (oneOfRule) {\n if (!tamaguiOptions.disableFontSupport) {\n // fonts support\n oneOfRule.oneOf.unshift({\n test: /\\.(woff(2)?|eot|ttf|otf)(\\?v=\\d+\\.\\d+\\.\\d+)?$/,\n use: [\n {\n loader: require.resolve('url-loader'),\n options: {\n limit: nextConfig.inlineFontLimit || 1024,\n fallback: require.resolve('file-loader'),\n publicPath: `${nextConfig.assetPrefix || ''}/_next/static/chunks/fonts/`,\n outputPath: `${isServer ? '../' : ''}static/chunks/fonts/`,\n name: '[name].[ext]',\n },\n },\n ],\n })\n }\n\n const cssTest =\n tamaguiOptions.includeCSSTest ??\n ((file) => {\n return file.endsWith('.css')\n })\n\n if (!dev) {\n const postCSSLoader = cssLoader[cssLoader.length - 1]\n // replace nextjs picky style rules with simple minicssextract\n oneOfRule.oneOf.unshift({\n test: cssTest,\n use: [MiniCSSExtractPlugin.loader, 'css-loader', postCSSLoader],\n sideEffects: true,\n })\n webpackConfig.plugins.push(\n new MiniCSSExtractPlugin({\n filename: 'static/css/[contenthash].css',\n ignoreOrder: true,\n runtime: false,\n })\n )\n if (tamaguiOptions.inlineCSS) {\n webpackConfig.plugins.push(new InlineCSSPlugin())\n }\n } else {\n oneOfRule.oneOf.unshift({\n test: cssTest,\n sideEffects: true,\n use: cssLoader,\n })\n }\n }\n\n const firstOneOfRule = webpackConfig.module.rules.findIndex((x) => x && !!x.oneOf)\n const oneOfJSRules: any[] = webpackConfig.module.rules[firstOneOfRule].oneOf\n const afterSWCLoaderIndex =\n oneOfJSRules.findIndex(\n (x) => x && x.use && x.use.loader === 'next-swc-loader' && x.issuerLayer !== 'api'\n ) + 1\n const swcLoader = oneOfJSRules[afterSWCLoaderIndex]\n\n // put an earlier loader where we just do tamagui stuff before regular swc\n oneOfJSRules.splice(\n afterSWCLoaderIndex,\n 0,\n {\n test: /(bottom-sheet|react-native-reanimated).*\\.[tj]sx?$/,\n use: [\n {\n loader: 'babel-loader',\n options: {\n presets: ['@babel/preset-react'],\n plugins: ['react-native-reanimated/plugin'],\n },\n },\n ],\n },\n {\n test: /\\.(jsx?|tsx?)$/,\n exclude: (path: string) => shouldExclude(path, options.dir),\n use: [\n ...[].concat(swcLoader.use),\n {\n loader: 'tamagui-loader',\n options: tamaguiOptions,\n },\n ],\n }\n )\n\n if (typeof nextConfig.webpack === 'function') {\n return nextConfig.webpack(webpackConfig, options)\n }\n\n return webpackConfig\n },\n }\n }\n}\n\nfunction getSupportedBrowsers(dir, isDevelopment) {\n let browsers\n try {\n browsers = browserslist.loadConfig({\n path: dir,\n env: isDevelopment ? 'development' : 'production',\n })\n } catch {}\n\n return browsers\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["path"]
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,38 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/next-plugin",
|
|
3
|
-
"version": "1.0.1-beta.
|
|
3
|
+
"version": "1.0.1-beta.191",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"
|
|
6
|
+
"types": "./types/index.d.ts",
|
|
7
7
|
"main": "dist/cjs",
|
|
8
8
|
"module": "dist/esm",
|
|
9
9
|
"module:jsx": "dist/jsx",
|
|
10
10
|
"files": [
|
|
11
|
+
"src",
|
|
11
12
|
"types",
|
|
12
13
|
"dist"
|
|
13
14
|
],
|
|
14
15
|
"scripts": {
|
|
15
16
|
"build": "tamagui-build",
|
|
16
17
|
"watch": "tamagui-build --watch",
|
|
18
|
+
"lint": "eslint",
|
|
19
|
+
"lint:fix": "yarn lint --fix",
|
|
17
20
|
"clean": "tamagui-build clean",
|
|
18
21
|
"clean:build": "tamagui-build clean:build"
|
|
19
22
|
},
|
|
20
23
|
"dependencies": {
|
|
21
|
-
"@
|
|
22
|
-
"@tamagui/proxy-worm": "^1.0.1-beta.
|
|
23
|
-
"@tamagui/
|
|
24
|
+
"@babel/preset-react": "^7.16.7",
|
|
25
|
+
"@tamagui/proxy-worm": "^1.0.1-beta.191",
|
|
26
|
+
"@tamagui/react-native-svg": "^1.0.1-beta.191",
|
|
27
|
+
"@tamagui/rnw-lite": "^1.0.1-beta.191",
|
|
28
|
+
"@tamagui/static": "^1.0.1-beta.191",
|
|
24
29
|
"babel-loader": "^8.2.5",
|
|
25
|
-
"browserslist": "^4.
|
|
26
|
-
"css-
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
30
|
+
"browserslist": "^4.21.1",
|
|
31
|
+
"css-loader": "^5.2.4",
|
|
32
|
+
"css-minimizer-webpack-plugin": "^4.0.0",
|
|
33
|
+
"esbuild-loader": "^2.19.0",
|
|
34
|
+
"esm-resolve": "^1.0.8",
|
|
35
|
+
"file-loader": "^6.2.0",
|
|
36
|
+
"html-inline-css-webpack-plugin": "^1.11.1",
|
|
37
|
+
"html-webpack-plugin": "^5.5.0",
|
|
38
|
+
"mini-css-extract-plugin": "^2.6.1",
|
|
39
|
+
"tamagui-loader": "^1.0.1-beta.191",
|
|
40
|
+
"thread-loader": "^3.0.4",
|
|
41
|
+
"url-loader": "^4.1.1"
|
|
32
42
|
},
|
|
33
43
|
"devDependencies": {
|
|
34
|
-
"@tamagui/build": "^1.0.1-beta.
|
|
35
|
-
"next": "^12.
|
|
44
|
+
"@tamagui/build": "^1.0.1-beta.191",
|
|
45
|
+
"next": "^12.2.5"
|
|
36
46
|
},
|
|
37
47
|
"peerDependencies": {
|
|
38
48
|
"next": ">=12.0.0"
|
package/src/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './withTamagui'
|