@tamagui/next-plugin 1.0.0-alpha.42 → 1.0.0-alpha.46

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.
@@ -57,8 +57,9 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
57
57
  return (nextConfig = {}) => {
58
58
  return Object.assign({}, nextConfig, {
59
59
  webpack: (webpackConfig, options) => {
60
- var _a;
60
+ var _a, _b;
61
61
  const { dir, config, dev, isServer } = options;
62
+ const isNext12 = typeof ((_a = options.config) == null ? void 0 : _a.swcMinify) === "boolean";
62
63
  const jsxRuntime = require.resolve("react/jsx-runtime.js");
63
64
  const jsxDevRuntime = require.resolve("react/jsx-dev-runtime.js");
64
65
  webpackConfig.resolve.alias = __spreadProps(__spreadValues({}, webpackConfig.resolve.alias || {}), {
@@ -88,7 +89,7 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
88
89
  webpackConfig.resolve.extensions = [".web.js", ...webpackConfig.resolve.extensions];
89
90
  }
90
91
  webpackConfig.resolve.mainFields.unshift("module:jsx");
91
- const isWebpack5 = !!((_a = config.future) == null ? void 0 : _a.webpack5) || typeof config.webpack5 === "undefined";
92
+ const isWebpack5 = !!((_b = config.future) == null ? void 0 : _b.webpack5) || typeof config.webpack5 === "undefined";
92
93
  const includeModule = /* @__PURE__ */ __name((context, request) => {
93
94
  const fullPath = request[0] === "." ? import_path.default.join(context, request) : request;
94
95
  if (/^\@?react-native-/.test(request)) {
@@ -164,31 +165,52 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
164
165
  }
165
166
  const shouldExclude = /* @__PURE__ */ __name((x) => {
166
167
  const shouldInclude = x.includes(options.dir) || tamaguiOptions.components.some((c) => x.includes(`/node_modules/${c}`) || x.includes(`${c}/dist/jsx/`));
167
- return !shouldInclude;
168
+ if (!shouldInclude) {
169
+ return true;
170
+ }
171
+ return false;
168
172
  }, "shouldExclude");
169
- const [first, second, ...rest] = webpackConfig.module.rules;
170
- webpackConfig.module.rules = [
171
- first,
172
- second,
173
- {
174
- test: /\.(tsx|js|mjs|jsx)$/,
173
+ if (isNext12) {
174
+ const oneOfJSRules = webpackConfig.module.rules[2].oneOf;
175
+ const swcLoaderIndex = 3;
176
+ const swcLoader = oneOfJSRules[swcLoaderIndex];
177
+ oneOfJSRules.splice(swcLoaderIndex, 0, {
178
+ test: /\.(jsx?|tsx?)$/,
175
179
  exclude: shouldExclude,
176
180
  use: [
177
- {
178
- loader: "esbuild-loader",
179
- options: {
180
- loader: "tsx",
181
- minify: false
182
- }
183
- },
181
+ ...[].concat(swcLoader.use),
184
182
  {
185
183
  loader: "tamagui-loader",
186
184
  options: tamaguiOptions
187
185
  }
188
186
  ]
189
- },
190
- ...rest
191
- ];
187
+ });
188
+ } else {
189
+ const [first, second, ...rest] = webpackConfig.module.rules;
190
+ webpackConfig.module.rules = [
191
+ first,
192
+ second,
193
+ {
194
+ test: /\.(tsx|jsx)$/,
195
+ exclude: shouldExclude,
196
+ use: [
197
+ "thread-loader",
198
+ {
199
+ loader: "esbuild-loader",
200
+ options: {
201
+ loader: "tsx",
202
+ minify: false
203
+ }
204
+ },
205
+ {
206
+ loader: "tamagui-loader",
207
+ options: tamaguiOptions
208
+ }
209
+ ]
210
+ },
211
+ ...rest
212
+ ];
213
+ }
192
214
  if (typeof nextConfig.webpack === "function") {
193
215
  return nextConfig.webpack(webpackConfig, options);
194
216
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/withTamagui.ts"],
4
- "sourcesContent": ["import path from 'path'\n\nimport { TamaguiOptions } from '@tamagui/static'\nimport browserslist from 'browserslist'\nimport CssMinimizerPlugin from 'css-minimizer-webpack-plugin'\nimport { lazyPostCSS } from 'next/dist/build/webpack/config/blocks/css'\nimport { getGlobalCssLoader } from 'next/dist/build/webpack/config/blocks/css/loaders'\nimport webpack from 'webpack'\n\nexport const withTamagui = (tamaguiOptions: TamaguiOptions) => {\n return (nextConfig: any = {}) => {\n return Object.assign({}, nextConfig, {\n webpack: (webpackConfig: any, options) => {\n const { dir, config, dev, isServer } = options\n\n // fixes https://github.com/kentcdodds/mdx-bundler/issues/143\n const jsxRuntime = require.resolve('react/jsx-runtime.js')\n const jsxDevRuntime = require.resolve('react/jsx-dev-runtime.js')\n\n webpackConfig.resolve.alias = {\n ...(webpackConfig.resolve.alias || {}),\n 'react/jsx-runtime.js': jsxRuntime,\n 'react/jsx-runtime': jsxRuntime,\n 'react/jsx-dev-runtime.js': jsxDevRuntime,\n 'react/jsx-dev-runtime': jsxDevRuntime,\n 'react-native$': 'react-native-web',\n 'react-native-web/src/modules/normalizeColor': require.resolve(\n 'react-native-web/dist/cjs/modules/normalizeColor'\n ),\n react: require.resolve('react'),\n 'react-dom': require.resolve('react-dom'),\n }\n\n webpackConfig.plugins.push(\n new webpack.DefinePlugin({\n 'process.env.TAMAGUI_TARGET': '\"web\"',\n })\n )\n\n if (process.env.IGNORE_TS_CONFIG_PATHS) {\n console.log('ignoring tsconfig paths, they mess up transpile')\n delete webpackConfig.resolve.plugins[0].paths['@tamagui/*']\n delete webpackConfig.resolve.plugins[0].paths['tamagui']\n }\n\n // TODO document and make configurable\n // replace minifier with css-minimizer-webpack-plugin which handles deduping atomic styles\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 if (!webpackConfig.resolve.extensions.includes('.web.js')) {\n webpackConfig.resolve.extensions = ['.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 const isWebpack5 = !!config.future?.webpack5 || typeof config.webpack5 === 'undefined'\n\n const includeModule = (context: string, request: string) => {\n const fullPath = request[0] === '.' ? path.join(context, request) : request\n if (/^\\@?react-native-/.test(request)) {\n return false\n }\n if (\n fullPath.startsWith('react-native-web') ||\n fullPath.includes('node_modules/react-native-web')\n ) {\n return `commonjs ${fullPath}`\n }\n if (/^(react-dom|react)$/.test(fullPath)) {\n return `commonjs ${fullPath}`\n }\n return true\n }\n\n if (isServer) {\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 if (isWebpack5) {\n return (ctx, cb) => {\n const res = includeModule(ctx.context, ctx.request)\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 }\n return (ctx, req, cb) => {\n const res = includeModule(ctx, req)\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 }),\n ]\n }\n\n const oneOfRule = webpackConfig.module.rules.find((x) => !!x.oneOf)\n\n if (oneOfRule) {\n if (!dev) {\n // replace nextjs picky style rules with simple minicssextract\n const MiniCssExtractPlugin = require('mini-css-extract-plugin')\n oneOfRule.oneOf.unshift({\n test: /\\.css$/i,\n use: [MiniCssExtractPlugin.loader, 'css-loader'],\n sideEffects: true,\n })\n const idx = webpackConfig.plugins.findIndex(\n (x) => x.constructor.name === 'NextMiniCssExtractPlugin'\n )\n webpackConfig.plugins.splice(\n idx,\n 1,\n new MiniCssExtractPlugin({\n filename: 'static/css/[name].[contenthash].css',\n ignoreOrder: true,\n })\n )\n } else {\n oneOfRule.oneOf.unshift({\n test: /\\.css$/i,\n sideEffects: true,\n use: 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: true,\n },\n // @ts-ignore\n () => lazyPostCSS(dir, getSupportedBrowsers(dir, dev)),\n []\n ),\n })\n }\n }\n\n // add loader\n const shouldExclude = (x) => {\n // analyze everything in our src dir\n // analyze everything in the components dirs\n const shouldInclude =\n x.includes(options.dir) ||\n tamaguiOptions.components.some(\n (c) => x.includes(`/node_modules/${c}`) || x.includes(`${c}/dist/jsx/`)\n )\n\n return !shouldInclude\n }\n const [first, second, ...rest] = webpackConfig.module.rules\n webpackConfig.module.rules = [\n first,\n second,\n {\n test: /\\.(tsx|js|mjs|jsx)$/,\n exclude: shouldExclude,\n use: [\n {\n loader: 'esbuild-loader',\n options: {\n loader: 'tsx',\n minify: false,\n },\n },\n {\n loader: 'tamagui-loader',\n options: tamaguiOptions,\n },\n ],\n },\n ...rest,\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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",
4
+ "sourcesContent": ["import path from 'path'\n\nimport { TamaguiOptions } from '@tamagui/static'\nimport browserslist from 'browserslist'\nimport CssMinimizerPlugin from 'css-minimizer-webpack-plugin'\nimport { lazyPostCSS } from 'next/dist/build/webpack/config/blocks/css'\nimport { getGlobalCssLoader } from 'next/dist/build/webpack/config/blocks/css/loaders'\nimport webpack from 'webpack'\n\nexport const withTamagui = (tamaguiOptions: TamaguiOptions) => {\n return (nextConfig: any = {}) => {\n return Object.assign({}, nextConfig, {\n webpack: (webpackConfig: any, options) => {\n const { dir, config, dev, isServer } = options\n\n const isNext12 = typeof options.config?.swcMinify === 'boolean'\n\n // fixes https://github.com/kentcdodds/mdx-bundler/issues/143\n const jsxRuntime = require.resolve('react/jsx-runtime.js')\n const jsxDevRuntime = require.resolve('react/jsx-dev-runtime.js')\n\n webpackConfig.resolve.alias = {\n ...(webpackConfig.resolve.alias || {}),\n 'react/jsx-runtime.js': jsxRuntime,\n 'react/jsx-runtime': jsxRuntime,\n 'react/jsx-dev-runtime.js': jsxDevRuntime,\n 'react/jsx-dev-runtime': jsxDevRuntime,\n 'react-native$': 'react-native-web',\n 'react-native-web/src/modules/normalizeColor': require.resolve(\n 'react-native-web/dist/cjs/modules/normalizeColor'\n ),\n react: require.resolve('react'),\n 'react-dom': require.resolve('react-dom'),\n }\n\n webpackConfig.plugins.push(\n new webpack.DefinePlugin({\n 'process.env.TAMAGUI_TARGET': '\"web\"',\n })\n )\n\n if (process.env.IGNORE_TS_CONFIG_PATHS) {\n console.log('ignoring tsconfig paths, they mess up transpile')\n delete webpackConfig.resolve.plugins[0].paths['@tamagui/*']\n delete webpackConfig.resolve.plugins[0].paths['tamagui']\n }\n\n // TODO document and make configurable\n // replace minifier with css-minimizer-webpack-plugin which handles deduping atomic styles\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 if (!webpackConfig.resolve.extensions.includes('.web.js')) {\n webpackConfig.resolve.extensions = ['.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 const isWebpack5 = !!config.future?.webpack5 || typeof config.webpack5 === 'undefined'\n\n const includeModule = (context: string, request: string) => {\n const fullPath = request[0] === '.' ? path.join(context, request) : request\n if (/^\\@?react-native-/.test(request)) {\n return false\n }\n if (\n fullPath.startsWith('react-native-web') ||\n fullPath.includes('node_modules/react-native-web')\n ) {\n return `commonjs ${fullPath}`\n }\n if (/^(react-dom|react)$/.test(fullPath)) {\n return `commonjs ${fullPath}`\n }\n return true\n }\n\n if (isServer) {\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 if (isWebpack5) {\n return (ctx, cb) => {\n const res = includeModule(ctx.context, ctx.request)\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 }\n return (ctx, req, cb) => {\n const res = includeModule(ctx, req)\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 }),\n ]\n }\n\n const oneOfRule = webpackConfig.module.rules.find((x) => !!x.oneOf)\n\n if (oneOfRule) {\n if (!dev) {\n // replace nextjs picky style rules with simple minicssextract\n const MiniCssExtractPlugin = require('mini-css-extract-plugin')\n oneOfRule.oneOf.unshift({\n test: /\\.css$/i,\n use: [MiniCssExtractPlugin.loader, 'css-loader'],\n sideEffects: true,\n })\n const idx = webpackConfig.plugins.findIndex(\n (x) => x.constructor.name === 'NextMiniCssExtractPlugin'\n )\n webpackConfig.plugins.splice(\n idx,\n 1,\n new MiniCssExtractPlugin({\n filename: 'static/css/[name].[contenthash].css',\n ignoreOrder: true,\n })\n )\n } else {\n oneOfRule.oneOf.unshift({\n test: /\\.css$/i,\n sideEffects: true,\n use: 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: true,\n },\n // @ts-ignore\n () => lazyPostCSS(dir, getSupportedBrowsers(dir, dev)),\n []\n ),\n })\n }\n }\n\n // add loader\n const shouldExclude = (x) => {\n // analyze everything in our jsx dir\n // analyze everything in the components dirs\n const shouldInclude =\n x.includes(options.dir) ||\n tamaguiOptions.components.some(\n (c) => x.includes(`/node_modules/${c}`) || x.includes(`${c}/dist/jsx/`)\n )\n if (!shouldInclude) {\n return true\n }\n return false\n }\n\n if (isNext12) {\n const oneOfJSRules = webpackConfig.module.rules[2].oneOf\n const swcLoaderIndex = 3\n const swcLoader = oneOfJSRules[swcLoaderIndex]\n // put an earlier loader where we just do tamagui stuff before regular swc\n oneOfJSRules.splice(swcLoaderIndex, 0, {\n test: /\\.(jsx?|tsx?)$/,\n exclude: shouldExclude,\n use: [\n ...[].concat(swcLoader.use),\n {\n loader: 'tamagui-loader',\n options: tamaguiOptions,\n },\n ],\n })\n } else {\n // next 11 modify loader\n const [first, second, ...rest] = webpackConfig.module.rules\n webpackConfig.module.rules = [\n first,\n second,\n {\n test: /\\.(tsx|jsx)$/,\n exclude: shouldExclude,\n use: [\n 'thread-loader',\n {\n loader: 'esbuild-loader',\n options: {\n loader: 'tsx',\n minify: false,\n },\n },\n {\n loader: 'tamagui-loader',\n options: tamaguiOptions,\n },\n ],\n },\n ...rest,\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
6
  "names": []
7
7
  }
@@ -10,8 +10,9 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
10
10
  return (nextConfig = {}) => {
11
11
  return Object.assign({}, nextConfig, {
12
12
  webpack: (webpackConfig, options) => {
13
- var _a;
13
+ var _a, _b;
14
14
  const { dir, config, dev, isServer } = options;
15
+ const isNext12 = typeof ((_a = options.config) == null ? void 0 : _a.swcMinify) === "boolean";
15
16
  const jsxRuntime = require.resolve("react/jsx-runtime.js");
16
17
  const jsxDevRuntime = require.resolve("react/jsx-dev-runtime.js");
17
18
  webpackConfig.resolve.alias = {
@@ -42,7 +43,7 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
42
43
  webpackConfig.resolve.extensions = [".web.js", ...webpackConfig.resolve.extensions];
43
44
  }
44
45
  webpackConfig.resolve.mainFields.unshift("module:jsx");
45
- const isWebpack5 = !!((_a = config.future) == null ? void 0 : _a.webpack5) || typeof config.webpack5 === "undefined";
46
+ const isWebpack5 = !!((_b = config.future) == null ? void 0 : _b.webpack5) || typeof config.webpack5 === "undefined";
46
47
  const includeModule = /* @__PURE__ */ __name((context, request) => {
47
48
  const fullPath = request[0] === "." ? path.join(context, request) : request;
48
49
  if (/^\@?react-native-/.test(request)) {
@@ -118,31 +119,52 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
118
119
  }
119
120
  const shouldExclude = /* @__PURE__ */ __name((x) => {
120
121
  const shouldInclude = x.includes(options.dir) || tamaguiOptions.components.some((c) => x.includes(`/node_modules/${c}`) || x.includes(`${c}/dist/jsx/`));
121
- return !shouldInclude;
122
+ if (!shouldInclude) {
123
+ return true;
124
+ }
125
+ return false;
122
126
  }, "shouldExclude");
123
- const [first, second, ...rest] = webpackConfig.module.rules;
124
- webpackConfig.module.rules = [
125
- first,
126
- second,
127
- {
128
- test: /\.(tsx|js|mjs|jsx)$/,
127
+ if (isNext12) {
128
+ const oneOfJSRules = webpackConfig.module.rules[2].oneOf;
129
+ const swcLoaderIndex = 3;
130
+ const swcLoader = oneOfJSRules[swcLoaderIndex];
131
+ oneOfJSRules.splice(swcLoaderIndex, 0, {
132
+ test: /\.(jsx?|tsx?)$/,
129
133
  exclude: shouldExclude,
130
134
  use: [
131
- {
132
- loader: "esbuild-loader",
133
- options: {
134
- loader: "tsx",
135
- minify: false
136
- }
137
- },
135
+ ...[].concat(swcLoader.use),
138
136
  {
139
137
  loader: "tamagui-loader",
140
138
  options: tamaguiOptions
141
139
  }
142
140
  ]
143
- },
144
- ...rest
145
- ];
141
+ });
142
+ } else {
143
+ const [first, second, ...rest] = webpackConfig.module.rules;
144
+ webpackConfig.module.rules = [
145
+ first,
146
+ second,
147
+ {
148
+ test: /\.(tsx|jsx)$/,
149
+ exclude: shouldExclude,
150
+ use: [
151
+ "thread-loader",
152
+ {
153
+ loader: "esbuild-loader",
154
+ options: {
155
+ loader: "tsx",
156
+ minify: false
157
+ }
158
+ },
159
+ {
160
+ loader: "tamagui-loader",
161
+ options: tamaguiOptions
162
+ }
163
+ ]
164
+ },
165
+ ...rest
166
+ ];
167
+ }
146
168
  if (typeof nextConfig.webpack === "function") {
147
169
  return nextConfig.webpack(webpackConfig, options);
148
170
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/withTamagui.ts"],
4
- "sourcesContent": ["import path from 'path'\n\nimport { TamaguiOptions } from '@tamagui/static'\nimport browserslist from 'browserslist'\nimport CssMinimizerPlugin from 'css-minimizer-webpack-plugin'\nimport { lazyPostCSS } from 'next/dist/build/webpack/config/blocks/css'\nimport { getGlobalCssLoader } from 'next/dist/build/webpack/config/blocks/css/loaders'\nimport webpack from 'webpack'\n\nexport const withTamagui = (tamaguiOptions: TamaguiOptions) => {\n return (nextConfig: any = {}) => {\n return Object.assign({}, nextConfig, {\n webpack: (webpackConfig: any, options) => {\n const { dir, config, dev, isServer } = options\n\n // fixes https://github.com/kentcdodds/mdx-bundler/issues/143\n const jsxRuntime = require.resolve('react/jsx-runtime.js')\n const jsxDevRuntime = require.resolve('react/jsx-dev-runtime.js')\n\n webpackConfig.resolve.alias = {\n ...(webpackConfig.resolve.alias || {}),\n 'react/jsx-runtime.js': jsxRuntime,\n 'react/jsx-runtime': jsxRuntime,\n 'react/jsx-dev-runtime.js': jsxDevRuntime,\n 'react/jsx-dev-runtime': jsxDevRuntime,\n 'react-native$': 'react-native-web',\n 'react-native-web/src/modules/normalizeColor': require.resolve(\n 'react-native-web/dist/cjs/modules/normalizeColor'\n ),\n react: require.resolve('react'),\n 'react-dom': require.resolve('react-dom'),\n }\n\n webpackConfig.plugins.push(\n new webpack.DefinePlugin({\n 'process.env.TAMAGUI_TARGET': '\"web\"',\n })\n )\n\n if (process.env.IGNORE_TS_CONFIG_PATHS) {\n console.log('ignoring tsconfig paths, they mess up transpile')\n delete webpackConfig.resolve.plugins[0].paths['@tamagui/*']\n delete webpackConfig.resolve.plugins[0].paths['tamagui']\n }\n\n // TODO document and make configurable\n // replace minifier with css-minimizer-webpack-plugin which handles deduping atomic styles\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 if (!webpackConfig.resolve.extensions.includes('.web.js')) {\n webpackConfig.resolve.extensions = ['.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 const isWebpack5 = !!config.future?.webpack5 || typeof config.webpack5 === 'undefined'\n\n const includeModule = (context: string, request: string) => {\n const fullPath = request[0] === '.' ? path.join(context, request) : request\n if (/^\\@?react-native-/.test(request)) {\n return false\n }\n if (\n fullPath.startsWith('react-native-web') ||\n fullPath.includes('node_modules/react-native-web')\n ) {\n return `commonjs ${fullPath}`\n }\n if (/^(react-dom|react)$/.test(fullPath)) {\n return `commonjs ${fullPath}`\n }\n return true\n }\n\n if (isServer) {\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 if (isWebpack5) {\n return (ctx, cb) => {\n const res = includeModule(ctx.context, ctx.request)\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 }\n return (ctx, req, cb) => {\n const res = includeModule(ctx, req)\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 }),\n ]\n }\n\n const oneOfRule = webpackConfig.module.rules.find((x) => !!x.oneOf)\n\n if (oneOfRule) {\n if (!dev) {\n // replace nextjs picky style rules with simple minicssextract\n const MiniCssExtractPlugin = require('mini-css-extract-plugin')\n oneOfRule.oneOf.unshift({\n test: /\\.css$/i,\n use: [MiniCssExtractPlugin.loader, 'css-loader'],\n sideEffects: true,\n })\n const idx = webpackConfig.plugins.findIndex(\n (x) => x.constructor.name === 'NextMiniCssExtractPlugin'\n )\n webpackConfig.plugins.splice(\n idx,\n 1,\n new MiniCssExtractPlugin({\n filename: 'static/css/[name].[contenthash].css',\n ignoreOrder: true,\n })\n )\n } else {\n oneOfRule.oneOf.unshift({\n test: /\\.css$/i,\n sideEffects: true,\n use: 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: true,\n },\n // @ts-ignore\n () => lazyPostCSS(dir, getSupportedBrowsers(dir, dev)),\n []\n ),\n })\n }\n }\n\n // add loader\n const shouldExclude = (x) => {\n // analyze everything in our src dir\n // analyze everything in the components dirs\n const shouldInclude =\n x.includes(options.dir) ||\n tamaguiOptions.components.some(\n (c) => x.includes(`/node_modules/${c}`) || x.includes(`${c}/dist/jsx/`)\n )\n\n return !shouldInclude\n }\n const [first, second, ...rest] = webpackConfig.module.rules\n webpackConfig.module.rules = [\n first,\n second,\n {\n test: /\\.(tsx|js|mjs|jsx)$/,\n exclude: shouldExclude,\n use: [\n {\n loader: 'esbuild-loader',\n options: {\n loader: 'tsx',\n minify: false,\n },\n },\n {\n loader: 'tamagui-loader',\n options: tamaguiOptions,\n },\n ],\n },\n ...rest,\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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",
4
+ "sourcesContent": ["import path from 'path'\n\nimport { TamaguiOptions } from '@tamagui/static'\nimport browserslist from 'browserslist'\nimport CssMinimizerPlugin from 'css-minimizer-webpack-plugin'\nimport { lazyPostCSS } from 'next/dist/build/webpack/config/blocks/css'\nimport { getGlobalCssLoader } from 'next/dist/build/webpack/config/blocks/css/loaders'\nimport webpack from 'webpack'\n\nexport const withTamagui = (tamaguiOptions: TamaguiOptions) => {\n return (nextConfig: any = {}) => {\n return Object.assign({}, nextConfig, {\n webpack: (webpackConfig: any, options) => {\n const { dir, config, dev, isServer } = options\n\n const isNext12 = typeof options.config?.swcMinify === 'boolean'\n\n // fixes https://github.com/kentcdodds/mdx-bundler/issues/143\n const jsxRuntime = require.resolve('react/jsx-runtime.js')\n const jsxDevRuntime = require.resolve('react/jsx-dev-runtime.js')\n\n webpackConfig.resolve.alias = {\n ...(webpackConfig.resolve.alias || {}),\n 'react/jsx-runtime.js': jsxRuntime,\n 'react/jsx-runtime': jsxRuntime,\n 'react/jsx-dev-runtime.js': jsxDevRuntime,\n 'react/jsx-dev-runtime': jsxDevRuntime,\n 'react-native$': 'react-native-web',\n 'react-native-web/src/modules/normalizeColor': require.resolve(\n 'react-native-web/dist/cjs/modules/normalizeColor'\n ),\n react: require.resolve('react'),\n 'react-dom': require.resolve('react-dom'),\n }\n\n webpackConfig.plugins.push(\n new webpack.DefinePlugin({\n 'process.env.TAMAGUI_TARGET': '\"web\"',\n })\n )\n\n if (process.env.IGNORE_TS_CONFIG_PATHS) {\n console.log('ignoring tsconfig paths, they mess up transpile')\n delete webpackConfig.resolve.plugins[0].paths['@tamagui/*']\n delete webpackConfig.resolve.plugins[0].paths['tamagui']\n }\n\n // TODO document and make configurable\n // replace minifier with css-minimizer-webpack-plugin which handles deduping atomic styles\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 if (!webpackConfig.resolve.extensions.includes('.web.js')) {\n webpackConfig.resolve.extensions = ['.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 const isWebpack5 = !!config.future?.webpack5 || typeof config.webpack5 === 'undefined'\n\n const includeModule = (context: string, request: string) => {\n const fullPath = request[0] === '.' ? path.join(context, request) : request\n if (/^\\@?react-native-/.test(request)) {\n return false\n }\n if (\n fullPath.startsWith('react-native-web') ||\n fullPath.includes('node_modules/react-native-web')\n ) {\n return `commonjs ${fullPath}`\n }\n if (/^(react-dom|react)$/.test(fullPath)) {\n return `commonjs ${fullPath}`\n }\n return true\n }\n\n if (isServer) {\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 if (isWebpack5) {\n return (ctx, cb) => {\n const res = includeModule(ctx.context, ctx.request)\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 }\n return (ctx, req, cb) => {\n const res = includeModule(ctx, req)\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 }),\n ]\n }\n\n const oneOfRule = webpackConfig.module.rules.find((x) => !!x.oneOf)\n\n if (oneOfRule) {\n if (!dev) {\n // replace nextjs picky style rules with simple minicssextract\n const MiniCssExtractPlugin = require('mini-css-extract-plugin')\n oneOfRule.oneOf.unshift({\n test: /\\.css$/i,\n use: [MiniCssExtractPlugin.loader, 'css-loader'],\n sideEffects: true,\n })\n const idx = webpackConfig.plugins.findIndex(\n (x) => x.constructor.name === 'NextMiniCssExtractPlugin'\n )\n webpackConfig.plugins.splice(\n idx,\n 1,\n new MiniCssExtractPlugin({\n filename: 'static/css/[name].[contenthash].css',\n ignoreOrder: true,\n })\n )\n } else {\n oneOfRule.oneOf.unshift({\n test: /\\.css$/i,\n sideEffects: true,\n use: 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: true,\n },\n // @ts-ignore\n () => lazyPostCSS(dir, getSupportedBrowsers(dir, dev)),\n []\n ),\n })\n }\n }\n\n // add loader\n const shouldExclude = (x) => {\n // analyze everything in our jsx dir\n // analyze everything in the components dirs\n const shouldInclude =\n x.includes(options.dir) ||\n tamaguiOptions.components.some(\n (c) => x.includes(`/node_modules/${c}`) || x.includes(`${c}/dist/jsx/`)\n )\n if (!shouldInclude) {\n return true\n }\n return false\n }\n\n if (isNext12) {\n const oneOfJSRules = webpackConfig.module.rules[2].oneOf\n const swcLoaderIndex = 3\n const swcLoader = oneOfJSRules[swcLoaderIndex]\n // put an earlier loader where we just do tamagui stuff before regular swc\n oneOfJSRules.splice(swcLoaderIndex, 0, {\n test: /\\.(jsx?|tsx?)$/,\n exclude: shouldExclude,\n use: [\n ...[].concat(swcLoader.use),\n {\n loader: 'tamagui-loader',\n options: tamaguiOptions,\n },\n ],\n })\n } else {\n // next 11 modify loader\n const [first, second, ...rest] = webpackConfig.module.rules\n webpackConfig.module.rules = [\n first,\n second,\n {\n test: /\\.(tsx|jsx)$/,\n exclude: shouldExclude,\n use: [\n 'thread-loader',\n {\n loader: 'esbuild-loader',\n options: {\n loader: 'tsx',\n minify: false,\n },\n },\n {\n loader: 'tamagui-loader',\n options: tamaguiOptions,\n },\n ],\n },\n ...rest,\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": ";;AAAA;AAGA;AACA;AACA;AACA;AACA;AAEO,MAAM,cAAc,wBAAC,mBAAmC;AAC7D,SAAO,CAAC,aAAkB,OAAO;AAC/B,WAAO,OAAO,OAAO,IAAI,YAAY;AAAA,MACnC,SAAS,CAAC,eAAoB,YAAY;AAZhD;AAaQ,cAAM,EAAE,KAAK,QAAQ,KAAK,aAAa;AAEvC,cAAM,WAAW,OAAO,eAAQ,WAAR,mBAAgB,eAAc;AAGtD,cAAM,aAA6B;AACnC,cAAM,gBAAgC;AAEtC,sBAAc,QAAQ,QAAQ;AAAA,aACxB,cAAc,QAAQ,SAAS;AAAA,UACnC,wBAAwB;AAAA,UACxB,qBAAqB;AAAA,UACrB,4BAA4B;AAAA,UAC5B,yBAAyB;AAAA,UACzB,iBAAiB;AAAA,UACjB,+CACE;AAAA,UAEF,OAAuB;AAAA,UACvB,aAA6B;AAAA;AAG/B,sBAAc,QAAQ,KACpB,IAAI,QAAQ,aAAa;AAAA,UACvB,8BAA8B;AAAA;AAIlC,YAAI,QAAQ,IAAI,wBAAwB;AACtC,kBAAQ,IAAI;AACZ,iBAAO,cAAc,QAAQ,QAAQ,GAAG,MAAM;AAC9C,iBAAO,cAAc,QAAQ,QAAQ,GAAG,MAAM;AAAA;AAKhD,cAAM,SAAS,cAAc,aAAa,UAAU,KAAK,CAAC,MACxD,EAAE,WAAW,SAAS;AAExB,YAAI,QAAQ;AACV,wBAAc,aAAa,YAAY,cAAc,aAAa,UAAU,MAC1E,OAAO,OACP;AAAA;AAGJ,sBAAc,aAAa,UAAU,KAAK,IAAI;AAE9C,YAAI,CAAC,cAAc,QAAQ,WAAW,SAAS,YAAY;AACzD,wBAAc,QAAQ,aAAa,CAAC,WAAW,GAAG,cAAc,QAAQ;AAAA;AAI1E,sBAAc,QAAQ,WAAW,QAAQ;AAEzC,cAAM,aAAa,CAAC,CAAC,cAAO,WAAP,mBAAe,aAAY,OAAO,OAAO,aAAa;AAE3E,cAAM,gBAAgB,wBAAC,SAAiB,YAAoB;AAC1D,gBAAM,WAAW,QAAQ,OAAO,MAAM,KAAK,KAAK,SAAS,WAAW;AACpE,cAAI,oBAAoB,KAAK,UAAU;AACrC,mBAAO;AAAA;AAET,cACE,SAAS,WAAW,uBACpB,SAAS,SAAS,kCAClB;AACA,mBAAO,YAAY;AAAA;AAErB,cAAI,sBAAsB,KAAK,WAAW;AACxC,mBAAO,YAAY;AAAA;AAErB,iBAAO;AAAA,WAda;AAiBtB,YAAI,UAAU;AAEZ,wBAAc,YAAY;AAAA,YACxB,GAAG,cAAc,UAAU,IAAI,CAAC,aAAa;AAC3C,kBAAI,OAAO,aAAa,YAAY;AAClC,uBAAO;AAAA;AAGT,kBAAI,YAAY;AACd,uBAAO,CAAC,KAAK,OAAO;AAClB,wBAAM,MAAM,cAAc,IAAI,SAAS,IAAI;AAC3C,sBAAI,OAAO,QAAQ,UAAU;AAC3B,2BAAO,GAAG,MAAM;AAAA;AAElB,sBAAI,KAAK;AACP,2BAAO,SAAS,KAAK;AAAA;AAEvB,yBAAO;AAAA;AAAA;AAGX,qBAAO,CAAC,KAAK,KAAK,OAAO;AACvB,sBAAM,MAAM,cAAc,KAAK;AAC/B,oBAAI,OAAO,QAAQ,UAAU;AAC3B,yBAAO,GAAG,MAAM;AAAA;AAElB,oBAAI,KAAK;AACP,yBAAO,SAAS,KAAK;AAAA;AAEvB,uBAAO;AAAA;AAAA;AAAA;AAAA;AAMf,cAAM,YAAY,cAAc,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE;AAE7D,YAAI,WAAW;AACb,cAAI,CAAC,KAAK;AAER,kBAAM,uBAAuB,QAAQ;AACrC,sBAAU,MAAM,QAAQ;AAAA,cACtB,MAAM;AAAA,cACN,KAAK,CAAC,qBAAqB,QAAQ;AAAA,cACnC,aAAa;AAAA;AAEf,kBAAM,MAAM,cAAc,QAAQ,UAChC,CAAC,MAAM,EAAE,YAAY,SAAS;AAEhC,0BAAc,QAAQ,OACpB,KACA,GACA,IAAI,qBAAqB;AAAA,cACvB,UAAU;AAAA,cACV,aAAa;AAAA;AAAA,iBAGZ;AACL,sBAAU,MAAM,QAAQ;AAAA,cACtB,MAAM;AAAA,cACN,aAAa;AAAA,cACb,KAAK,mBAEH;AAAA,gBACE,aAAa,QAAQ,OAAO,eAAe,OAAO;AAAA,gBAClD,QAAQ,WAAW;AAAA,gBACnB,cAAc,WAAW,gBAAgB;AAAA,gBACzC,UAAU,CAAC;AAAA,gBACX;AAAA,gBACA,eAAe;AAAA,iBAGjB,MAAM,YAAY,KAAK,qBAAqB,KAAK,OACjD;AAAA;AAAA;AAAA;AAOR,cAAM,gBAAgB,wBAAC,MAAM;AAG3B,gBAAM,gBACJ,EAAE,SAAS,QAAQ,QACnB,eAAe,WAAW,KACxB,CAAC,MAAM,EAAE,SAAS,iBAAiB,QAAQ,EAAE,SAAS,GAAG;AAE7D,cAAI,CAAC,eAAe;AAClB,mBAAO;AAAA;AAET,iBAAO;AAAA,WAXa;AActB,YAAI,UAAU;AACZ,gBAAM,eAAe,cAAc,OAAO,MAAM,GAAG;AACnD,gBAAM,iBAAiB;AACvB,gBAAM,YAAY,aAAa;AAE/B,uBAAa,OAAO,gBAAgB,GAAG;AAAA,YACrC,MAAM;AAAA,YACN,SAAS;AAAA,YACT,KAAK;AAAA,cACH,GAAG,GAAG,OAAO,UAAU;AAAA,cACvB;AAAA,gBACE,QAAQ;AAAA,gBACR,SAAS;AAAA;AAAA;AAAA;AAAA,eAIV;AAEL,gBAAM,CAAC,OAAO,WAAW,QAAQ,cAAc,OAAO;AACtD,wBAAc,OAAO,QAAQ;AAAA,YAC3B;AAAA,YACA;AAAA,YACA;AAAA,cACE,MAAM;AAAA,cACN,SAAS;AAAA,cACT,KAAK;AAAA,gBACH;AAAA,gBACA;AAAA,kBACE,QAAQ;AAAA,kBACR,SAAS;AAAA,oBACP,QAAQ;AAAA,oBACR,QAAQ;AAAA;AAAA;AAAA,gBAGZ;AAAA,kBACE,QAAQ;AAAA,kBACR,SAAS;AAAA;AAAA;AAAA;AAAA,YAIf,GAAG;AAAA;AAAA;AAIP,YAAI,OAAO,WAAW,YAAY,YAAY;AAC5C,iBAAO,WAAW,QAAQ,eAAe;AAAA;AAG3C,eAAO;AAAA;AAAA;AAAA;AAAA,GA1NY;AAgO3B,8BAA8B,KAAK,eAAe;AAChD,MAAI;AACJ,MAAI;AACF,eAAW,aAAa,WAAW;AAAA,MACjC,MAAM;AAAA,MACN,KAAK,gBAAgB,gBAAgB;AAAA;AAAA,UAEvC;AAAA;AAEF,SAAO;AAAA;AATA;",
6
6
  "names": []
7
7
  }
@@ -10,8 +10,9 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
10
10
  return (nextConfig = {}) => {
11
11
  return Object.assign({}, nextConfig, {
12
12
  webpack: (webpackConfig, options) => {
13
- var _a;
13
+ var _a, _b;
14
14
  const { dir, config, dev, isServer } = options;
15
+ const isNext12 = typeof ((_a = options.config) == null ? void 0 : _a.swcMinify) === "boolean";
15
16
  const jsxRuntime = require.resolve("react/jsx-runtime.js");
16
17
  const jsxDevRuntime = require.resolve("react/jsx-dev-runtime.js");
17
18
  webpackConfig.resolve.alias = {
@@ -42,7 +43,7 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
42
43
  webpackConfig.resolve.extensions = [".web.js", ...webpackConfig.resolve.extensions];
43
44
  }
44
45
  webpackConfig.resolve.mainFields.unshift("module:jsx");
45
- const isWebpack5 = !!((_a = config.future) == null ? void 0 : _a.webpack5) || typeof config.webpack5 === "undefined";
46
+ const isWebpack5 = !!((_b = config.future) == null ? void 0 : _b.webpack5) || typeof config.webpack5 === "undefined";
46
47
  const includeModule = /* @__PURE__ */ __name((context, request) => {
47
48
  const fullPath = request[0] === "." ? path.join(context, request) : request;
48
49
  if (/^\@?react-native-/.test(request)) {
@@ -118,31 +119,52 @@ const withTamagui = /* @__PURE__ */ __name((tamaguiOptions) => {
118
119
  }
119
120
  const shouldExclude = /* @__PURE__ */ __name((x) => {
120
121
  const shouldInclude = x.includes(options.dir) || tamaguiOptions.components.some((c) => x.includes(`/node_modules/${c}`) || x.includes(`${c}/dist/jsx/`));
121
- return !shouldInclude;
122
+ if (!shouldInclude) {
123
+ return true;
124
+ }
125
+ return false;
122
126
  }, "shouldExclude");
123
- const [first, second, ...rest] = webpackConfig.module.rules;
124
- webpackConfig.module.rules = [
125
- first,
126
- second,
127
- {
128
- test: /\.(tsx|js|mjs|jsx)$/,
127
+ if (isNext12) {
128
+ const oneOfJSRules = webpackConfig.module.rules[2].oneOf;
129
+ const swcLoaderIndex = 3;
130
+ const swcLoader = oneOfJSRules[swcLoaderIndex];
131
+ oneOfJSRules.splice(swcLoaderIndex, 0, {
132
+ test: /\.(jsx?|tsx?)$/,
129
133
  exclude: shouldExclude,
130
134
  use: [
131
- {
132
- loader: "esbuild-loader",
133
- options: {
134
- loader: "tsx",
135
- minify: false
136
- }
137
- },
135
+ ...[].concat(swcLoader.use),
138
136
  {
139
137
  loader: "tamagui-loader",
140
138
  options: tamaguiOptions
141
139
  }
142
140
  ]
143
- },
144
- ...rest
145
- ];
141
+ });
142
+ } else {
143
+ const [first, second, ...rest] = webpackConfig.module.rules;
144
+ webpackConfig.module.rules = [
145
+ first,
146
+ second,
147
+ {
148
+ test: /\.(tsx|jsx)$/,
149
+ exclude: shouldExclude,
150
+ use: [
151
+ "thread-loader",
152
+ {
153
+ loader: "esbuild-loader",
154
+ options: {
155
+ loader: "tsx",
156
+ minify: false
157
+ }
158
+ },
159
+ {
160
+ loader: "tamagui-loader",
161
+ options: tamaguiOptions
162
+ }
163
+ ]
164
+ },
165
+ ...rest
166
+ ];
167
+ }
146
168
  if (typeof nextConfig.webpack === "function") {
147
169
  return nextConfig.webpack(webpackConfig, options);
148
170
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/next-plugin",
3
- "version": "1.0.0-alpha.42",
3
+ "version": "1.0.0-alpha.46",
4
4
  "source": "src/index.ts",
5
5
  "license": "MIT",
6
6
  "typings": "types",
@@ -16,15 +16,16 @@
16
16
  "watch": "tamagui-build --watch"
17
17
  },
18
18
  "dependencies": {
19
- "@tamagui/static": "^1.0.0-alpha.42",
19
+ "@tamagui/static": "^1.0.0-alpha.46",
20
20
  "browserslist": "^4.19.1",
21
21
  "css-minimizer-webpack-plugin": "^3.1.3",
22
- "esbuild-loader": "^2.16.0",
22
+ "esbuild-loader": "^2.18.0",
23
23
  "next-compose-plugins": "^2.2.1",
24
- "tamagui-loader": "^1.0.0-alpha.42"
24
+ "tamagui-loader": "^1.0.0-alpha.46",
25
+ "thread-loader": "^3.0.4"
25
26
  },
26
27
  "devDependencies": {
27
- "@tamagui/build": "^1.0.0-alpha.42",
28
+ "@tamagui/build": "^1.0.0-alpha.44",
28
29
  "next": "^12.0.8"
29
30
  },
30
31
  "peerDependencies": {
@@ -33,5 +34,5 @@
33
34
  "publishConfig": {
34
35
  "access": "public"
35
36
  },
36
- "gitHead": "5f5d676601645cabf766c084cdf2b21e9eb5871a"
37
+ "gitHead": "9043b00ecae482a1694ea28c0df4168b71397be3"
37
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"withTamagui.d.ts","sourceRoot":"","sources":["../src/withTamagui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAOhD,eAAO,MAAM,WAAW,mBAAoB,cAAc,mBACpC,GAAG,QAoMxB,CAAA"}
1
+ {"version":3,"file":"withTamagui.d.ts","sourceRoot":"","sources":["../src/withTamagui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAOhD,eAAO,MAAM,WAAW,mBAAoB,cAAc,mBACpC,GAAG,QA6NxB,CAAA"}