@tamagui/vite-plugin 1.14.1 → 1.14.2

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.
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/extract.ts"],
4
4
  "sourcesContent": ["// fork from https://github.com/seek-oss/vanilla-extract\n\nimport path from 'path'\n\nimport { TamaguiOptions } from '@tamagui/static'\nimport * as Static from '@tamagui/static'\nimport outdent from 'outdent'\nimport type { Plugin, ResolvedConfig, ViteDevServer } from 'vite'\nimport { normalizePath } from 'vite'\n\nconst { createExtractor, extractToClassNames, getPragmaOptions } =\n Static['default'] || Static\n\nconst styleUpdateEvent = (fileId: string) => `tamagui-style-update:${fileId}`\nconst GLOBAL_CSS_VIRTUAL_PATH = '__tamagui_global_css__.css'\n\nexport function tamaguiExtractPlugin(options: TamaguiOptions): Plugin {\n const disableStatic =\n options.disable || (options.disableDebugAttr && options.disableExtraction)\n\n if (disableStatic) {\n return {\n name: 'tamagui-extract',\n }\n }\n\n let extractor: ReturnType<typeof createExtractor> | null = null\n const cssMap = new Map<string, string>()\n\n let config: ResolvedConfig\n let server: ViteDevServer\n let shouldReturnCSS = true //config.command === 'serve'\n let virtualExt: string\n\n const getAbsoluteVirtualFileId = (filePath: string) => {\n if (filePath.startsWith(config.root)) {\n return filePath\n }\n return normalizePath(path.join(config.root, filePath))\n }\n\n return {\n name: 'tamagui-extract',\n enforce: 'pre',\n\n configureServer(_server) {\n server = _server\n },\n\n buildEnd() {\n extractor!.cleanupBeforeExit()\n },\n\n writeBundle(this, options, bundle) {\n setTimeout(() => {\n // eslint-disable-next-line no-console\n console.warn('some sort of dangling process or osmethign, exit for now...')\n process.exit(0)\n }, 100)\n },\n\n config(_userConfig, env) {\n const include = env.command === 'serve' ? ['@tamagui/core/inject-styles'] : []\n return {\n optimizeDeps: { include },\n }\n },\n\n async configResolved(resolvedConfig) {\n config = resolvedConfig\n extractor = createExtractor({\n logger: resolvedConfig.logger,\n })\n shouldReturnCSS = true\n // TODO postcss work with postcss.config.js\n // packageName = getPackageInfo(config.root).name;\n // if (config.command === 'serve') {\n // postCssConfig = await resolvePostcssConfig(config);\n // }\n virtualExt = `.tamagui.${shouldReturnCSS ? 'css' : 'js'}`\n },\n\n async resolveId(source) {\n if (source === 'tamagui.css') {\n await extractor!.loadTamagui(options)\n return GLOBAL_CSS_VIRTUAL_PATH\n }\n\n const [validId, query] = source.split('?')\n\n if (!validId.endsWith(virtualExt)) {\n return\n }\n\n // Absolute paths seem to occur often in monorepos, where files are\n // imported from outside the config root.\n const absoluteId = source.startsWith(config.root)\n ? source\n : getAbsoluteVirtualFileId(validId)\n\n // There should always be an entry in the `cssMap` here.\n // The only valid scenario for a missing one is if someone had written\n // a file in their app using the .tamagui.js/.tamagui.css extension\n if (cssMap.has(absoluteId)) {\n // Keep the original query string for HMR.\n return absoluteId + (query ? `?${query}` : '')\n }\n },\n\n /**\n * TODO\n *\n * mainFields module:jsx breaks, so lets just have a mapping here\n * where we load() and map it to the jsx path before transform\n *\n */\n\n load(id, options) {\n const [validId] = id.split('?')\n\n if (validId === GLOBAL_CSS_VIRTUAL_PATH) {\n return extractor!.getTamagui()!.getCSS()\n }\n\n if (!cssMap.has(validId)) {\n return\n }\n\n const css = cssMap.get(validId)\n\n if (typeof css !== 'string') {\n return\n }\n\n if (shouldReturnCSS || !server || server.config.isProduction) {\n return css\n }\n\n return outdent`\n import { injectStyles } from '@tamagui/core/inject-styles';\n\n const inject = (css) => injectStyles({\n filePath: \"${validId}\",\n css\n });\n\n inject(${JSON.stringify(css)});\n\n if (import.meta.hot) {\n import.meta.hot.on('${styleUpdateEvent(validId)}', (css) => {\n inject(css);\n });\n }\n `\n },\n\n async transform(code, id, ssrParam) {\n const [validId] = id.split('?')\n\n if (!validId.endsWith('.tsx')) {\n return\n }\n\n // let ssr: boolean | undefined\n // if (typeof ssrParam === 'boolean') {\n // ssr = ssrParam\n // } else {\n // ssr = ssrParam?.ssr\n // }\n\n const firstCommentIndex = code.indexOf('// ')\n const { shouldDisable, shouldPrintDebug } = getPragmaOptions({\n source: firstCommentIndex >= 0 ? code.slice(firstCommentIndex) : '',\n path: validId,\n })\n\n if (shouldDisable) {\n return\n }\n\n const extracted = await extractToClassNames({\n extractor: extractor!,\n source: code,\n sourcePath: validId,\n options,\n shouldPrintDebug,\n })\n\n if (!extracted) {\n return\n }\n\n const rootRelativeId = `${validId}${virtualExt}`\n const absoluteId = getAbsoluteVirtualFileId(rootRelativeId)\n\n let source = extracted.js\n\n if (extracted.styles) {\n if (\n server &&\n cssMap.has(absoluteId) &&\n cssMap.get(absoluteId) !== extracted.styles\n ) {\n const { moduleGraph } = server\n const [module] = Array.from(moduleGraph.getModulesByFile(absoluteId) || [])\n\n if (module) {\n moduleGraph.invalidateModule(module)\n\n // Vite uses this timestamp to add `?t=` query string automatically for HMR.\n module.lastHMRTimestamp =\n (module as any).lastInvalidationTimestamp || Date.now()\n }\n\n server.ws.send({\n type: 'custom',\n event: styleUpdateEvent(absoluteId),\n data: extracted.styles,\n })\n }\n\n source = `${source}\\nimport \"${rootRelativeId}\";`\n cssMap.set(absoluteId, extracted.styles)\n }\n\n return {\n code: source.toString(),\n map: extracted.map,\n }\n\n // if (ssr && !process.env.VITE_RSC_BUILD) {\n // return addFileScope({\n // source: code,\n // filePath: normalizePath(validId),\n // rootPath: config.root,\n // packageName,\n // })\n // }\n\n // const { source, watchFiles } = await compile({\n // filePath: validId,\n // cwd: config.root,\n // esbuildOptions,\n // })\n\n // for (const file of watchFiles) {\n // // In start mode, we need to prevent the file from rewatching itself.\n // // If it's a `build --watch`, it needs to watch everything.\n // if (config.command === 'build' || file !== validId) {\n // this.addWatchFile(file)\n // }\n // }\n },\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["path", "Static", "outdent", "normalizePath", "createExtractor", "extractToClassNames", "getPragmaOptions", "styleUpdateEvent", "fileId", "GLOBAL_CSS_VIRTUAL_PATH", "tamaguiExtractPlugin", "options", "extractor", "cssMap", "config", "server", "shouldReturnCSS", "virtualExt", "getAbsoluteVirtualFileId", "filePath", "_server", "bundle", "_userConfig", "env", "resolvedConfig", "source", "validId", "query", "absoluteId", "id", "css", "code", "ssrParam", "firstCommentIndex", "shouldDisable", "shouldPrintDebug", "extracted", "rootRelativeId", "moduleGraph", "module"]
5
+ "mappings": "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",
6
+ "names": ["options"]
7
7
  }
@@ -1,18 +1,163 @@
1
- import j from"path";import*as x from"@tamagui/static";import _ from"outdent";import{normalizePath as $}from"vite";const{createExtractor:P,extractToClassNames:w,getPragmaOptions:E}=x.default||x,S=i=>`tamagui-style-update:${i}`,b="__tamagui_global_css__.css";function B(i){if(i.disable||i.disableDebugAttr&&i.disableExtraction)return{name:"tamagui-extract"};let c=null;const o=new Map;let u,n,g=!0,d;const p=t=>t.startsWith(u.root)?t:$(j.join(u.root,t));return{name:"tamagui-extract",enforce:"pre",configureServer(t){n=t},buildEnd(){c.cleanupBeforeExit()},writeBundle(t,r){setTimeout(()=>{console.warn("some sort of dangling process or osmethign, exit for now..."),process.exit(0)},100)},config(t,r){return{optimizeDeps:{include:r.command==="serve"?["@tamagui/core/inject-styles"]:[]}}},async configResolved(t){u=t,c=P({logger:t.logger}),g=!0,d=`.tamagui.${g?"css":"js"}`},async resolveId(t){if(t==="tamagui.css")return await c.loadTamagui(i),b;const[r,s]=t.split("?");if(!r.endsWith(d))return;const e=t.startsWith(u.root)?t:p(r);if(o.has(e))return e+(s?`?${s}`:"")},load(t,r){const[s]=t.split("?");if(s===b)return c.getTamagui().getCSS();if(!o.has(s))return;const e=o.get(s);if(typeof e=="string")return g||!n||n.config.isProduction?e:_`
1
+ import path from "path";
2
+ import * as Static from "@tamagui/static";
3
+ import outdent from "outdent";
4
+ import { normalizePath } from "vite";
5
+ const { createExtractor, extractToClassNames, getPragmaOptions } = Static["default"] || Static;
6
+ const styleUpdateEvent = (fileId) => `tamagui-style-update:${fileId}`;
7
+ const GLOBAL_CSS_VIRTUAL_PATH = "__tamagui_global_css__.css";
8
+ function tamaguiExtractPlugin(options) {
9
+ const disableStatic = options.disable || options.disableDebugAttr && options.disableExtraction;
10
+ if (disableStatic) {
11
+ return {
12
+ name: "tamagui-extract"
13
+ };
14
+ }
15
+ let extractor = null;
16
+ const cssMap = /* @__PURE__ */ new Map();
17
+ let config;
18
+ let server;
19
+ let shouldReturnCSS = true;
20
+ let virtualExt;
21
+ const getAbsoluteVirtualFileId = (filePath) => {
22
+ if (filePath.startsWith(config.root)) {
23
+ return filePath;
24
+ }
25
+ return normalizePath(path.join(config.root, filePath));
26
+ };
27
+ return {
28
+ name: "tamagui-extract",
29
+ enforce: "pre",
30
+ configureServer(_server) {
31
+ server = _server;
32
+ },
33
+ buildEnd() {
34
+ extractor.cleanupBeforeExit();
35
+ },
36
+ writeBundle(options2, bundle) {
37
+ setTimeout(() => {
38
+ console.warn("some sort of dangling process or osmethign, exit for now...");
39
+ process.exit(0);
40
+ }, 100);
41
+ },
42
+ config(_userConfig, env) {
43
+ const include = env.command === "serve" ? ["@tamagui/core/inject-styles"] : [];
44
+ return {
45
+ optimizeDeps: { include }
46
+ };
47
+ },
48
+ async configResolved(resolvedConfig) {
49
+ config = resolvedConfig;
50
+ extractor = createExtractor({
51
+ logger: resolvedConfig.logger
52
+ });
53
+ shouldReturnCSS = true;
54
+ virtualExt = `.tamagui.${shouldReturnCSS ? "css" : "js"}`;
55
+ },
56
+ async resolveId(source) {
57
+ if (source === "tamagui.css") {
58
+ await extractor.loadTamagui(options);
59
+ return GLOBAL_CSS_VIRTUAL_PATH;
60
+ }
61
+ const [validId, query] = source.split("?");
62
+ if (!validId.endsWith(virtualExt)) {
63
+ return;
64
+ }
65
+ const absoluteId = source.startsWith(config.root) ? source : getAbsoluteVirtualFileId(validId);
66
+ if (cssMap.has(absoluteId)) {
67
+ return absoluteId + (query ? `?${query}` : "");
68
+ }
69
+ },
70
+ /**
71
+ * TODO
72
+ *
73
+ * mainFields module:jsx breaks, so lets just have a mapping here
74
+ * where we load() and map it to the jsx path before transform
75
+ *
76
+ */
77
+ load(id, options2) {
78
+ const [validId] = id.split("?");
79
+ if (validId === GLOBAL_CSS_VIRTUAL_PATH) {
80
+ return extractor.getTamagui().getCSS();
81
+ }
82
+ if (!cssMap.has(validId)) {
83
+ return;
84
+ }
85
+ const css = cssMap.get(validId);
86
+ if (typeof css !== "string") {
87
+ return;
88
+ }
89
+ if (shouldReturnCSS || !server || server.config.isProduction) {
90
+ return css;
91
+ }
92
+ return outdent`
2
93
  import { injectStyles } from '@tamagui/core/inject-styles';
3
94
 
4
95
  const inject = (css) => injectStyles({
5
- filePath: "${s}",
96
+ filePath: "${validId}",
6
97
  css
7
98
  });
8
99
 
9
- inject(${JSON.stringify(e)});
100
+ inject(${JSON.stringify(css)});
10
101
 
11
102
  if (import.meta.hot) {
12
- import.meta.hot.on('${S(s)}', (css) => {
103
+ import.meta.hot.on('${styleUpdateEvent(validId)}', (css) => {
13
104
  inject(css);
14
105
  });
15
106
  }
16
- `},async transform(t,r,s){const[e]=r.split("?");if(!e.endsWith(".tsx"))return;const y=t.indexOf("// "),{shouldDisable:I,shouldPrintDebug:T}=E({source:y>=0?t.slice(y):"",path:e});if(I)return;const a=await w({extractor:c,source:t,sourcePath:e,options:i,shouldPrintDebug:T});if(!a)return;const v=`${e}${d}`,l=p(v);let f=a.js;if(a.styles){if(n&&o.has(l)&&o.get(l)!==a.styles){const{moduleGraph:h}=n,[m]=Array.from(h.getModulesByFile(l)||[]);m&&(h.invalidateModule(m),m.lastHMRTimestamp=m.lastInvalidationTimestamp||Date.now()),n.ws.send({type:"custom",event:S(l),data:a.styles})}f=`${f}
17
- import "${v}";`,o.set(l,a.styles)}return{code:f.toString(),map:a.map}}}}export{B as tamaguiExtractPlugin};
107
+ `;
108
+ },
109
+ async transform(code, id, ssrParam) {
110
+ const [validId] = id.split("?");
111
+ if (!validId.endsWith(".tsx")) {
112
+ return;
113
+ }
114
+ const firstCommentIndex = code.indexOf("// ");
115
+ const { shouldDisable, shouldPrintDebug } = getPragmaOptions({
116
+ source: firstCommentIndex >= 0 ? code.slice(firstCommentIndex) : "",
117
+ path: validId
118
+ });
119
+ if (shouldDisable) {
120
+ return;
121
+ }
122
+ const extracted = await extractToClassNames({
123
+ extractor,
124
+ source: code,
125
+ sourcePath: validId,
126
+ options,
127
+ shouldPrintDebug
128
+ });
129
+ if (!extracted) {
130
+ return;
131
+ }
132
+ const rootRelativeId = `${validId}${virtualExt}`;
133
+ const absoluteId = getAbsoluteVirtualFileId(rootRelativeId);
134
+ let source = extracted.js;
135
+ if (extracted.styles) {
136
+ if (server && cssMap.has(absoluteId) && cssMap.get(absoluteId) !== extracted.styles) {
137
+ const { moduleGraph } = server;
138
+ const [module] = Array.from(moduleGraph.getModulesByFile(absoluteId) || []);
139
+ if (module) {
140
+ moduleGraph.invalidateModule(module);
141
+ module.lastHMRTimestamp = module.lastInvalidationTimestamp || Date.now();
142
+ }
143
+ server.ws.send({
144
+ type: "custom",
145
+ event: styleUpdateEvent(absoluteId),
146
+ data: extracted.styles
147
+ });
148
+ }
149
+ source = `${source}
150
+ import "${rootRelativeId}";`;
151
+ cssMap.set(absoluteId, extracted.styles);
152
+ }
153
+ return {
154
+ code: source.toString(),
155
+ map: extracted.map
156
+ };
157
+ }
158
+ };
159
+ }
160
+ export {
161
+ tamaguiExtractPlugin
162
+ };
18
163
  //# sourceMappingURL=extract.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/extract.ts"],
4
4
  "sourcesContent": ["// fork from https://github.com/seek-oss/vanilla-extract\n\nimport path from 'path'\n\nimport { TamaguiOptions } from '@tamagui/static'\nimport * as Static from '@tamagui/static'\nimport outdent from 'outdent'\nimport type { Plugin, ResolvedConfig, ViteDevServer } from 'vite'\nimport { normalizePath } from 'vite'\n\nconst { createExtractor, extractToClassNames, getPragmaOptions } =\n Static['default'] || Static\n\nconst styleUpdateEvent = (fileId: string) => `tamagui-style-update:${fileId}`\nconst GLOBAL_CSS_VIRTUAL_PATH = '__tamagui_global_css__.css'\n\nexport function tamaguiExtractPlugin(options: TamaguiOptions): Plugin {\n const disableStatic =\n options.disable || (options.disableDebugAttr && options.disableExtraction)\n\n if (disableStatic) {\n return {\n name: 'tamagui-extract',\n }\n }\n\n let extractor: ReturnType<typeof createExtractor> | null = null\n const cssMap = new Map<string, string>()\n\n let config: ResolvedConfig\n let server: ViteDevServer\n let shouldReturnCSS = true //config.command === 'serve'\n let virtualExt: string\n\n const getAbsoluteVirtualFileId = (filePath: string) => {\n if (filePath.startsWith(config.root)) {\n return filePath\n }\n return normalizePath(path.join(config.root, filePath))\n }\n\n return {\n name: 'tamagui-extract',\n enforce: 'pre',\n\n configureServer(_server) {\n server = _server\n },\n\n buildEnd() {\n extractor!.cleanupBeforeExit()\n },\n\n writeBundle(this, options, bundle) {\n setTimeout(() => {\n // eslint-disable-next-line no-console\n console.warn('some sort of dangling process or osmethign, exit for now...')\n process.exit(0)\n }, 100)\n },\n\n config(_userConfig, env) {\n const include = env.command === 'serve' ? ['@tamagui/core/inject-styles'] : []\n return {\n optimizeDeps: { include },\n }\n },\n\n async configResolved(resolvedConfig) {\n config = resolvedConfig\n extractor = createExtractor({\n logger: resolvedConfig.logger,\n })\n shouldReturnCSS = true\n // TODO postcss work with postcss.config.js\n // packageName = getPackageInfo(config.root).name;\n // if (config.command === 'serve') {\n // postCssConfig = await resolvePostcssConfig(config);\n // }\n virtualExt = `.tamagui.${shouldReturnCSS ? 'css' : 'js'}`\n },\n\n async resolveId(source) {\n if (source === 'tamagui.css') {\n await extractor!.loadTamagui(options)\n return GLOBAL_CSS_VIRTUAL_PATH\n }\n\n const [validId, query] = source.split('?')\n\n if (!validId.endsWith(virtualExt)) {\n return\n }\n\n // Absolute paths seem to occur often in monorepos, where files are\n // imported from outside the config root.\n const absoluteId = source.startsWith(config.root)\n ? source\n : getAbsoluteVirtualFileId(validId)\n\n // There should always be an entry in the `cssMap` here.\n // The only valid scenario for a missing one is if someone had written\n // a file in their app using the .tamagui.js/.tamagui.css extension\n if (cssMap.has(absoluteId)) {\n // Keep the original query string for HMR.\n return absoluteId + (query ? `?${query}` : '')\n }\n },\n\n /**\n * TODO\n *\n * mainFields module:jsx breaks, so lets just have a mapping here\n * where we load() and map it to the jsx path before transform\n *\n */\n\n load(id, options) {\n const [validId] = id.split('?')\n\n if (validId === GLOBAL_CSS_VIRTUAL_PATH) {\n return extractor!.getTamagui()!.getCSS()\n }\n\n if (!cssMap.has(validId)) {\n return\n }\n\n const css = cssMap.get(validId)\n\n if (typeof css !== 'string') {\n return\n }\n\n if (shouldReturnCSS || !server || server.config.isProduction) {\n return css\n }\n\n return outdent`\n import { injectStyles } from '@tamagui/core/inject-styles';\n\n const inject = (css) => injectStyles({\n filePath: \"${validId}\",\n css\n });\n\n inject(${JSON.stringify(css)});\n\n if (import.meta.hot) {\n import.meta.hot.on('${styleUpdateEvent(validId)}', (css) => {\n inject(css);\n });\n }\n `\n },\n\n async transform(code, id, ssrParam) {\n const [validId] = id.split('?')\n\n if (!validId.endsWith('.tsx')) {\n return\n }\n\n // let ssr: boolean | undefined\n // if (typeof ssrParam === 'boolean') {\n // ssr = ssrParam\n // } else {\n // ssr = ssrParam?.ssr\n // }\n\n const firstCommentIndex = code.indexOf('// ')\n const { shouldDisable, shouldPrintDebug } = getPragmaOptions({\n source: firstCommentIndex >= 0 ? code.slice(firstCommentIndex) : '',\n path: validId,\n })\n\n if (shouldDisable) {\n return\n }\n\n const extracted = await extractToClassNames({\n extractor: extractor!,\n source: code,\n sourcePath: validId,\n options,\n shouldPrintDebug,\n })\n\n if (!extracted) {\n return\n }\n\n const rootRelativeId = `${validId}${virtualExt}`\n const absoluteId = getAbsoluteVirtualFileId(rootRelativeId)\n\n let source = extracted.js\n\n if (extracted.styles) {\n if (\n server &&\n cssMap.has(absoluteId) &&\n cssMap.get(absoluteId) !== extracted.styles\n ) {\n const { moduleGraph } = server\n const [module] = Array.from(moduleGraph.getModulesByFile(absoluteId) || [])\n\n if (module) {\n moduleGraph.invalidateModule(module)\n\n // Vite uses this timestamp to add `?t=` query string automatically for HMR.\n module.lastHMRTimestamp =\n (module as any).lastInvalidationTimestamp || Date.now()\n }\n\n server.ws.send({\n type: 'custom',\n event: styleUpdateEvent(absoluteId),\n data: extracted.styles,\n })\n }\n\n source = `${source}\\nimport \"${rootRelativeId}\";`\n cssMap.set(absoluteId, extracted.styles)\n }\n\n return {\n code: source.toString(),\n map: extracted.map,\n }\n\n // if (ssr && !process.env.VITE_RSC_BUILD) {\n // return addFileScope({\n // source: code,\n // filePath: normalizePath(validId),\n // rootPath: config.root,\n // packageName,\n // })\n // }\n\n // const { source, watchFiles } = await compile({\n // filePath: validId,\n // cwd: config.root,\n // esbuildOptions,\n // })\n\n // for (const file of watchFiles) {\n // // In start mode, we need to prevent the file from rewatching itself.\n // // If it's a `build --watch`, it needs to watch everything.\n // if (config.command === 'build' || file !== validId) {\n // this.addWatchFile(file)\n // }\n // }\n },\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["path", "Static", "outdent", "normalizePath", "createExtractor", "extractToClassNames", "getPragmaOptions", "styleUpdateEvent", "fileId", "GLOBAL_CSS_VIRTUAL_PATH", "tamaguiExtractPlugin", "options", "extractor", "cssMap", "config", "server", "shouldReturnCSS", "virtualExt", "getAbsoluteVirtualFileId", "filePath", "_server", "bundle", "_userConfig", "env", "resolvedConfig", "source", "validId", "query", "absoluteId", "id", "css", "code", "ssrParam", "firstCommentIndex", "shouldDisable", "shouldPrintDebug", "extracted", "rootRelativeId", "moduleGraph", "module"]
5
+ "mappings": "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",
6
+ "names": ["options"]
7
7
  }
package/dist/esm/index.js CHANGED
@@ -1,2 +1,5 @@
1
- export*from"./plugin.js";export*from"./extract.js";export*from"./native.js";export*from"./nativePrebuild.js";
1
+ export * from "./plugin.js";
2
+ export * from "./extract.js";
3
+ export * from "./native.js";
4
+ export * from "./nativePrebuild.js";
2
5
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
4
  "sourcesContent": ["export * from './plugin.js'\nexport * from './extract.js'\nexport * from './native.js'\nexport * from './nativePrebuild.js'\n"],
5
- "mappings": "AAAA,WAAc,cACd,WAAc,eACd,WAAc,cACd,WAAc",
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,5 @@
1
- export*from"./plugin.js";export*from"./extract.js";export*from"./native.js";export*from"./nativePrebuild.js";
1
+ export * from "./plugin.js";
2
+ export * from "./extract.js";
3
+ export * from "./native.js";
4
+ export * from "./nativePrebuild.js";
2
5
  //# sourceMappingURL=index.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
4
  "sourcesContent": ["export * from './plugin.js'\nexport * from './extract.js'\nexport * from './native.js'\nexport * from './nativePrebuild.js'\n"],
5
- "mappings": "AAAA,WAAc,cACd,WAAc,eACd,WAAc,cACd,WAAc",
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -1,12 +1,210 @@
1
- import{readFile as n}from"fs/promises";import{join as l}from"path";import{esbuildFlowPlugin as p}from"@bunchtogether/vite-plugin-flow";import{extensions as r}from"./extensions.js";function h(){return{name:"tamagui-native",enforce:"post",config:e=>{if(e.build||(e.build={}),e.build.modulePreload={polyfill:!1},e.build.assetsInlineLimit=1e8,e.build.chunkSizeWarningLimit=1e8,e.build.cssCodeSplit=!1,e.build.reportCompressedSize=!1,e.base=void 0,e.resolve??={},e.resolve.extensions=r,e.resolve.alias??={},e.resolve.alias={...e.resolve.alias,"react-native/Libraries/Renderer/shims/ReactFabric":"react-native/Libraries/Renderer/shims/ReactFabric","react-native/Libraries/Utilities/codegenNativeComponent":"react-native/Libraries/Utilities/codegenNativeComponent","react-native-svg":"react-native-svg","react-native-web":"react-native","react-native":"react-native"},e.optimizeDeps??={},e.optimizeDeps.esbuildOptions??={},e.optimizeDeps.esbuildOptions.resolveExtensions=r,e.optimizeDeps.esbuildOptions.plugins??=[],e.optimizeDeps.esbuildOptions.plugins.push(p(/node_modules\/(react-native\/|@react-native\/assets)/,t=>"jsx")),e.optimizeDeps.include??=[],e.optimizeDeps.include.push("react-native"),e.optimizeDeps.esbuildOptions.loader??={},e.optimizeDeps.esbuildOptions.loader[".js"]="jsx",e.optimizeDeps.esbuildOptions.plugins.push({name:"react-native-assets",setup(t){t.onResolve({filter:/\.(png|jpg|gif|webp)$/},async({path:i,namespace:o})=>({path:"",external:!0}))}}),e.build.rollupOptions??={},e.build.rollupOptions.input="/Users/n8/tamagui/apps/kitchen-sink/src/index.tsx",e.build.rollupOptions.output??={},e.build.rollupOptions.plugins??=[],e.build.rollupOptions.external=["react-native","react","react/jsx-runtime"],!Array.isArray(e.build.rollupOptions.plugins))throw"x";process.env.DEBUG&&console.log("config..",e),e.build.commonjsOptions={include:/node_modules\/react\//},e.build.rollupOptions.plugins.push({name:"swap-react-native",async load(t){if(t.endsWith("react-native/index.js")){const i=await n(l(process.cwd(),"react-native.js"),"utf-8"),o=i;return{code:`
1
+ import { readFile } from "fs/promises";
2
+ import { join } from "path";
3
+ import { esbuildFlowPlugin } from "@bunchtogether/vite-plugin-flow";
4
+ import { extensions } from "./extensions.js";
5
+ function nativePlugin() {
6
+ return {
7
+ name: "tamagui-native",
8
+ enforce: "post",
9
+ config: (config) => {
10
+ if (!config.build)
11
+ config.build = {};
12
+ config.build.modulePreload = { polyfill: false };
13
+ config.build.assetsInlineLimit = 1e8;
14
+ config.build.chunkSizeWarningLimit = 1e8;
15
+ config.build.cssCodeSplit = false;
16
+ config.build.reportCompressedSize = false;
17
+ config.base = void 0;
18
+ config.resolve ??= {};
19
+ config.resolve.extensions = extensions;
20
+ config.resolve.alias ??= {};
21
+ config.resolve.alias = {
22
+ ...config.resolve.alias,
23
+ "react-native/Libraries/Renderer/shims/ReactFabric": "react-native/Libraries/Renderer/shims/ReactFabric",
24
+ "react-native/Libraries/Utilities/codegenNativeComponent": "react-native/Libraries/Utilities/codegenNativeComponent",
25
+ "react-native-svg": "react-native-svg",
26
+ "react-native-web": "react-native",
27
+ "react-native": "react-native"
28
+ };
29
+ config.optimizeDeps ??= {};
30
+ config.optimizeDeps.esbuildOptions ??= {};
31
+ config.optimizeDeps.esbuildOptions.resolveExtensions = extensions;
32
+ config.optimizeDeps.esbuildOptions.plugins ??= [];
33
+ config.optimizeDeps.esbuildOptions.plugins.push(
34
+ esbuildFlowPlugin(
35
+ /node_modules\/(react-native\/|@react-native\/assets)/,
36
+ (_) => "jsx"
37
+ )
38
+ );
39
+ config.optimizeDeps.include ??= [];
40
+ config.optimizeDeps.include.push("react-native");
41
+ config.optimizeDeps.esbuildOptions.loader ??= {};
42
+ config.optimizeDeps.esbuildOptions.loader[".js"] = "jsx";
43
+ config.optimizeDeps.esbuildOptions.plugins.push({
44
+ name: "react-native-assets",
45
+ setup(build) {
46
+ build.onResolve(
47
+ {
48
+ filter: /\.(png|jpg|gif|webp)$/
49
+ },
50
+ async ({ path, namespace }) => {
51
+ return {
52
+ path: "",
53
+ external: true
54
+ };
55
+ }
56
+ );
57
+ }
58
+ });
59
+ config.build.rollupOptions ??= {};
60
+ config.build.rollupOptions.input = "/Users/n8/tamagui/apps/kitchen-sink/src/index.tsx";
61
+ config.build.rollupOptions.output ??= {};
62
+ config.build.rollupOptions.plugins ??= [];
63
+ config.build.rollupOptions.external = ["react-native", "react", "react/jsx-runtime"];
64
+ if (!Array.isArray(config.build.rollupOptions.plugins)) {
65
+ throw `x`;
66
+ }
67
+ if (process.env.DEBUG) {
68
+ console.log("config..", config);
69
+ }
70
+ config.build.commonjsOptions = {
71
+ include: /node_modules\/react\//
72
+ };
73
+ config.build.rollupOptions.plugins.push({
74
+ name: `swap-react-native`,
75
+ async load(id) {
76
+ if (id.endsWith("react-native/index.js")) {
77
+ const bundled = await readFile(
78
+ join(process.cwd(), "react-native.js"),
79
+ "utf-8"
80
+ );
81
+ const code = bundled;
82
+ return {
83
+ code: `
2
84
  const run = () => {
3
- ${i.replace("module.exports = require_react_native();","return require_react_native();")}
85
+ ${bundled.replace(
86
+ `module.exports = require_react_native();`,
87
+ `return require_react_native();`
88
+ )}
4
89
  }
5
90
 
6
91
  const RN = run()
7
92
 
8
- ${u.map(a=>`export const ${a} = RN.${a}`).join(`
9
- `)}
93
+ ${RNExportNames.map(
94
+ (name) => (
95
+ // adding exports
96
+ `export const ${name} = RN.${name}`
97
+ )
98
+ ).join("\n")}
10
99
 
11
- `}}}});const s=t=>{t.inlineDynamicImports=!0,t.manualChunks=void 0};if(Array.isArray(e.build.rollupOptions.output))for(const t in e.build.rollupOptions.output)s(t);else s(e.build.rollupOptions.output)}}}const u=["AccessibilityInfo","ActivityIndicator","Button","DatePickerIOS","DrawerLayoutAndroid","FlatList","Image","ImageBackground","InputAccessoryView","KeyboardAvoidingView","MaskedViewIOS","Modal","Pressable","ProgressBarAndroid","ProgressViewIOS","RefreshControl","SafeAreaView","ScrollView","SectionList","Slider","StatusBar","Switch","Text","TextInput","Touchable","TouchableHighlight","TouchableNativeFeedback","TouchableOpacity","TouchableWithoutFeedback","View","VirtualizedList","VirtualizedSectionList","ActionSheetIOS","Alert","Animated","Appearance","AppRegistry","AppState","AsyncStorage","BackHandler","Clipboard","DeviceInfo","DevSettings","Dimensions","Easing","findNodeHandle","I18nManager","ImagePickerIOS","InteractionManager","Keyboard","LayoutAnimation","Linking","LogBox","NativeDialogManagerAndroid","NativeEventEmitter","Networking","PanResponder","PermissionsAndroid","PixelRatio","Settings","Share","StyleSheet","Systrace","ToastAndroid","TurboModuleRegistry","UIManager","unstable_batchedUpdates","useColorScheme","useWindowDimensions","UTFSequence","Vibration","YellowBox","DeviceEventEmitter","DynamicColorIOS","NativeAppEventEmitter","NativeModules","Platform","PlatformColor","processColor","requireNativeComponent","RootTagContext"];export{h as nativePlugin};
100
+ `
101
+ };
102
+ }
103
+ }
104
+ });
105
+ const updateOutputOptions = (out) => {
106
+ out.inlineDynamicImports = true;
107
+ out.manualChunks = void 0;
108
+ };
109
+ if (Array.isArray(config.build.rollupOptions.output)) {
110
+ for (const o in config.build.rollupOptions.output)
111
+ updateOutputOptions(o);
112
+ } else {
113
+ updateOutputOptions(config.build.rollupOptions.output);
114
+ }
115
+ }
116
+ };
117
+ }
118
+ const RNExportNames = [
119
+ "AccessibilityInfo",
120
+ "ActivityIndicator",
121
+ "Button",
122
+ "DatePickerIOS",
123
+ "DrawerLayoutAndroid",
124
+ "FlatList",
125
+ "Image",
126
+ "ImageBackground",
127
+ "InputAccessoryView",
128
+ "KeyboardAvoidingView",
129
+ "MaskedViewIOS",
130
+ "Modal",
131
+ "Pressable",
132
+ "ProgressBarAndroid",
133
+ "ProgressViewIOS",
134
+ "RefreshControl",
135
+ "SafeAreaView",
136
+ "ScrollView",
137
+ "SectionList",
138
+ "Slider",
139
+ "StatusBar",
140
+ "Switch",
141
+ "Text",
142
+ "TextInput",
143
+ "Touchable",
144
+ "TouchableHighlight",
145
+ "TouchableNativeFeedback",
146
+ "TouchableOpacity",
147
+ "TouchableWithoutFeedback",
148
+ "View",
149
+ "VirtualizedList",
150
+ "VirtualizedSectionList",
151
+ "ActionSheetIOS",
152
+ "Alert",
153
+ "Animated",
154
+ "Appearance",
155
+ "AppRegistry",
156
+ "AppState",
157
+ "AsyncStorage",
158
+ "BackHandler",
159
+ "Clipboard",
160
+ "DeviceInfo",
161
+ "DevSettings",
162
+ "Dimensions",
163
+ "Easing",
164
+ "findNodeHandle",
165
+ "I18nManager",
166
+ "ImagePickerIOS",
167
+ "InteractionManager",
168
+ "Keyboard",
169
+ "LayoutAnimation",
170
+ "Linking",
171
+ "LogBox",
172
+ "NativeDialogManagerAndroid",
173
+ "NativeEventEmitter",
174
+ "Networking",
175
+ "PanResponder",
176
+ "PermissionsAndroid",
177
+ "PixelRatio",
178
+ // 'PushNotificationIOS',
179
+ "Settings",
180
+ "Share",
181
+ "StyleSheet",
182
+ "Systrace",
183
+ "ToastAndroid",
184
+ "TurboModuleRegistry",
185
+ "UIManager",
186
+ "unstable_batchedUpdates",
187
+ "useColorScheme",
188
+ "useWindowDimensions",
189
+ "UTFSequence",
190
+ "Vibration",
191
+ "YellowBox",
192
+ "DeviceEventEmitter",
193
+ "DynamicColorIOS",
194
+ "NativeAppEventEmitter",
195
+ "NativeModules",
196
+ "Platform",
197
+ "PlatformColor",
198
+ "processColor",
199
+ "requireNativeComponent",
200
+ "RootTagContext"
201
+ // 'unstable_enableLogBox',
202
+ // 'ColorPropType',
203
+ // 'EdgeInsetsPropType',
204
+ // 'PointPropType',
205
+ // 'ViewPropTypes',
206
+ ];
207
+ export {
208
+ nativePlugin
209
+ };
12
210
  //# sourceMappingURL=native.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/native.ts"],
4
4
  "sourcesContent": ["import { readFile } from 'fs/promises'\nimport { join } from 'path'\n\nimport { esbuildFlowPlugin } from '@bunchtogether/vite-plugin-flow'\nimport { OutputOptions } from 'rollup'\nimport type { Plugin } from 'vite'\n\nimport { extensions } from './extensions.js'\n\nexport function nativePlugin(): Plugin {\n return {\n name: 'tamagui-native',\n enforce: 'post',\n\n config: (config) => {\n if (!config.build) config.build = {}\n\n config.build.modulePreload = { polyfill: false }\n // Ensures that even very large assets are inlined in your JavaScript.\n config.build.assetsInlineLimit = 100000000\n // Avoid warnings about large chunks.\n config.build.chunkSizeWarningLimit = 100000000\n // Emit all CSS as a single file, which `vite-plugin-singlefile` can then inline.\n config.build.cssCodeSplit = false\n // Avoids the extra step of testing Brotli compression, which isn't really pertinent to a file served locally.\n config.build.reportCompressedSize = false\n // Subfolder bases are not supported, and shouldn't be needed because we're embedding everything.\n config.base = undefined\n\n config.resolve ??= {}\n\n config.resolve.extensions = extensions\n\n config.resolve.alias ??= {}\n config.resolve.alias = {\n ...config.resolve.alias,\n 'react-native/Libraries/Renderer/shims/ReactFabric':\n 'react-native/Libraries/Renderer/shims/ReactFabric',\n 'react-native/Libraries/Utilities/codegenNativeComponent':\n 'react-native/Libraries/Utilities/codegenNativeComponent',\n 'react-native-svg': 'react-native-svg',\n 'react-native-web': 'react-native',\n 'react-native': 'react-native',\n }\n\n config.optimizeDeps ??= {}\n config.optimizeDeps.esbuildOptions ??= {}\n config.optimizeDeps.esbuildOptions.resolveExtensions = extensions\n\n config.optimizeDeps.esbuildOptions.plugins ??= []\n config.optimizeDeps.esbuildOptions.plugins.push(\n esbuildFlowPlugin(\n /node_modules\\/(react-native\\/|@react-native\\/assets)/,\n (_) => 'jsx'\n )\n )\n // config.optimizeDeps.esbuildOptions.plugins.push(esbuildCommonjs(['react-native']))\n\n config.optimizeDeps.include ??= []\n config.optimizeDeps.include.push('react-native')\n\n config.optimizeDeps.esbuildOptions.loader ??= {}\n config.optimizeDeps.esbuildOptions.loader['.js'] = 'jsx'\n\n config.optimizeDeps.esbuildOptions.plugins.push({\n name: 'react-native-assets',\n setup(build) {\n build.onResolve(\n {\n filter: /\\.(png|jpg|gif|webp)$/,\n },\n async ({ path, namespace }) => {\n return {\n path: '',\n external: true,\n }\n }\n )\n },\n })\n\n config.build.rollupOptions ??= {}\n\n config.build.rollupOptions.input =\n '/Users/n8/tamagui/apps/kitchen-sink/src/index.tsx'\n\n config.build.rollupOptions.output ??= {}\n\n config.build.rollupOptions.plugins ??= []\n\n config.build.rollupOptions.external = ['react-native', 'react', 'react/jsx-runtime']\n\n if (!Array.isArray(config.build.rollupOptions.plugins)) {\n throw `x`\n }\n\n if (process.env.DEBUG) {\n console.log('config..', config)\n }\n\n config.build.commonjsOptions = {\n include: /node_modules\\/react\\//,\n }\n\n config.build.rollupOptions.plugins.push({\n name: `swap-react-native`,\n async load(id) {\n if (id.endsWith('react-native/index.js')) {\n const bundled = await readFile(\n join(process.cwd(), 'react-native.js'),\n 'utf-8'\n )\n const code = bundled\n return {\n code: `\nconst run = () => { \n ${bundled.replace(\n `module.exports = require_react_native();`,\n `return require_react_native();`\n )}\n}\n\nconst RN = run()\n\n${RNExportNames.map(\n (name) =>\n // adding exports\n `export const ${name} = RN.${name}`\n).join('\\n')}\n\n`,\n }\n }\n },\n })\n\n const updateOutputOptions = (out: OutputOptions) => {\n // Ensure that as many resources as possible are inlined.\n out.inlineDynamicImports = true\n\n // added by me (nate):\n out.manualChunks = undefined\n }\n\n if (Array.isArray(config.build.rollupOptions.output)) {\n for (const o in config.build.rollupOptions.output)\n updateOutputOptions(o as OutputOptions)\n } else {\n updateOutputOptions(config.build.rollupOptions.output as OutputOptions)\n }\n },\n }\n}\n\nconst RNExportNames = [\n 'AccessibilityInfo',\n 'ActivityIndicator',\n 'Button',\n 'DatePickerIOS',\n 'DrawerLayoutAndroid',\n 'FlatList',\n 'Image',\n 'ImageBackground',\n 'InputAccessoryView',\n 'KeyboardAvoidingView',\n 'MaskedViewIOS',\n 'Modal',\n 'Pressable',\n 'ProgressBarAndroid',\n 'ProgressViewIOS',\n 'RefreshControl',\n 'SafeAreaView',\n 'ScrollView',\n 'SectionList',\n 'Slider',\n 'StatusBar',\n 'Switch',\n 'Text',\n 'TextInput',\n 'Touchable',\n 'TouchableHighlight',\n 'TouchableNativeFeedback',\n 'TouchableOpacity',\n 'TouchableWithoutFeedback',\n 'View',\n 'VirtualizedList',\n 'VirtualizedSectionList',\n 'ActionSheetIOS',\n 'Alert',\n 'Animated',\n 'Appearance',\n 'AppRegistry',\n 'AppState',\n 'AsyncStorage',\n 'BackHandler',\n 'Clipboard',\n 'DeviceInfo',\n 'DevSettings',\n 'Dimensions',\n 'Easing',\n 'findNodeHandle',\n 'I18nManager',\n 'ImagePickerIOS',\n 'InteractionManager',\n 'Keyboard',\n 'LayoutAnimation',\n 'Linking',\n 'LogBox',\n 'NativeDialogManagerAndroid',\n 'NativeEventEmitter',\n 'Networking',\n 'PanResponder',\n 'PermissionsAndroid',\n 'PixelRatio',\n // 'PushNotificationIOS',\n 'Settings',\n 'Share',\n 'StyleSheet',\n 'Systrace',\n 'ToastAndroid',\n 'TurboModuleRegistry',\n 'UIManager',\n 'unstable_batchedUpdates',\n 'useColorScheme',\n 'useWindowDimensions',\n 'UTFSequence',\n 'Vibration',\n 'YellowBox',\n 'DeviceEventEmitter',\n 'DynamicColorIOS',\n 'NativeAppEventEmitter',\n 'NativeModules',\n 'Platform',\n 'PlatformColor',\n 'processColor',\n 'requireNativeComponent',\n 'RootTagContext',\n // 'unstable_enableLogBox',\n // 'ColorPropType',\n // 'EdgeInsetsPropType',\n // 'PointPropType',\n // 'ViewPropTypes',\n]\n"],
5
- "mappings": "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",
6
- "names": ["readFile", "join", "esbuildFlowPlugin", "extensions", "nativePlugin", "config", "_", "build", "path", "namespace", "id", "bundled", "code", "RNExportNames", "name", "updateOutputOptions", "out", "o"]
5
+ "mappings": "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AA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMF;",
6
+ "names": []
7
7
  }