@tamagui/next-plugin 2.7.7 → 3.0.0-beta.637.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.
- package/README.md +15 -0
- package/dist/cjs/index.cjs +10 -11
- package/dist/cjs/withTamagui.cjs +147 -166
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/withTamagui.mjs +139 -141
- package/dist/esm/withTamagui.mjs.map +1 -1
- package/package.json +7 -7
- package/src/withTamagui.ts +31 -6
- package/types/withTamagui.d.ts +4 -0
- package/types/withTamagui.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# `@tamagui/next-plugin`
|
|
2
|
+
|
|
3
|
+
This package is the legacy webpack compatibility adapter. It requires Next.js
|
|
4
|
+
to run with webpack and is not part of Tamagui's v3 compiler path.
|
|
5
|
+
|
|
6
|
+
For Next.js with Turbopack, use the restore-safe CLI precompile wrapper:
|
|
7
|
+
|
|
8
|
+
```json
|
|
9
|
+
{
|
|
10
|
+
"scripts": {
|
|
11
|
+
"dev": "tamagui build --target web ./src -- next dev --turbopack",
|
|
12
|
+
"build": "tamagui build --target web ./src -- next build"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
```
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
+
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
6
|
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
9
|
+
get: () => from[key],
|
|
10
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
return to;
|
|
13
14
|
};
|
|
14
15
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
16
|
-
value: true
|
|
17
|
-
}), mod);
|
|
16
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
17
|
var index_exports = {};
|
|
19
18
|
module.exports = __toCommonJS(index_exports);
|
|
20
|
-
__reExport(index_exports, require("./withTamagui.cjs"), module.exports);
|
|
19
|
+
__reExport(index_exports, require("./withTamagui.cjs"), module.exports);
|
package/dist/cjs/withTamagui.cjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -5,36 +6,27 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
|
5
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
8
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
for (var name in all) __defProp(target, name, {
|
|
10
|
+
get: all[name],
|
|
11
|
+
enumerable: true
|
|
12
|
+
});
|
|
12
13
|
};
|
|
13
14
|
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
17
|
+
get: () => from[key],
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return to;
|
|
21
22
|
};
|
|
22
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
-
value: mod,
|
|
29
|
-
enumerable: true
|
|
23
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
24
|
+
value: mod,
|
|
25
|
+
enumerable: true
|
|
30
26
|
}) : target, mod));
|
|
31
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
-
value: true
|
|
33
|
-
}), mod);
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
28
|
var withTamagui_exports = {};
|
|
35
|
-
__export(withTamagui_exports, {
|
|
36
|
-
withTamagui: () => withTamagui
|
|
37
|
-
});
|
|
29
|
+
__export(withTamagui_exports, { withTamagui: () => withTamagui });
|
|
38
30
|
module.exports = __toCommonJS(withTamagui_exports);
|
|
39
31
|
var import_static = __toESM(require("@tamagui/static"), 1);
|
|
40
32
|
var import_browserslist = __toESM(require("browserslist"), 1);
|
|
@@ -42,146 +34,135 @@ var import_css = require("next/dist/build/webpack/config/blocks/css/index.js");
|
|
|
42
34
|
var import_loaders = require("next/dist/build/webpack/config/blocks/css/loaders/index.js");
|
|
43
35
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
44
36
|
var import_tamagui_loader = require("tamagui-loader");
|
|
45
|
-
|
|
46
|
-
const {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}
|
|
167
|
-
return !res ? Promise.resolve(void 0) : typeof res === "string" ? Promise.resolve(res) : external(ctx);
|
|
168
|
-
};
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
webpackConfig.plugins.push(tamaguiPlugin);
|
|
172
|
-
if (typeof nextConfig.webpack === "function") return nextConfig.webpack(webpackConfig, options);
|
|
173
|
-
return webpackConfig;
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
};
|
|
37
|
+
const { loadTamaguiBuildConfigSync } = import_static.default;
|
|
38
|
+
const withTamagui = (tamaguiOptionsIn) => {
|
|
39
|
+
return (nextConfig = {}) => {
|
|
40
|
+
const tamaguiOptions = loadTamaguiBuildConfigSync(tamaguiOptionsIn);
|
|
41
|
+
const isAppDir = tamaguiOptions?.appDir || nextConfig.experimental?.appDir;
|
|
42
|
+
return {
|
|
43
|
+
...nextConfig,
|
|
44
|
+
transpilePackages: [...nextConfig.transpilePackages || [], "expo-linear-gradient"],
|
|
45
|
+
webpack: (webpackConfig, options) => {
|
|
46
|
+
const { dir, config, dev, isServer, webpack } = options;
|
|
47
|
+
if (typeof globalThis["__DEV__"] === "undefined") globalThis["__DEV__"] = dev;
|
|
48
|
+
const prefix = `${isServer ? " ssr " : " web "} |`;
|
|
49
|
+
const SEP = import_node_path.default.sep;
|
|
50
|
+
if (process.env.ANALYZE === "true") Object.assign(webpackConfig.optimization, { concatenateModules: false });
|
|
51
|
+
const tamaguiPlugin = new import_tamagui_loader.TamaguiPlugin({
|
|
52
|
+
platform: "web",
|
|
53
|
+
isServer,
|
|
54
|
+
...tamaguiOptions
|
|
55
|
+
});
|
|
56
|
+
const zeroMode = import_static.default.resolveZeroRuntimeSync({
|
|
57
|
+
platform: "web",
|
|
58
|
+
...tamaguiOptions
|
|
59
|
+
}, dir).mode;
|
|
60
|
+
const claimsGlobalCSS = !dev && !!import_static.default.resolveGlobalCSSOwnership({
|
|
61
|
+
platform: "web",
|
|
62
|
+
...tamaguiOptions
|
|
63
|
+
}, dir);
|
|
64
|
+
const defines = {
|
|
65
|
+
"process.env.TAMAGUI_RUNTIME": JSON.stringify(zeroMode === "enforce" ? "zero" : "full"),
|
|
66
|
+
"process.env.IS_STATIC": JSON.stringify(""),
|
|
67
|
+
"process.env.TAMAGUI_TARGET": "\"web\"",
|
|
68
|
+
"process.env.TAMAGUI_IS_SERVER": JSON.stringify(isServer ? "true" : ""),
|
|
69
|
+
"process.env.TAMAGUI_ENVIRONMENT": JSON.stringify(isServer ? "ssr" : "client"),
|
|
70
|
+
__DEV__: JSON.stringify(dev),
|
|
71
|
+
...claimsGlobalCSS && { "process.env.TAMAGUI_DID_OUTPUT_CSS": JSON.stringify("1") },
|
|
72
|
+
...process.env.TAMAGUI_DOES_SSR_CSS && { "process.env.TAMAGUI_DOES_SSR_CSS": JSON.stringify(process.env.TAMAGUI_DOES_SSR_CSS) },
|
|
73
|
+
...tamaguiOptions?.disableThemesBundleOptimize && {
|
|
74
|
+
"process.env.TAMAGUI_OPTIMIZE_THEMES": JSON.stringify(false),
|
|
75
|
+
"process.env.TAMAGUI_ENVIRONMENT": JSON.stringify(false)
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const cssRules = webpackConfig.module.rules.find((rule) => Array.isArray(rule.oneOf) && rule.oneOf.some(({ test }) => typeof test === "object" && typeof test.test === "function" && test.test("filename.css"))).oneOf;
|
|
79
|
+
if (cssRules) {
|
|
80
|
+
if (tamaguiOptions.enableLegacyFontSupport) cssRules.unshift({
|
|
81
|
+
test: /\.(woff(2)?|eot|ttf|otf)(\?v=\d+\.\d+\.\d+)?$/,
|
|
82
|
+
use: [{
|
|
83
|
+
loader: require.resolve("url-loader"),
|
|
84
|
+
options: {
|
|
85
|
+
limit: nextConfig.inlineFontLimit || 1024,
|
|
86
|
+
fallback: require.resolve("file-loader"),
|
|
87
|
+
publicPath: `${nextConfig.assetPrefix || ""}/_next/static/chunks/fonts/`,
|
|
88
|
+
outputPath: `${isServer ? "../" : ""}static/chunks/fonts/`,
|
|
89
|
+
name: "[name].[ext]"
|
|
90
|
+
}
|
|
91
|
+
}]
|
|
92
|
+
});
|
|
93
|
+
const cssLoader = (0, import_loaders.getGlobalCssLoader)({
|
|
94
|
+
assetPrefix: nextConfig.assetPrefix || options.config.assetPrefix || config.assetPrefix,
|
|
95
|
+
future: nextConfig.future,
|
|
96
|
+
experimental: nextConfig.experimental || {},
|
|
97
|
+
isEdgeRuntime: true,
|
|
98
|
+
isProduction: !dev,
|
|
99
|
+
targetWeb: true,
|
|
100
|
+
isClient: !isServer,
|
|
101
|
+
isServer,
|
|
102
|
+
isDevelopment: dev
|
|
103
|
+
}, () => (0, import_css.lazyPostCSS)(dir, getSupportedBrowsers(dir, dev)), []);
|
|
104
|
+
if (!isAppDir) cssRules.unshift({
|
|
105
|
+
test: tamaguiOptions.includeCSSTest ?? /\.tamagui\.css$/,
|
|
106
|
+
sideEffects: true,
|
|
107
|
+
use: cssLoader
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
webpackConfig.plugins.push(new webpack.DefinePlugin(defines));
|
|
111
|
+
if (process.env.IGNORE_TS_CONFIG_PATHS) {
|
|
112
|
+
if (process.env.DEBUG) console.info(prefix, "ignoring tsconfig paths");
|
|
113
|
+
if (webpackConfig.resolve.plugins[0]) delete webpackConfig.resolve.plugins[0].paths["@tamagui/*"];
|
|
114
|
+
}
|
|
115
|
+
if (!tamaguiOptions.disableOptimizeLucideIcons) {
|
|
116
|
+
nextConfig.experimental ||= {};
|
|
117
|
+
nextConfig.experimental.optimizePackageImports ||= [];
|
|
118
|
+
nextConfig.experimental.optimizePackageImports.push("@tamagui/lucide-icons-2");
|
|
119
|
+
}
|
|
120
|
+
if (isServer) {
|
|
121
|
+
const externalize = (context, request) => {
|
|
122
|
+
const fullPath = request[0] === "." ? import_node_path.default.join(context, request) : request;
|
|
123
|
+
if (tamaguiOptions.shouldExcludeFromServer) {
|
|
124
|
+
const userRes = tamaguiOptions.shouldExcludeFromServer({
|
|
125
|
+
context,
|
|
126
|
+
request,
|
|
127
|
+
fullPath
|
|
128
|
+
});
|
|
129
|
+
if (userRes !== void 0) return userRes;
|
|
130
|
+
}
|
|
131
|
+
if (tamaguiPlugin.isInComponentModule(fullPath)) return false;
|
|
132
|
+
if (fullPath.includes("react-native-web")) return false;
|
|
133
|
+
if (fullPath === "react-native" || fullPath.startsWith(`react-native${SEP}`)) return false;
|
|
134
|
+
if (fullPath.startsWith("moti") || fullPath.startsWith("solito") || fullPath.startsWith("@tamagui") || fullPath === "react-native-safe-area-context" || fullPath === "expo-linear-gradient" || fullPath.startsWith("@react-navigation") || fullPath.startsWith("@gorhom")) return;
|
|
135
|
+
if (/^@?react-native-/.test(request)) return false;
|
|
136
|
+
return true;
|
|
137
|
+
};
|
|
138
|
+
webpackConfig.externals = webpackConfig.externals.map((external) => {
|
|
139
|
+
if (typeof external !== "function") return external;
|
|
140
|
+
return (ctx, cb) => {
|
|
141
|
+
const isCb = typeof cb === "function";
|
|
142
|
+
const res = externalize(ctx.context, ctx.request);
|
|
143
|
+
if (isCb) {
|
|
144
|
+
if (typeof res === "string") return cb(null, res);
|
|
145
|
+
if (res) return external(ctx, cb);
|
|
146
|
+
return cb();
|
|
147
|
+
}
|
|
148
|
+
return !res ? Promise.resolve(void 0) : typeof res === "string" ? Promise.resolve(res) : external(ctx);
|
|
149
|
+
};
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
webpackConfig.plugins.push(tamaguiPlugin);
|
|
153
|
+
if (typeof nextConfig.webpack === "function") return nextConfig.webpack(webpackConfig, options);
|
|
154
|
+
return webpackConfig;
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
};
|
|
177
158
|
};
|
|
178
159
|
function getSupportedBrowsers(dir, isDevelopment) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
160
|
+
let browsers;
|
|
161
|
+
try {
|
|
162
|
+
browsers = import_browserslist.default.loadConfig({
|
|
163
|
+
path: dir,
|
|
164
|
+
env: isDevelopment ? "development" : "production"
|
|
165
|
+
});
|
|
166
|
+
} catch {}
|
|
167
|
+
return browsers;
|
|
168
|
+
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from "./withTamagui.mjs"
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export * from "./withTamagui.mjs"
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from "./withTamagui.mjs"
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|
|
1
|
+
export * from "./withTamagui.mjs"
|
package/dist/esm/withTamagui.mjs
CHANGED
|
@@ -4,150 +4,148 @@ import { lazyPostCSS } from "next/dist/build/webpack/config/blocks/css/index.js"
|
|
|
4
4
|
import { getGlobalCssLoader } from "next/dist/build/webpack/config/blocks/css/loaders/index.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { TamaguiPlugin } from "tamagui-loader";
|
|
7
|
-
|
|
8
|
-
var __require = /* @__PURE__ */(x => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
12
|
-
throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
7
|
+
|
|
8
|
+
var __require$1 = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
|
|
9
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
10
|
+
throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
13
11
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
};
|
|
12
|
+
|
|
13
|
+
var __require = /* @__PURE__ */ ((x) => typeof __require$1 !== "undefined" ? __require$1 : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof __require$1 !== "undefined" ? __require$1 : a)[b] }) : x)(function(x) {
|
|
14
|
+
if (typeof __require$1 !== "undefined") return __require$1.apply(this, arguments);
|
|
15
|
+
throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
16
|
+
});
|
|
17
|
+
const { loadTamaguiBuildConfigSync } = Static;
|
|
18
|
+
const withTamagui = (tamaguiOptionsIn) => {
|
|
19
|
+
return (nextConfig = {}) => {
|
|
20
|
+
const tamaguiOptions = loadTamaguiBuildConfigSync(tamaguiOptionsIn);
|
|
21
|
+
const isAppDir = tamaguiOptions?.appDir || nextConfig.experimental?.appDir;
|
|
22
|
+
return {
|
|
23
|
+
...nextConfig,
|
|
24
|
+
transpilePackages: [...nextConfig.transpilePackages || [], "expo-linear-gradient"],
|
|
25
|
+
webpack: (webpackConfig, options) => {
|
|
26
|
+
const { dir, config, dev, isServer, webpack } = options;
|
|
27
|
+
if (typeof globalThis["__DEV__"] === "undefined") globalThis["__DEV__"] = dev;
|
|
28
|
+
const prefix = `${isServer ? " ssr " : " web "} |`;
|
|
29
|
+
const SEP = path.sep;
|
|
30
|
+
if (process.env.ANALYZE === "true") Object.assign(webpackConfig.optimization, { concatenateModules: false });
|
|
31
|
+
const tamaguiPlugin = new TamaguiPlugin({
|
|
32
|
+
platform: "web",
|
|
33
|
+
isServer,
|
|
34
|
+
...tamaguiOptions
|
|
35
|
+
});
|
|
36
|
+
const zeroMode = Static.resolveZeroRuntimeSync({
|
|
37
|
+
platform: "web",
|
|
38
|
+
...tamaguiOptions
|
|
39
|
+
}, dir).mode;
|
|
40
|
+
const claimsGlobalCSS = !dev && !!Static.resolveGlobalCSSOwnership({
|
|
41
|
+
platform: "web",
|
|
42
|
+
...tamaguiOptions
|
|
43
|
+
}, dir);
|
|
44
|
+
const defines = {
|
|
45
|
+
"process.env.TAMAGUI_RUNTIME": JSON.stringify(zeroMode === "enforce" ? "zero" : "full"),
|
|
46
|
+
"process.env.IS_STATIC": JSON.stringify(""),
|
|
47
|
+
"process.env.TAMAGUI_TARGET": "\"web\"",
|
|
48
|
+
"process.env.TAMAGUI_IS_SERVER": JSON.stringify(isServer ? "true" : ""),
|
|
49
|
+
"process.env.TAMAGUI_ENVIRONMENT": JSON.stringify(isServer ? "ssr" : "client"),
|
|
50
|
+
__DEV__: JSON.stringify(dev),
|
|
51
|
+
...claimsGlobalCSS && { "process.env.TAMAGUI_DID_OUTPUT_CSS": JSON.stringify("1") },
|
|
52
|
+
...process.env.TAMAGUI_DOES_SSR_CSS && { "process.env.TAMAGUI_DOES_SSR_CSS": JSON.stringify(process.env.TAMAGUI_DOES_SSR_CSS) },
|
|
53
|
+
...tamaguiOptions?.disableThemesBundleOptimize && {
|
|
54
|
+
"process.env.TAMAGUI_OPTIMIZE_THEMES": JSON.stringify(false),
|
|
55
|
+
"process.env.TAMAGUI_ENVIRONMENT": JSON.stringify(false)
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const cssRules = webpackConfig.module.rules.find((rule) => Array.isArray(rule.oneOf) && rule.oneOf.some(({ test }) => typeof test === "object" && typeof test.test === "function" && test.test("filename.css"))).oneOf;
|
|
59
|
+
if (cssRules) {
|
|
60
|
+
if (tamaguiOptions.enableLegacyFontSupport) cssRules.unshift({
|
|
61
|
+
test: /\.(woff(2)?|eot|ttf|otf)(\?v=\d+\.\d+\.\d+)?$/,
|
|
62
|
+
use: [{
|
|
63
|
+
loader: __require.resolve("url-loader"),
|
|
64
|
+
options: {
|
|
65
|
+
limit: nextConfig.inlineFontLimit || 1024,
|
|
66
|
+
fallback: __require.resolve("file-loader"),
|
|
67
|
+
publicPath: `${nextConfig.assetPrefix || ""}/_next/static/chunks/fonts/`,
|
|
68
|
+
outputPath: `${isServer ? "../" : ""}static/chunks/fonts/`,
|
|
69
|
+
name: "[name].[ext]"
|
|
70
|
+
}
|
|
71
|
+
}]
|
|
72
|
+
});
|
|
73
|
+
const cssLoader = getGlobalCssLoader({
|
|
74
|
+
assetPrefix: nextConfig.assetPrefix || options.config.assetPrefix || config.assetPrefix,
|
|
75
|
+
future: nextConfig.future,
|
|
76
|
+
experimental: nextConfig.experimental || {},
|
|
77
|
+
isEdgeRuntime: true,
|
|
78
|
+
isProduction: !dev,
|
|
79
|
+
targetWeb: true,
|
|
80
|
+
isClient: !isServer,
|
|
81
|
+
isServer,
|
|
82
|
+
isDevelopment: dev
|
|
83
|
+
}, () => lazyPostCSS(dir, getSupportedBrowsers(dir, dev)), []);
|
|
84
|
+
if (!isAppDir) cssRules.unshift({
|
|
85
|
+
test: tamaguiOptions.includeCSSTest ?? /\.tamagui\.css$/,
|
|
86
|
+
sideEffects: true,
|
|
87
|
+
use: cssLoader
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
webpackConfig.plugins.push(new webpack.DefinePlugin(defines));
|
|
91
|
+
if (process.env.IGNORE_TS_CONFIG_PATHS) {
|
|
92
|
+
if (process.env.DEBUG) console.info(prefix, "ignoring tsconfig paths");
|
|
93
|
+
if (webpackConfig.resolve.plugins[0]) delete webpackConfig.resolve.plugins[0].paths["@tamagui/*"];
|
|
94
|
+
}
|
|
95
|
+
if (!tamaguiOptions.disableOptimizeLucideIcons) {
|
|
96
|
+
nextConfig.experimental ||= {};
|
|
97
|
+
nextConfig.experimental.optimizePackageImports ||= [];
|
|
98
|
+
nextConfig.experimental.optimizePackageImports.push("@tamagui/lucide-icons-2");
|
|
99
|
+
}
|
|
100
|
+
if (isServer) {
|
|
101
|
+
const externalize = (context, request) => {
|
|
102
|
+
const fullPath = request[0] === "." ? path.join(context, request) : request;
|
|
103
|
+
if (tamaguiOptions.shouldExcludeFromServer) {
|
|
104
|
+
const userRes = tamaguiOptions.shouldExcludeFromServer({
|
|
105
|
+
context,
|
|
106
|
+
request,
|
|
107
|
+
fullPath
|
|
108
|
+
});
|
|
109
|
+
if (userRes !== void 0) return userRes;
|
|
110
|
+
}
|
|
111
|
+
if (tamaguiPlugin.isInComponentModule(fullPath)) return false;
|
|
112
|
+
if (fullPath.includes("react-native-web")) return false;
|
|
113
|
+
if (fullPath === "react-native" || fullPath.startsWith(`react-native${SEP}`)) return false;
|
|
114
|
+
if (fullPath.startsWith("moti") || fullPath.startsWith("solito") || fullPath.startsWith("@tamagui") || fullPath === "react-native-safe-area-context" || fullPath === "expo-linear-gradient" || fullPath.startsWith("@react-navigation") || fullPath.startsWith("@gorhom")) return;
|
|
115
|
+
if (/^@?react-native-/.test(request)) return false;
|
|
116
|
+
return true;
|
|
117
|
+
};
|
|
118
|
+
webpackConfig.externals = webpackConfig.externals.map((external) => {
|
|
119
|
+
if (typeof external !== "function") return external;
|
|
120
|
+
return (ctx, cb) => {
|
|
121
|
+
const isCb = typeof cb === "function";
|
|
122
|
+
const res = externalize(ctx.context, ctx.request);
|
|
123
|
+
if (isCb) {
|
|
124
|
+
if (typeof res === "string") return cb(null, res);
|
|
125
|
+
if (res) return external(ctx, cb);
|
|
126
|
+
return cb();
|
|
127
|
+
}
|
|
128
|
+
return !res ? Promise.resolve(void 0) : typeof res === "string" ? Promise.resolve(res) : external(ctx);
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
webpackConfig.plugins.push(tamaguiPlugin);
|
|
133
|
+
if (typeof nextConfig.webpack === "function") return nextConfig.webpack(webpackConfig, options);
|
|
134
|
+
return webpackConfig;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
};
|
|
141
138
|
};
|
|
142
139
|
function getSupportedBrowsers(dir, isDevelopment) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
140
|
+
let browsers;
|
|
141
|
+
try {
|
|
142
|
+
browsers = browserslist.loadConfig({
|
|
143
|
+
path: dir,
|
|
144
|
+
env: isDevelopment ? "development" : "production"
|
|
145
|
+
});
|
|
146
|
+
} catch {}
|
|
147
|
+
return browsers;
|
|
151
148
|
}
|
|
149
|
+
|
|
152
150
|
export { withTamagui };
|
|
153
151
|
//# sourceMappingURL=withTamagui.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Static","browserslist","lazyPostCSS","getGlobalCssLoader","path","TamaguiPlugin","webpack","__require","x","require","Proxy","get","a","b","apply","arguments","Error","loadTamaguiBuildConfigSync","withTamagui","tamaguiOptionsIn","nextConfig","tamaguiOptions","isAppDir","appDir","experimental","transpilePackages","webpackConfig","options","dir","config","dev","isServer","globalThis","prefix","SEP","sep","process","env","ANALYZE","Object","assign","optimization","concatenateModules","tamaguiPlugin","platform","defines","JSON","stringify","__DEV__","TAMAGUI_DOES_SSR_CSS","disableThemesBundleOptimize","cssRules","module","rules","find","rule","Array","isArray","oneOf","some","test","enableLegacyFontSupport","unshift","use","loader","resolve","limit","inlineFontLimit","fallback","publicPath","assetPrefix","outputPath","name","cssLoader","future","isEdgeRuntime","isProduction","targetWeb","isClient","isDevelopment","getSupportedBrowsers","includeCSSTest","sideEffects","plugins","push","DefinePlugin","IGNORE_TS_CONFIG_PATHS","DEBUG","console","info","paths","disableOptimizeLucideIcons","optimizePackageImports","externalize","context","request","fullPath","join","shouldExcludeFromServer","userRes","isInComponentModule","includes","startsWith","externals","map","external","ctx","cb","isCb","res","Promise","browsers","loadConfig"],"sources":["withTamagui.mjs"],"sourcesContent":["import Static from \"@tamagui/static\";\nimport browserslist from \"browserslist\";\nimport { lazyPostCSS } from \"next/dist/build/webpack/config/blocks/css/index.js\";\nimport { getGlobalCssLoader } from \"next/dist/build/webpack/config/blocks/css/loaders/index.js\";\nimport path from \"node:path\";\nimport { TamaguiPlugin } from \"tamagui-loader\";\nimport webpack from \"webpack\";\n\nvar __require = /* @__PURE__ */ ((x) => typeof require !== \"undefined\" ? require : typeof Proxy !== \"undefined\" ? new Proxy(x, { get: (a, b) => (typeof require !== \"undefined\" ? require : a)[b] }) : x)(function(x) {\n\tif (typeof require !== \"undefined\") return require.apply(this, arguments);\n\tthrow Error(\"Calling `require` for \\\"\" + x + \"\\\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.\");\n});\n\nconst { loadTamaguiBuildConfigSync } = Static;\nconst withTamagui = (tamaguiOptionsIn) => {\n\treturn (nextConfig = {}) => {\n\t\tconst tamaguiOptions = {\n\t\t\t...tamaguiOptionsIn,\n\t\t\t...loadTamaguiBuildConfigSync(tamaguiOptionsIn)\n\t\t};\n\t\tconst isAppDir = tamaguiOptions?.appDir || nextConfig.experimental?.appDir;\n\t\treturn {\n\t\t\t...nextConfig,\n\t\t\ttranspilePackages: [...nextConfig.transpilePackages || [], \"expo-linear-gradient\"],\n\t\t\twebpack: (webpackConfig, options) => {\n\t\t\t\tconst { dir, config, dev, isServer } = options;\n\t\t\t\tif (typeof globalThis[\"__DEV__\"] === \"undefined\") globalThis[\"__DEV__\"] = dev;\n\t\t\t\tconst prefix = `${isServer ? \" ssr \" : \" web \"} |`;\n\t\t\t\tconst SEP = path.sep;\n\t\t\t\tif (process.env.ANALYZE === \"true\") Object.assign(webpackConfig.optimization, { concatenateModules: false });\n\t\t\t\tconst tamaguiPlugin = new TamaguiPlugin({\n\t\t\t\t\tplatform: \"web\",\n\t\t\t\t\tisServer,\n\t\t\t\t\t...tamaguiOptions\n\t\t\t\t});\n\t\t\t\tconst defines = {\n\t\t\t\t\t\"process.env.IS_STATIC\": JSON.stringify(\"\"),\n\t\t\t\t\t\"process.env.TAMAGUI_TARGET\": \"\\\"web\\\"\",\n\t\t\t\t\t\"process.env.TAMAGUI_IS_SERVER\": JSON.stringify(isServer ? \"true\" : \"\"),\n\t\t\t\t\t\"process.env.TAMAGUI_ENVIRONMENT\": JSON.stringify(isServer ? \"ssr\" : \"client\"),\n\t\t\t\t\t__DEV__: JSON.stringify(dev),\n\t\t\t\t\t...process.env.TAMAGUI_DOES_SSR_CSS && { \"process.env.TAMAGUI_DOES_SSR_CSS\": JSON.stringify(process.env.TAMAGUI_DOES_SSR_CSS) },\n\t\t\t\t\t...tamaguiOptions?.disableThemesBundleOptimize && {\n\t\t\t\t\t\t\"process.env.TAMAGUI_OPTIMIZE_THEMES\": JSON.stringify(false),\n\t\t\t\t\t\t\"process.env.TAMAGUI_ENVIRONMENT\": JSON.stringify(false)\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst cssRules = webpackConfig.module.rules.find((rule) => Array.isArray(rule.oneOf) && rule.oneOf.some(({ test }) => typeof test === \"object\" && typeof test.test === \"function\" && test.test(\"filename.css\"))).oneOf;\n\t\t\t\tif (cssRules) {\n\t\t\t\t\tif (tamaguiOptions.enableLegacyFontSupport) cssRules.unshift({\n\t\t\t\t\t\ttest: /\\.(woff(2)?|eot|ttf|otf)(\\?v=\\d+\\.\\d+\\.\\d+)?$/,\n\t\t\t\t\t\tuse: [{\n\t\t\t\t\t\t\tloader: __require.resolve(\"url-loader\"),\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tlimit: nextConfig.inlineFontLimit || 1024,\n\t\t\t\t\t\t\t\tfallback: __require.resolve(\"file-loader\"),\n\t\t\t\t\t\t\t\tpublicPath: `${nextConfig.assetPrefix || \"\"}/_next/static/chunks/fonts/`,\n\t\t\t\t\t\t\t\toutputPath: `${isServer ? \"../\" : \"\"}static/chunks/fonts/`,\n\t\t\t\t\t\t\t\tname: \"[name].[ext]\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tconst cssLoader = getGlobalCssLoader({\n\t\t\t\t\t\tassetPrefix: nextConfig.assetPrefix || options.config.assetPrefix || config.assetPrefix,\n\t\t\t\t\t\tfuture: nextConfig.future,\n\t\t\t\t\t\texperimental: nextConfig.experimental || {},\n\t\t\t\t\t\tisEdgeRuntime: true,\n\t\t\t\t\t\tisProduction: !dev,\n\t\t\t\t\t\ttargetWeb: true,\n\t\t\t\t\t\tisClient: !isServer,\n\t\t\t\t\t\tisServer,\n\t\t\t\t\t\tisDevelopment: dev\n\t\t\t\t\t}, () => lazyPostCSS(dir, getSupportedBrowsers(dir, dev)), []);\n\t\t\t\t\tif (!isAppDir) cssRules.unshift({\n\t\t\t\t\t\ttest: tamaguiOptions.includeCSSTest ?? /\\.tamagui\\.css$/,\n\t\t\t\t\t\tsideEffects: true,\n\t\t\t\t\t\tuse: cssLoader\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\twebpackConfig.plugins.push(new webpack.DefinePlugin(defines));\n\t\t\t\tif (process.env.IGNORE_TS_CONFIG_PATHS) {\n\t\t\t\t\tif (process.env.DEBUG) console.info(prefix, \"ignoring tsconfig paths\");\n\t\t\t\t\tif (webpackConfig.resolve.plugins[0]) delete webpackConfig.resolve.plugins[0].paths[\"@tamagui/*\"];\n\t\t\t\t}\n\t\t\t\tif (!tamaguiOptions.disableOptimizeLucideIcons) {\n\t\t\t\t\tnextConfig.experimental ||= {};\n\t\t\t\t\tnextConfig.experimental.optimizePackageImports ||= [];\n\t\t\t\t\tnextConfig.experimental.optimizePackageImports.push(\"@tamagui/lucide-icons-2\");\n\t\t\t\t}\n\t\t\t\tif (isServer) {\n\t\t\t\t\tconst externalize = (context, request) => {\n\t\t\t\t\t\tconst fullPath = request[0] === \".\" ? path.join(context, request) : request;\n\t\t\t\t\t\tif (tamaguiOptions.shouldExcludeFromServer) {\n\t\t\t\t\t\t\tconst userRes = tamaguiOptions.shouldExcludeFromServer({\n\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\trequest,\n\t\t\t\t\t\t\t\tfullPath\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (userRes !== void 0) return userRes;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (tamaguiPlugin.isInComponentModule(fullPath)) return false;\n\t\t\t\t\t\tif (fullPath.includes(\"react-native-web\")) return false;\n\t\t\t\t\t\tif (fullPath === \"react-native\" || fullPath.startsWith(`react-native${SEP}`)) return false;\n\t\t\t\t\t\tif (fullPath.startsWith(\"moti\") || fullPath.startsWith(\"solito\") || fullPath.startsWith(\"@tamagui\") || fullPath === \"react-native-safe-area-context\" || fullPath === \"expo-linear-gradient\" || fullPath.startsWith(\"@react-navigation\") || fullPath.startsWith(\"@gorhom\")) return;\n\t\t\t\t\t\tif (/^@?react-native-/.test(request)) return false;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t};\n\t\t\t\t\twebpackConfig.externals = webpackConfig.externals.map((external) => {\n\t\t\t\t\t\tif (typeof external !== \"function\") return external;\n\t\t\t\t\t\treturn (ctx, cb) => {\n\t\t\t\t\t\t\tconst isCb = typeof cb === \"function\";\n\t\t\t\t\t\t\tconst res = externalize(ctx.context, ctx.request);\n\t\t\t\t\t\t\tif (isCb) {\n\t\t\t\t\t\t\t\tif (typeof res === \"string\") return cb(null, res);\n\t\t\t\t\t\t\t\tif (res) return external(ctx, cb);\n\t\t\t\t\t\t\t\treturn cb();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn !res ? Promise.resolve(void 0) : typeof res === \"string\" ? Promise.resolve(res) : external(ctx);\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\twebpackConfig.plugins.push(tamaguiPlugin);\n\t\t\t\tif (typeof nextConfig.webpack === \"function\") return nextConfig.webpack(webpackConfig, options);\n\t\t\t\treturn webpackConfig;\n\t\t\t}\n\t\t};\n\t};\n};\nfunction getSupportedBrowsers(dir, isDevelopment) {\n\tlet browsers;\n\ttry {\n\t\tbrowsers = browserslist.loadConfig({\n\t\t\tpath: dir,\n\t\t\tenv: isDevelopment ? \"development\" : \"production\"\n\t\t});\n\t} catch {}\n\treturn browsers;\n}\n\nexport { withTamagui };"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"withTamagui.js","names":[],"sources":["esm/withTamagui.js"],"sourcesContent":["import Static from \"@tamagui/static\";\nimport browserslist from \"browserslist\";\nimport { lazyPostCSS } from \"next/dist/build/webpack/config/blocks/css/index.js\";\nimport { getGlobalCssLoader } from \"next/dist/build/webpack/config/blocks/css/loaders/index.js\";\nimport path from \"node:path\";\nimport { TamaguiPlugin } from \"tamagui-loader\";\n\nvar __require = /* @__PURE__ */ ((x) => typeof require !== \"undefined\" ? require : typeof Proxy !== \"undefined\" ? new Proxy(x, { get: (a, b) => (typeof require !== \"undefined\" ? require : a)[b] }) : x)(function(x) {\n\tif (typeof require !== \"undefined\") return require.apply(this, arguments);\n\tthrow Error(\"Calling `require` for \\\"\" + x + \"\\\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.\");\n});\n\nconst { loadTamaguiBuildConfigSync } = Static;\nconst withTamagui = (tamaguiOptionsIn) => {\n\treturn (nextConfig = {}) => {\n\t\tconst tamaguiOptions = loadTamaguiBuildConfigSync(tamaguiOptionsIn);\n\t\tconst isAppDir = tamaguiOptions?.appDir || nextConfig.experimental?.appDir;\n\t\treturn {\n\t\t\t...nextConfig,\n\t\t\ttranspilePackages: [...nextConfig.transpilePackages || [], \"expo-linear-gradient\"],\n\t\t\twebpack: (webpackConfig, options) => {\n\t\t\t\tconst { dir, config, dev, isServer, webpack } = options;\n\t\t\t\tif (typeof globalThis[\"__DEV__\"] === \"undefined\") globalThis[\"__DEV__\"] = dev;\n\t\t\t\tconst prefix = `${isServer ? \" ssr \" : \" web \"} |`;\n\t\t\t\tconst SEP = path.sep;\n\t\t\t\tif (process.env.ANALYZE === \"true\") Object.assign(webpackConfig.optimization, { concatenateModules: false });\n\t\t\t\tconst tamaguiPlugin = new TamaguiPlugin({\n\t\t\t\t\tplatform: \"web\",\n\t\t\t\t\tisServer,\n\t\t\t\t\t...tamaguiOptions\n\t\t\t\t});\n\t\t\t\tconst zeroMode = Static.resolveZeroRuntimeSync({\n\t\t\t\t\tplatform: \"web\",\n\t\t\t\t\t...tamaguiOptions\n\t\t\t\t}, dir).mode;\n\t\t\t\tconst claimsGlobalCSS = !dev && !!Static.resolveGlobalCSSOwnership({\n\t\t\t\t\tplatform: \"web\",\n\t\t\t\t\t...tamaguiOptions\n\t\t\t\t}, dir);\n\t\t\t\tconst defines = {\n\t\t\t\t\t\"process.env.TAMAGUI_RUNTIME\": JSON.stringify(zeroMode === \"enforce\" ? \"zero\" : \"full\"),\n\t\t\t\t\t\"process.env.IS_STATIC\": JSON.stringify(\"\"),\n\t\t\t\t\t\"process.env.TAMAGUI_TARGET\": \"\\\"web\\\"\",\n\t\t\t\t\t\"process.env.TAMAGUI_IS_SERVER\": JSON.stringify(isServer ? \"true\" : \"\"),\n\t\t\t\t\t\"process.env.TAMAGUI_ENVIRONMENT\": JSON.stringify(isServer ? \"ssr\" : \"client\"),\n\t\t\t\t\t__DEV__: JSON.stringify(dev),\n\t\t\t\t\t...claimsGlobalCSS && { \"process.env.TAMAGUI_DID_OUTPUT_CSS\": JSON.stringify(\"1\") },\n\t\t\t\t\t...process.env.TAMAGUI_DOES_SSR_CSS && { \"process.env.TAMAGUI_DOES_SSR_CSS\": JSON.stringify(process.env.TAMAGUI_DOES_SSR_CSS) },\n\t\t\t\t\t...tamaguiOptions?.disableThemesBundleOptimize && {\n\t\t\t\t\t\t\"process.env.TAMAGUI_OPTIMIZE_THEMES\": JSON.stringify(false),\n\t\t\t\t\t\t\"process.env.TAMAGUI_ENVIRONMENT\": JSON.stringify(false)\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst cssRules = webpackConfig.module.rules.find((rule) => Array.isArray(rule.oneOf) && rule.oneOf.some(({ test }) => typeof test === \"object\" && typeof test.test === \"function\" && test.test(\"filename.css\"))).oneOf;\n\t\t\t\tif (cssRules) {\n\t\t\t\t\tif (tamaguiOptions.enableLegacyFontSupport) cssRules.unshift({\n\t\t\t\t\t\ttest: /\\.(woff(2)?|eot|ttf|otf)(\\?v=\\d+\\.\\d+\\.\\d+)?$/,\n\t\t\t\t\t\tuse: [{\n\t\t\t\t\t\t\tloader: __require.resolve(\"url-loader\"),\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tlimit: nextConfig.inlineFontLimit || 1024,\n\t\t\t\t\t\t\t\tfallback: __require.resolve(\"file-loader\"),\n\t\t\t\t\t\t\t\tpublicPath: `${nextConfig.assetPrefix || \"\"}/_next/static/chunks/fonts/`,\n\t\t\t\t\t\t\t\toutputPath: `${isServer ? \"../\" : \"\"}static/chunks/fonts/`,\n\t\t\t\t\t\t\t\tname: \"[name].[ext]\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t\tconst cssLoader = getGlobalCssLoader({\n\t\t\t\t\t\tassetPrefix: nextConfig.assetPrefix || options.config.assetPrefix || config.assetPrefix,\n\t\t\t\t\t\tfuture: nextConfig.future,\n\t\t\t\t\t\texperimental: nextConfig.experimental || {},\n\t\t\t\t\t\tisEdgeRuntime: true,\n\t\t\t\t\t\tisProduction: !dev,\n\t\t\t\t\t\ttargetWeb: true,\n\t\t\t\t\t\tisClient: !isServer,\n\t\t\t\t\t\tisServer,\n\t\t\t\t\t\tisDevelopment: dev\n\t\t\t\t\t}, () => lazyPostCSS(dir, getSupportedBrowsers(dir, dev)), []);\n\t\t\t\t\tif (!isAppDir) cssRules.unshift({\n\t\t\t\t\t\ttest: tamaguiOptions.includeCSSTest ?? /\\.tamagui\\.css$/,\n\t\t\t\t\t\tsideEffects: true,\n\t\t\t\t\t\tuse: cssLoader\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\twebpackConfig.plugins.push(new webpack.DefinePlugin(defines));\n\t\t\t\tif (process.env.IGNORE_TS_CONFIG_PATHS) {\n\t\t\t\t\tif (process.env.DEBUG) console.info(prefix, \"ignoring tsconfig paths\");\n\t\t\t\t\tif (webpackConfig.resolve.plugins[0]) delete webpackConfig.resolve.plugins[0].paths[\"@tamagui/*\"];\n\t\t\t\t}\n\t\t\t\tif (!tamaguiOptions.disableOptimizeLucideIcons) {\n\t\t\t\t\tnextConfig.experimental ||= {};\n\t\t\t\t\tnextConfig.experimental.optimizePackageImports ||= [];\n\t\t\t\t\tnextConfig.experimental.optimizePackageImports.push(\"@tamagui/lucide-icons-2\");\n\t\t\t\t}\n\t\t\t\tif (isServer) {\n\t\t\t\t\tconst externalize = (context, request) => {\n\t\t\t\t\t\tconst fullPath = request[0] === \".\" ? path.join(context, request) : request;\n\t\t\t\t\t\tif (tamaguiOptions.shouldExcludeFromServer) {\n\t\t\t\t\t\t\tconst userRes = tamaguiOptions.shouldExcludeFromServer({\n\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\trequest,\n\t\t\t\t\t\t\t\tfullPath\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (userRes !== void 0) return userRes;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (tamaguiPlugin.isInComponentModule(fullPath)) return false;\n\t\t\t\t\t\tif (fullPath.includes(\"react-native-web\")) return false;\n\t\t\t\t\t\tif (fullPath === \"react-native\" || fullPath.startsWith(`react-native${SEP}`)) return false;\n\t\t\t\t\t\tif (fullPath.startsWith(\"moti\") || fullPath.startsWith(\"solito\") || fullPath.startsWith(\"@tamagui\") || fullPath === \"react-native-safe-area-context\" || fullPath === \"expo-linear-gradient\" || fullPath.startsWith(\"@react-navigation\") || fullPath.startsWith(\"@gorhom\")) return;\n\t\t\t\t\t\tif (/^@?react-native-/.test(request)) return false;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t};\n\t\t\t\t\twebpackConfig.externals = webpackConfig.externals.map((external) => {\n\t\t\t\t\t\tif (typeof external !== \"function\") return external;\n\t\t\t\t\t\treturn (ctx, cb) => {\n\t\t\t\t\t\t\tconst isCb = typeof cb === \"function\";\n\t\t\t\t\t\t\tconst res = externalize(ctx.context, ctx.request);\n\t\t\t\t\t\t\tif (isCb) {\n\t\t\t\t\t\t\t\tif (typeof res === \"string\") return cb(null, res);\n\t\t\t\t\t\t\t\tif (res) return external(ctx, cb);\n\t\t\t\t\t\t\t\treturn cb();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn !res ? Promise.resolve(void 0) : typeof res === \"string\" ? Promise.resolve(res) : external(ctx);\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\twebpackConfig.plugins.push(tamaguiPlugin);\n\t\t\t\tif (typeof nextConfig.webpack === \"function\") return nextConfig.webpack(webpackConfig, options);\n\t\t\t\treturn webpackConfig;\n\t\t\t}\n\t\t};\n\t};\n};\nfunction getSupportedBrowsers(dir, isDevelopment) {\n\tlet browsers;\n\ttry {\n\t\tbrowsers = browserslist.loadConfig({\n\t\t\tpath: dir,\n\t\t\tenv: isDevelopment ? \"development\" : \"production\"\n\t\t});\n\t} catch {}\n\treturn browsers;\n}\n\nexport { withTamagui };"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/next-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-beta.637.1",
|
|
4
|
+
"description": "Legacy webpack compatibility plugin for Next.js",
|
|
4
5
|
"gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
|
|
5
6
|
"license": "MIT",
|
|
6
7
|
"source": "src/index.ts",
|
|
@@ -15,7 +16,6 @@
|
|
|
15
16
|
"types": "./types/index.d.ts",
|
|
16
17
|
"exports": {
|
|
17
18
|
"./package.json": "./package.json",
|
|
18
|
-
"./reset.css": "./reset.css",
|
|
19
19
|
".": {
|
|
20
20
|
"types": "./types/index.d.ts",
|
|
21
21
|
"browser": "./dist/esm/index.mjs",
|
|
@@ -36,20 +36,20 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@babel/preset-react": "^7.24.7",
|
|
39
|
-
"@tamagui/proxy-worm": "
|
|
40
|
-
"@tamagui/react-native-svg": "
|
|
41
|
-
"@tamagui/static": "
|
|
39
|
+
"@tamagui/proxy-worm": "3.0.0-beta.637.1",
|
|
40
|
+
"@tamagui/react-native-svg": "3.0.0-beta.637.1",
|
|
41
|
+
"@tamagui/static": "3.0.0-beta.637.1",
|
|
42
42
|
"babel-loader": "^9.1.3",
|
|
43
43
|
"browserslist": "^4.28.1",
|
|
44
44
|
"css-loader": "^6.7.4",
|
|
45
45
|
"esbuild-loader": "^4.2.2",
|
|
46
46
|
"file-loader": "^6.2.0",
|
|
47
47
|
"html-webpack-plugin": "^5.5.0",
|
|
48
|
-
"tamagui-loader": "
|
|
48
|
+
"tamagui-loader": "3.0.0-beta.637.1",
|
|
49
49
|
"url-loader": "^4.1.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@tamagui/build": "
|
|
52
|
+
"@tamagui/build": "3.0.0-beta.637.1",
|
|
53
53
|
"next": "16.1.1",
|
|
54
54
|
"webpack": "^5.88.2"
|
|
55
55
|
},
|
package/src/withTamagui.ts
CHANGED
|
@@ -5,7 +5,6 @@ import { getGlobalCssLoader } from 'next/dist/build/webpack/config/blocks/css/lo
|
|
|
5
5
|
import path from 'node:path'
|
|
6
6
|
import type { PluginOptions as LoaderPluginOptions } from 'tamagui-loader'
|
|
7
7
|
import { TamaguiPlugin } from 'tamagui-loader'
|
|
8
|
-
import webpack from 'webpack'
|
|
9
8
|
|
|
10
9
|
const { loadTamaguiBuildConfigSync } = Static
|
|
11
10
|
|
|
@@ -34,12 +33,15 @@ export type WithTamaguiProps = LoaderPluginOptions & {
|
|
|
34
33
|
disableOptimizeLucideIcons?: boolean
|
|
35
34
|
}
|
|
36
35
|
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Webpack-only compatibility adapter. For Next.js with Turbopack,
|
|
38
|
+
* run `tamagui build --target web <source> -- next dev` or `next build`.
|
|
39
|
+
*/
|
|
37
40
|
export const withTamagui = (tamaguiOptionsIn?: WithTamaguiProps) => {
|
|
38
41
|
return (nextConfig: any = {}) => {
|
|
39
|
-
const tamaguiOptions =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
42
|
+
const tamaguiOptions = loadTamaguiBuildConfigSync(
|
|
43
|
+
tamaguiOptionsIn
|
|
44
|
+
) as WithTamaguiProps
|
|
43
45
|
const isAppDir = tamaguiOptions?.appDir || nextConfig.experimental?.appDir
|
|
44
46
|
|
|
45
47
|
return {
|
|
@@ -49,7 +51,7 @@ export const withTamagui = (tamaguiOptionsIn?: WithTamaguiProps) => {
|
|
|
49
51
|
'expo-linear-gradient',
|
|
50
52
|
],
|
|
51
53
|
webpack: (webpackConfig: any, options: any) => {
|
|
52
|
-
const { dir, config, dev, isServer } = options
|
|
54
|
+
const { dir, config, dev, isServer, webpack } = options
|
|
53
55
|
|
|
54
56
|
// @ts-ignore
|
|
55
57
|
if (typeof globalThis['__DEV__'] === 'undefined') {
|
|
@@ -72,12 +74,35 @@ export const withTamagui = (tamaguiOptionsIn?: WithTamaguiProps) => {
|
|
|
72
74
|
...tamaguiOptions,
|
|
73
75
|
})
|
|
74
76
|
|
|
77
|
+
const zeroMode = Static.resolveZeroRuntimeSync(
|
|
78
|
+
{ platform: 'web', ...tamaguiOptions },
|
|
79
|
+
dir
|
|
80
|
+
).mode
|
|
81
|
+
|
|
82
|
+
// The compiled-global-CSS tier. Derived, never author-set: TamaguiPlugin
|
|
83
|
+
// proves on the client compilation that the artifact exists, matches
|
|
84
|
+
// this build's config, and is imported, and fails the build otherwise.
|
|
85
|
+
// A dev compilation has no final graph to prove that against, so it
|
|
86
|
+
// keeps runtime CSS generation.
|
|
87
|
+
const claimsGlobalCSS =
|
|
88
|
+
!dev &&
|
|
89
|
+
!!Static.resolveGlobalCSSOwnership({ platform: 'web', ...tamaguiOptions }, dir)
|
|
90
|
+
|
|
75
91
|
const defines = {
|
|
92
|
+
// An enforced zero entry gets 'zero' on both its client and its server
|
|
93
|
+
// compilation, so SSR never imports a runtime hydration removed. Config
|
|
94
|
+
// evaluation, report builds, and island child builds keep 'full'.
|
|
95
|
+
'process.env.TAMAGUI_RUNTIME': JSON.stringify(
|
|
96
|
+
zeroMode === 'enforce' ? 'zero' : 'full'
|
|
97
|
+
),
|
|
76
98
|
'process.env.IS_STATIC': JSON.stringify(''),
|
|
77
99
|
'process.env.TAMAGUI_TARGET': '"web"',
|
|
78
100
|
'process.env.TAMAGUI_IS_SERVER': JSON.stringify(isServer ? 'true' : ''),
|
|
79
101
|
'process.env.TAMAGUI_ENVIRONMENT': JSON.stringify(isServer ? 'ssr' : 'client'),
|
|
80
102
|
__DEV__: JSON.stringify(dev),
|
|
103
|
+
...(claimsGlobalCSS && {
|
|
104
|
+
'process.env.TAMAGUI_DID_OUTPUT_CSS': JSON.stringify('1'),
|
|
105
|
+
}),
|
|
81
106
|
...(process.env.TAMAGUI_DOES_SSR_CSS && {
|
|
82
107
|
'process.env.TAMAGUI_DOES_SSR_CSS': JSON.stringify(
|
|
83
108
|
process.env.TAMAGUI_DOES_SSR_CSS
|
package/types/withTamagui.d.ts
CHANGED
|
@@ -20,5 +20,9 @@ export type WithTamaguiProps = LoaderPluginOptions & {
|
|
|
20
20
|
/** By default we add a Next.js modularizeImports option to tree shake @tamagui/lucide-icons-2, this disables it */
|
|
21
21
|
disableOptimizeLucideIcons?: boolean;
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Webpack-only compatibility adapter. For Next.js with Turbopack,
|
|
25
|
+
* run `tamagui build --target web <source> -- next dev` or `next build`.
|
|
26
|
+
*/
|
|
23
27
|
export declare const withTamagui: (tamaguiOptionsIn?: WithTamaguiProps) => (nextConfig?: any) => any;
|
|
24
28
|
//# sourceMappingURL=withTamagui.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withTamagui.d.ts","sourceRoot":"","sources":["../src/withTamagui.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"withTamagui.d.ts","sourceRoot":"","sources":["../src/withTamagui.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAK1E,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG;IACnD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAA;IAErD;;;QAGI;IACJ,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAA;IAE1E;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE;QAChC,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;KACjB,KAAK,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;IAClC,2BAA2B,CAAC,EAAE,OAAO,CAAA;IAErC,mHAAmH;IACnH,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACrC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,sBAAuB,gBAAgB,mBACzC,GAAG,QAkQxB,CAAA"}
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
|
package/dist/esm/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
|