@tamagui/static 2.0.0-rc.4 → 2.0.0-rc.40

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.
Files changed (185) hide show
  1. package/dist/check-dep-versions.cjs +201 -96
  2. package/dist/checkDeps.cjs +250 -46
  3. package/dist/constants.cjs +32 -30
  4. package/dist/exports.cjs +18 -13
  5. package/dist/extractor/accessSafe.cjs +25 -23
  6. package/dist/extractor/babelParse.cjs +30 -28
  7. package/dist/extractor/buildClassName.cjs +59 -35
  8. package/dist/extractor/bundle.cjs +177 -101
  9. package/dist/extractor/bundleConfig.cjs +554 -167
  10. package/dist/extractor/concatClassName.cjs +41 -29
  11. package/dist/extractor/createEvaluator.cjs +54 -41
  12. package/dist/extractor/createExtractor.cjs +1400 -581
  13. package/dist/extractor/createLogger.cjs +30 -25
  14. package/dist/extractor/detectModuleFormat.cjs +55 -0
  15. package/dist/extractor/ensureImportingConcat.cjs +31 -25
  16. package/dist/extractor/errors.cjs +12 -10
  17. package/dist/extractor/esbuildAliasPlugin.cjs +28 -16
  18. package/dist/extractor/esbuildTsconfigPaths.cjs +60 -36
  19. package/dist/extractor/evaluateAstNode.cjs +104 -59
  20. package/dist/extractor/extractHelpers.cjs +130 -67
  21. package/dist/extractor/extractMediaStyle.cjs +110 -69
  22. package/dist/extractor/extractToClassNames.cjs +337 -229
  23. package/dist/extractor/extractToNative.cjs +248 -154
  24. package/dist/extractor/findTopmostFunction.cjs +22 -13
  25. package/dist/extractor/generatedUid.cjs +39 -28
  26. package/dist/extractor/getPrefixLogs.cjs +12 -10
  27. package/dist/extractor/getPropValueFromAttributes.cjs +52 -34
  28. package/dist/extractor/getSourceModule.cjs +73 -37
  29. package/dist/extractor/getStaticBindingsForScope.cjs +131 -68
  30. package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +20 -14
  31. package/dist/extractor/hasTopLevelAwait.cjs +62 -0
  32. package/dist/extractor/hoistClassNames.cjs +46 -32
  33. package/dist/extractor/literalToAst.cjs +67 -42
  34. package/dist/extractor/loadFile.cjs +9 -3
  35. package/dist/extractor/loadTamagui.cjs +149 -104
  36. package/dist/extractor/logLines.cjs +27 -19
  37. package/dist/extractor/normalizeTernaries.cjs +66 -44
  38. package/dist/extractor/propsToFontFamilyCache.cjs +15 -11
  39. package/dist/extractor/regenerateConfig.cjs +109 -81
  40. package/dist/extractor/removeUnusedHooks.cjs +73 -41
  41. package/dist/extractor/timer.cjs +23 -14
  42. package/dist/extractor/validHTMLAttributes.cjs +61 -59
  43. package/dist/extractor/watchTamaguiConfig.cjs +35 -23
  44. package/dist/getPragmaOptions.cjs +38 -19
  45. package/dist/helpers/memoize.cjs +24 -16
  46. package/dist/helpers/requireTamaguiCore.cjs +22 -15
  47. package/dist/index.cjs +26 -24
  48. package/dist/registerRequire.cjs +167 -65
  49. package/dist/server.cjs +35 -28
  50. package/dist/types.cjs +7 -5
  51. package/dist/worker.cjs +62 -40
  52. package/package.json +26 -22
  53. package/src/checkDeps.ts +305 -68
  54. package/src/exports.ts +1 -0
  55. package/src/extractor/babelParse.ts +1 -0
  56. package/src/extractor/bundle.ts +140 -37
  57. package/src/extractor/bundleConfig.ts +435 -61
  58. package/src/extractor/createExtractor.ts +283 -48
  59. package/src/extractor/detectModuleFormat.ts +42 -0
  60. package/src/extractor/esbuildTsconfigPaths.ts +6 -1
  61. package/src/extractor/extractToClassNames.ts +15 -9
  62. package/src/extractor/extractToNative.ts +66 -33
  63. package/src/extractor/hasTopLevelAwait.ts +28 -0
  64. package/src/extractor/loadTamagui.ts +2 -2
  65. package/src/getPragmaOptions.ts +6 -1
  66. package/src/registerRequire.ts +88 -8
  67. package/types/checkDeps.d.ts.map +1 -1
  68. package/types/exports.d.ts +1 -0
  69. package/types/exports.d.ts.map +1 -1
  70. package/types/extractor/babelParse.d.ts.map +1 -1
  71. package/types/extractor/bundle.d.ts +83 -1
  72. package/types/extractor/bundle.d.ts.map +1 -1
  73. package/types/extractor/bundleConfig.d.ts +15 -2
  74. package/types/extractor/bundleConfig.d.ts.map +1 -1
  75. package/types/extractor/createExtractor.d.ts.map +1 -1
  76. package/types/extractor/detectModuleFormat.d.ts +5 -0
  77. package/types/extractor/detectModuleFormat.d.ts.map +1 -0
  78. package/types/extractor/esbuildTsconfigPaths.d.ts +8 -0
  79. package/types/extractor/esbuildTsconfigPaths.d.ts.map +1 -1
  80. package/types/extractor/extractToClassNames.d.ts.map +1 -1
  81. package/types/extractor/extractToNative.d.ts.map +1 -1
  82. package/types/extractor/hasTopLevelAwait.d.ts +2 -0
  83. package/types/extractor/hasTopLevelAwait.d.ts.map +1 -0
  84. package/types/getPragmaOptions.d.ts.map +1 -1
  85. package/types/registerRequire.d.ts.map +1 -1
  86. package/dist/check-dep-versions.js +0 -389
  87. package/dist/check-dep-versions.js.map +0 -6
  88. package/dist/checkDeps.js +0 -60
  89. package/dist/checkDeps.js.map +0 -6
  90. package/dist/constants.js +0 -34
  91. package/dist/constants.js.map +0 -6
  92. package/dist/exports.js +0 -34
  93. package/dist/exports.js.map +0 -6
  94. package/dist/extractor/accessSafe.js +0 -47
  95. package/dist/extractor/accessSafe.js.map +0 -6
  96. package/dist/extractor/babelParse.js +0 -59
  97. package/dist/extractor/babelParse.js.map +0 -6
  98. package/dist/extractor/buildClassName.js +0 -72
  99. package/dist/extractor/buildClassName.js.map +0 -6
  100. package/dist/extractor/bundle.js +0 -135
  101. package/dist/extractor/bundle.js.map +0 -6
  102. package/dist/extractor/bundleConfig.js +0 -352
  103. package/dist/extractor/bundleConfig.js.map +0 -6
  104. package/dist/extractor/concatClassName.js +0 -69
  105. package/dist/extractor/concatClassName.js.map +0 -6
  106. package/dist/extractor/createEvaluator.js +0 -66
  107. package/dist/extractor/createEvaluator.js.map +0 -6
  108. package/dist/extractor/createExtractor.js +0 -1215
  109. package/dist/extractor/createExtractor.js.map +0 -6
  110. package/dist/extractor/createLogger.js +0 -32
  111. package/dist/extractor/createLogger.js.map +0 -6
  112. package/dist/extractor/ensureImportingConcat.js +0 -50
  113. package/dist/extractor/ensureImportingConcat.js.map +0 -6
  114. package/dist/extractor/errors.js +0 -22
  115. package/dist/extractor/errors.js.map +0 -6
  116. package/dist/extractor/esbuildAliasPlugin.js +0 -36
  117. package/dist/extractor/esbuildAliasPlugin.js.map +0 -6
  118. package/dist/extractor/esbuildTsconfigPaths.js +0 -79
  119. package/dist/extractor/esbuildTsconfigPaths.js.map +0 -6
  120. package/dist/extractor/evaluateAstNode.js +0 -99
  121. package/dist/extractor/evaluateAstNode.js.map +0 -6
  122. package/dist/extractor/extractHelpers.js +0 -108
  123. package/dist/extractor/extractHelpers.js.map +0 -6
  124. package/dist/extractor/extractMediaStyle.js +0 -123
  125. package/dist/extractor/extractMediaStyle.js.map +0 -6
  126. package/dist/extractor/extractToClassNames.js +0 -351
  127. package/dist/extractor/extractToClassNames.js.map +0 -6
  128. package/dist/extractor/extractToNative.js +0 -286
  129. package/dist/extractor/extractToNative.js.map +0 -6
  130. package/dist/extractor/findTopmostFunction.js +0 -32
  131. package/dist/extractor/findTopmostFunction.js.map +0 -6
  132. package/dist/extractor/generatedUid.js +0 -42
  133. package/dist/extractor/generatedUid.js.map +0 -6
  134. package/dist/extractor/getPrefixLogs.js +0 -24
  135. package/dist/extractor/getPrefixLogs.js.map +0 -6
  136. package/dist/extractor/getPropValueFromAttributes.js +0 -65
  137. package/dist/extractor/getPropValueFromAttributes.js.map +0 -6
  138. package/dist/extractor/getSourceModule.js +0 -62
  139. package/dist/extractor/getSourceModule.js.map +0 -6
  140. package/dist/extractor/getStaticBindingsForScope.js +0 -145
  141. package/dist/extractor/getStaticBindingsForScope.js.map +0 -6
  142. package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js +0 -32
  143. package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js.map +0 -6
  144. package/dist/extractor/hoistClassNames.js +0 -63
  145. package/dist/extractor/hoistClassNames.js.map +0 -6
  146. package/dist/extractor/literalToAst.js +0 -90
  147. package/dist/extractor/literalToAst.js.map +0 -6
  148. package/dist/extractor/loadFile.js +0 -14
  149. package/dist/extractor/loadFile.js.map +0 -6
  150. package/dist/extractor/loadTamagui.js +0 -306
  151. package/dist/extractor/loadTamagui.js.map +0 -6
  152. package/dist/extractor/logLines.js +0 -30
  153. package/dist/extractor/logLines.js.map +0 -6
  154. package/dist/extractor/normalizeTernaries.js +0 -61
  155. package/dist/extractor/normalizeTernaries.js.map +0 -6
  156. package/dist/extractor/propsToFontFamilyCache.js +0 -33
  157. package/dist/extractor/propsToFontFamilyCache.js.map +0 -6
  158. package/dist/extractor/regenerateConfig.js +0 -123
  159. package/dist/extractor/regenerateConfig.js.map +0 -6
  160. package/dist/extractor/removeUnusedHooks.js +0 -72
  161. package/dist/extractor/removeUnusedHooks.js.map +0 -6
  162. package/dist/extractor/timer.js +0 -38
  163. package/dist/extractor/timer.js.map +0 -6
  164. package/dist/extractor/validHTMLAttributes.js +0 -72
  165. package/dist/extractor/validHTMLAttributes.js.map +0 -6
  166. package/dist/extractor/watchTamaguiConfig.js +0 -57
  167. package/dist/extractor/watchTamaguiConfig.js.map +0 -6
  168. package/dist/getPragmaOptions.js +0 -46
  169. package/dist/getPragmaOptions.js.map +0 -6
  170. package/dist/helpers/memoize.js +0 -33
  171. package/dist/helpers/memoize.js.map +0 -6
  172. package/dist/helpers/requireTamaguiCore.js +0 -30
  173. package/dist/helpers/requireTamaguiCore.js.map +0 -6
  174. package/dist/index.js +0 -30
  175. package/dist/index.js.map +0 -6
  176. package/dist/registerRequire.js +0 -100
  177. package/dist/registerRequire.js.map +0 -6
  178. package/dist/server.js +0 -58
  179. package/dist/server.js.map +0 -6
  180. package/dist/setup.js +0 -1
  181. package/dist/setup.js.map +0 -6
  182. package/dist/types.js +0 -14
  183. package/dist/types.js.map +0 -6
  184. package/dist/worker.js +0 -72
  185. package/dist/worker.js.map +0 -6
@@ -22,13 +22,7 @@ const importStyleSheet = template(`
22
22
  const __ReactNativeStyleSheet = require('react-native').StyleSheet;
23
23
  `)
24
24
 
25
- const importWithStyle = template(`
26
- const __withStableStyle = require('@tamagui/core')._withStableStyle;
27
- `)
28
-
29
- const importReactUseMemo = template(`
30
- const __ReactUseMemo = require('react').useMemo;
31
- `)
25
+ const importWithStyle = template.ast(`import { _withStableStyle } from '@tamagui/core';`)
32
26
 
33
27
  const extractor = createExtractor({ platform: 'native' })
34
28
 
@@ -161,6 +155,33 @@ export function getBabelParseDefinition(options: TamaguiOptions) {
161
155
  'cursor',
162
156
  'contain',
163
157
  ]),
158
+ // native props that should pass through without preventing extraction
159
+ inlineProps: new Set([
160
+ 'testID',
161
+ 'nativeID',
162
+ 'accessibilityLabel',
163
+ 'accessibilityHint',
164
+ 'accessibilityRole',
165
+ 'accessibilityState',
166
+ 'accessibilityValue',
167
+ 'accessibilityActions',
168
+ 'accessibilityLabelledBy',
169
+ 'accessibilityLiveRegion',
170
+ 'accessibilityElementsHidden',
171
+ 'accessibilityViewIsModal',
172
+ 'importantForAccessibility',
173
+ 'onAccessibilityAction',
174
+ 'onAccessibilityEscape',
175
+ 'onAccessibilityTap',
176
+ 'onMagicTap',
177
+ 'collapsable',
178
+ 'needsOffscreenAlphaCompositing',
179
+ 'removeClippedSubviews',
180
+ 'renderToHardwareTextureAndroid',
181
+ 'shouldRasterizeIOS',
182
+ 'hitSlop',
183
+ 'pointerEvents',
184
+ ]),
164
185
  shouldPrintDebug,
165
186
  ...finalOptions,
166
187
  // disable extracting variables as no native concept of them (only theme values)
@@ -189,7 +210,7 @@ export function getBabelParseDefinition(options: TamaguiOptions) {
189
210
  const finalAttrs: (t.JSXAttribute | t.JSXSpreadAttribute)[] = []
190
211
  const themeKeysUsed = new Set<string>()
191
212
 
192
- function getStyleExpression(style: object | null) {
213
+ function getStyleExpression(style: object | null, forTernary = false) {
193
214
  if (!style) return
194
215
 
195
216
  // split theme properties and leave them as props since RN has no concept of theme
@@ -205,13 +226,24 @@ export function getBabelParseDefinition(options: TamaguiOptions) {
205
226
  // make a sub-array
206
227
  themeExpr = getThemedStyleExpression(themed)
207
228
  }
208
- const ident = addSheetStyle(plain, props.node)
229
+ const hasPlainKeys = Object.keys(plain).length > 0
230
+ const ident = hasPlainKeys ? addSheetStyle(plain, props.node) : null
209
231
  if (themeExpr) {
210
- addStyleExpression(ident)
211
- addStyleExpression(ident, true)
232
+ if (forTernary) {
233
+ // for ternary branches, return combined expression
234
+ // without adding plain styles unconditionally
235
+ if (ident) {
236
+ return t.arrayExpression([ident, themeExpr])
237
+ }
238
+ return themeExpr
239
+ }
240
+ // for base styles, add unconditionally
241
+ if (ident) {
242
+ addStyleExpression(ident)
243
+ addStyleExpression(ident, true)
244
+ }
212
245
  return themeExpr
213
246
  }
214
- // since we only do flattened disabling this path
215
247
  return ident
216
248
  }
217
249
 
@@ -247,6 +279,7 @@ export function getBabelParseDefinition(options: TamaguiOptions) {
247
279
  }
248
280
 
249
281
  let hasDynamicStyle = false
282
+ let hasMediaKeys = false
250
283
 
251
284
  for (const attr of props.attrs) {
252
285
  switch (attr.type) {
@@ -259,8 +292,12 @@ export function getBabelParseDefinition(options: TamaguiOptions) {
259
292
 
260
293
  case 'ternary': {
261
294
  const { consequent, alternate } = attr.value
262
- const consExpr = getStyleExpression(consequent)
263
- const altExpr = getStyleExpression(alternate)
295
+ const consExpr = getStyleExpression(consequent, true)
296
+ const altExpr = getStyleExpression(alternate, true)
297
+
298
+ if (attr.value.inlineMediaQuery) {
299
+ hasMediaKeys = true
300
+ }
264
301
 
265
302
  expressions.push(attr.value.test)
266
303
  addStyleExpression(
@@ -306,8 +343,7 @@ export function getBabelParseDefinition(options: TamaguiOptions) {
306
343
  hasDynamicStyle
307
344
  ) {
308
345
  if (!hasImportedViewWrapper) {
309
- root.unshiftContainer('body', importWithStyle())
310
- root.unshiftContainer('body', importReactUseMemo())
346
+ root.unshiftContainer('body', importWithStyle)
311
347
  hasImportedViewWrapper = true
312
348
  }
313
349
 
@@ -318,31 +354,21 @@ export function getBabelParseDefinition(options: TamaguiOptions) {
318
354
  const WrapperIdentifier = t.identifier(wrapperName)
319
355
  const WrapperJSXIdentifier = t.jsxIdentifier(wrapperName)
320
356
 
357
+ const hasThemeKeysFlag = themeKeysUsed.size > 0
321
358
  root.pushContainer(
322
359
  'body',
323
360
  t.variableDeclaration('const', [
324
361
  t.variableDeclarator(
325
362
  WrapperIdentifier,
326
- t.callExpression(t.identifier('__withStableStyle'), [
363
+ t.callExpression(t.identifier('_withStableStyle'), [
327
364
  t.identifier(name),
328
365
  t.arrowFunctionExpression(
329
366
  [t.identifier('theme'), t.identifier('_expressions')],
330
- t.blockStatement([
331
- t.returnStatement(
332
- t.callExpression(t.identifier('__ReactUseMemo'), [
333
- t.arrowFunctionExpression(
334
- [],
335
- t.blockStatement([
336
- t.returnStatement(
337
- t.arrayExpression([...hocStylesExpr.elements])
338
- ),
339
- ])
340
- ),
341
- t.identifier('_expressions'),
342
- ])
343
- ),
344
- ])
367
+ // return styles directly - no useMemo, theme changes must trigger style recalc
368
+ t.arrayExpression([...hocStylesExpr.elements])
345
369
  ),
370
+ t.booleanLiteral(hasThemeKeysFlag),
371
+ t.booleanLiteral(hasMediaKeys),
346
372
  ])
347
373
  ),
348
374
  ])
@@ -358,10 +384,17 @@ export function getBabelParseDefinition(options: TamaguiOptions) {
358
384
  }
359
385
 
360
386
  if (expressions.length) {
387
+ // coerce runtime expressions to boolean so they can't be
388
+ // confused with string media keys at runtime
389
+ const safeExpressions = expressions.map((expr) =>
390
+ t.isStringLiteral(expr)
391
+ ? expr
392
+ : t.unaryExpression('!', t.unaryExpression('!', expr))
393
+ )
361
394
  props.node.attributes.push(
362
395
  t.jsxAttribute(
363
396
  t.jsxIdentifier('_expressions'),
364
- t.jsxExpressionContainer(t.arrayExpression(expressions))
397
+ t.jsxExpressionContainer(t.arrayExpression(safeExpressions))
365
398
  )
366
399
  )
367
400
  }
@@ -0,0 +1,28 @@
1
+ import traverse from '@babel/traverse'
2
+ import { babelParse } from './babelParse'
3
+
4
+ export function hasTopLevelAwait(contents: string, fileName?: string) {
5
+ if (!contents.includes('await')) {
6
+ return false
7
+ }
8
+
9
+ const ast = babelParse(contents, fileName)
10
+ let found = false
11
+
12
+ traverse(ast, {
13
+ AwaitExpression(path) {
14
+ if (!path.getFunctionParent()) {
15
+ found = true
16
+ path.stop()
17
+ }
18
+ },
19
+ ForOfStatement(path) {
20
+ if (path.node.await && !path.getFunctionParent()) {
21
+ found = true
22
+ path.stop()
23
+ }
24
+ },
25
+ })
26
+
27
+ return found
28
+ }
@@ -15,7 +15,7 @@ import {
15
15
  getBundledConfig,
16
16
  getLoadedConfig,
17
17
  hasBundledConfigChanged,
18
- loadComponents,
18
+ loadComponentsSync,
19
19
  writeTamaguiCSS,
20
20
  } from './bundleConfig'
21
21
  import { getTamaguiConfigPathFromOptionsConfig } from './getTamaguiConfigPathFromOptionsConfig'
@@ -288,7 +288,7 @@ export function loadTamaguiSync({
288
288
  }
289
289
 
290
290
  // components
291
- const components = loadComponents(props, forceExports)
291
+ const components = loadComponentsSync(props, forceExports)
292
292
  if (!components) {
293
293
  throw new Error(`No components loaded`)
294
294
  }
@@ -7,8 +7,13 @@ export function getPragmaOptions({ source, path }: { source: string; path: strin
7
7
 
8
8
  let pragma = ''
9
9
  for (const line of firstLines.split('\n')) {
10
+ const trimmed = line.trim()
11
+ // only look at leading comments/empty lines, stop at first real code
12
+ if (trimmed && !trimmed.startsWith('//') && !trimmed.startsWith('/*')) {
13
+ break
14
+ }
10
15
  pragma =
11
- line
16
+ trimmed
12
17
  .match(/(\/\/|\/\*)\s?!?\s?(tamagui-ignore|debug|debug-verbose)(\n|\s|$).*/)?.[2]
13
18
  .trim() || ''
14
19
  if (pragma) {
@@ -23,6 +23,36 @@ export function setRequireResult(name: string, result: any) {
23
23
  compiled[name] = result
24
24
  }
25
25
 
26
+ function getStaticExtractionStub(path: string) {
27
+ switch (path) {
28
+ case 'expo-constants':
29
+ return {
30
+ __esModule: true,
31
+ default: {
32
+ executionEnvironment: null,
33
+ },
34
+ ExecutionEnvironment: {
35
+ Bare: 'bare',
36
+ Standalone: 'standalone',
37
+ StoreClient: 'storeClient',
38
+ },
39
+ }
40
+ case 'expo-updates':
41
+ return {
42
+ __esModule: true,
43
+ default: {
44
+ isEnabled: false,
45
+ isUsingEmbeddedAssets: true,
46
+ },
47
+ checkForUpdateAsync: async () => ({ isAvailable: false }),
48
+ fetchUpdateAsync: async () => ({ isNew: false }),
49
+ reloadAsync: async () => {},
50
+ }
51
+ default:
52
+ return null
53
+ }
54
+ }
55
+
26
56
  export function registerRequire(
27
57
  platform: TamaguiPlatform,
28
58
  { proxyWormImports } = {
@@ -37,10 +67,37 @@ export function registerRequire(
37
67
  }
38
68
  }
39
69
 
70
+ // capture original resolve BEFORE esbuild-register patches it
71
+ // so we can use Node's native exports resolution for @tamagui packages
72
+ const originalResolveFilename = Module._resolveFilename
73
+
40
74
  const { unregister } = register({
41
75
  hookIgnoreNodeModules: false,
76
+ // don't transform @tamagui packages - they have pre-built dist files
77
+ hookMatcher: (filename) => {
78
+ if (
79
+ filename.includes('@tamagui') ||
80
+ /\/tamagui\/code\/(core|ui|packages)\//.test(filename)
81
+ ) {
82
+ return false
83
+ }
84
+ return true
85
+ },
42
86
  })
43
87
 
88
+ // esbuild-register's registerTsconfigPaths replaces Module._resolveFilename
89
+ // but tsconfig paths resolution bypasses Node's package exports
90
+ // we need to restore Node's native resolution for @tamagui packages
91
+ const tsconfigPatchedResolve = Module._resolveFilename
92
+ Module._resolveFilename = function (request: string, ...args: any[]) {
93
+ // for @tamagui packages, use Node's native resolution (respects exports)
94
+ if (request.startsWith('@tamagui/')) {
95
+ return originalResolveFilename.call(this, request, ...args)
96
+ }
97
+ // for everything else, use tsconfig-paths resolution
98
+ return tsconfigPatchedResolve.call(this, request, ...args)
99
+ }
100
+
44
101
  if (!og) {
45
102
  og = Module.prototype.require // capture esbuild require
46
103
  }
@@ -50,6 +107,11 @@ export function registerRequire(
50
107
  Module.prototype.require = tamaguiRequire
51
108
 
52
109
  function tamaguiRequire(this: any, path: string) {
110
+ const staticExtractionStub = getStaticExtractionStub(path)
111
+ if (staticExtractionStub) {
112
+ return staticExtractionStub
113
+ }
114
+
53
115
  if (path === 'tamagui' && platform === 'native') {
54
116
  return og.apply(this, ['tamagui/native'])
55
117
  }
@@ -94,7 +156,26 @@ export function registerRequire(
94
156
 
95
157
  if (!whitelisted[path]) {
96
158
  if (proxyWormImports && !path.includes('.tamagui-dynamic-eval')) {
97
- if (path === 'tamagui') {
159
+ // allow tamagui and its sub-packages through - they re-export components
160
+ // with staticConfig needed for dynamic eval optimization.
161
+ // also allow requires FROM within tamagui packages (relative imports like ./Separator.cjs)
162
+ const callerFile = this?.filename || this?.id || ''
163
+ const isFromTamaguiPkg =
164
+ callerFile.includes('@tamagui') || callerFile.includes('node_modules/tamagui/')
165
+ const isFromStaticLoader =
166
+ !callerFile ||
167
+ callerFile === '.' ||
168
+ callerFile === '[eval]' ||
169
+ callerFile.endsWith('/[eval]') ||
170
+ callerFile.includes('/code/compiler/static/') ||
171
+ callerFile.includes('/.tamagui/')
172
+
173
+ if (
174
+ path === 'tamagui' ||
175
+ path.startsWith('@tamagui/') ||
176
+ isFromTamaguiPkg ||
177
+ isFromStaticLoader
178
+ ) {
98
179
  return og.apply(this, [path])
99
180
  }
100
181
  return proxyWorm
@@ -149,13 +230,8 @@ export function registerRequire(
149
230
  * We can't fix every problem, so just swap them out with proxyWorm which is a sort of generic object that can be read.
150
231
  */
151
232
 
152
- console.error(
153
- `Tamagui failed to require() "${path}"
154
-
155
- ${err.message}
156
- ${err.stack}
157
-
158
- `
233
+ console.warn(
234
+ ` [tamagui] skipped "${path}" (set TAMAGUI_IGNORE_BUNDLE_ERRORS="${path}" to silence)`
159
235
  )
160
236
  }
161
237
 
@@ -191,6 +267,10 @@ const knownIgnorableModules = {
191
267
  'expo-linear-gradient': true,
192
268
  '@expo/vector-icons': true,
193
269
  'tamagui/linear-gradient': true,
270
+ // animation libraries not needed for static extraction
271
+ '@emotion/is-prop-valid': true,
272
+ 'framer-motion': true,
273
+ motion: true,
194
274
  ...Object.fromEntries(extraIgnores?.map((k) => [k, true]) || []),
195
275
  }
196
276
 
@@ -1 +1 @@
1
- {"version":3,"file":"checkDeps.d.ts","sourceRoot":"","sources":["../src/checkDeps.ts"],"names":[],"mappings":"AAIA,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;CAC5B;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,eAAe,EAAE,EAAE,CAAA;IACzC,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC,CAAA;AAqFD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,iBA2B3C"}
1
+ {"version":3,"file":"checkDeps.d.ts","sourceRoot":"","sources":["../src/checkDeps.ts"],"names":[],"mappings":"AAIA,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;CAC5B;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,eAAe,EAAE,EAAE,CAAA;IACzC,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC,CAAA;AA+TD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,iBA8B3C"}
@@ -11,5 +11,6 @@ export * from './extractor/loadTamagui';
11
11
  export * from './extractor/watchTamaguiConfig';
12
12
  export * from './extractor/createLogger';
13
13
  export * from './registerRequire';
14
+ export { detectModuleFormat, clearFormatCache } from './extractor/detectModuleFormat';
14
15
  export * from './getPragmaOptions';
15
16
  //# sourceMappingURL=exports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,cAAc,aAAa,CAAA;AAC3B,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,cAAc,aAAa,CAAA;AAC3B,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACrF,cAAc,oBAAoB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"babelParse.d.ts","sourceRoot":"","sources":["../../src/extractor/babelParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAiBtC,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,aAGtC,CAAA;AAIF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,CAW3E"}
1
+ {"version":3,"file":"babelParse.d.ts","sourceRoot":"","sources":["../../src/extractor/babelParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAkBtC,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,aAGtC,CAAA;AAIF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,CAW3E"}
@@ -34,6 +34,88 @@ type Props = Omit<Partial<esbuild.BuildOptions>, 'entryPoints'> & {
34
34
  entryPoints: string[];
35
35
  resolvePlatformSpecificEntries?: boolean;
36
36
  };
37
- export declare function esbundleTamaguiConfig(props: Props, platform: TamaguiPlatform, aliases?: Record<string, string>): Promise<esbuild.BuildResult<esbuild.BuildOptions>>;
37
+ export declare function esbundleTamaguiConfig(props: Props, platform: TamaguiPlatform, aliases?: Record<string, string>): Promise<esbuild.BuildResult<{
38
+ outfile: string;
39
+ bundle?: boolean;
40
+ splitting?: boolean;
41
+ preserveSymlinks?: boolean;
42
+ metafile?: boolean;
43
+ outdir?: string;
44
+ outbase?: string;
45
+ external?: string[];
46
+ packages?: "bundle" | "external";
47
+ alias?: Record<string, string>;
48
+ loader?: {
49
+ [ext: string]: esbuild.Loader;
50
+ };
51
+ resolveExtensions?: string[];
52
+ mainFields?: string[];
53
+ conditions?: string[];
54
+ write?: boolean;
55
+ allowOverwrite?: boolean;
56
+ tsconfig?: string;
57
+ outExtension?: {
58
+ [ext: string]: string;
59
+ };
60
+ publicPath?: string;
61
+ entryNames?: string;
62
+ chunkNames?: string;
63
+ assetNames?: string;
64
+ inject?: string[];
65
+ banner?: {
66
+ [type: string]: string;
67
+ };
68
+ footer?: {
69
+ [type: string]: string;
70
+ };
71
+ entryPoints?: (string | {
72
+ in: string;
73
+ out: string;
74
+ })[] | Record<string, string>;
75
+ stdin?: esbuild.StdinOptions;
76
+ plugins?: esbuild.Plugin[];
77
+ absWorkingDir?: string;
78
+ nodePaths?: string[];
79
+ sourcemap?: boolean | "linked" | "inline" | "external" | "both";
80
+ legalComments?: "none" | "inline" | "eof" | "linked" | "external";
81
+ sourceRoot?: string;
82
+ sourcesContent?: boolean;
83
+ format?: esbuild.Format;
84
+ globalName?: string;
85
+ target?: string | string[];
86
+ supported?: Record<string, boolean>;
87
+ platform?: esbuild.Platform;
88
+ mangleProps?: RegExp;
89
+ reserveProps?: RegExp;
90
+ mangleQuoted?: boolean;
91
+ mangleCache?: Record<string, string | false>;
92
+ drop?: esbuild.Drop[];
93
+ dropLabels?: string[];
94
+ minify?: boolean;
95
+ minifyWhitespace?: boolean;
96
+ minifyIdentifiers?: boolean;
97
+ minifySyntax?: boolean;
98
+ lineLimit?: number;
99
+ charset?: esbuild.Charset;
100
+ treeShaking?: boolean;
101
+ ignoreAnnotations?: boolean;
102
+ jsx?: "transform" | "preserve" | "automatic";
103
+ jsxFactory?: string;
104
+ jsxFragment?: string;
105
+ jsxImportSource?: string;
106
+ jsxDev?: boolean;
107
+ jsxSideEffects?: boolean;
108
+ define?: {
109
+ [key: string]: string;
110
+ };
111
+ pure?: string[];
112
+ keepNames?: boolean;
113
+ absPaths?: esbuild.AbsPaths[];
114
+ color?: boolean;
115
+ logLevel?: esbuild.LogLevel;
116
+ logLimit?: number;
117
+ logOverride?: Record<string, esbuild.LogLevel>;
118
+ tsconfigRaw?: string | esbuild.TsconfigRaw;
119
+ }>>;
38
120
  export {};
39
121
  //# sourceMappingURL=bundle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/extractor/bundle.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK/C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;CAwBtB,CAAA;AAQV,eAAO,MAAM,uBAAuB,QAAqD,CAAA;AAEzF;;GAEG;AAEH,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,GAAG;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,8BAA8B,CAAC,EAAE,OAAO,CAAA;CACzC,CAAA;AA2FD,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,sDAKjC"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/extractor/bundle.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAO/C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;CAwBtB,CAAA;AAQV,eAAO,MAAM,uBAAuB,QAAqD,CAAA;AAEzF;;GAEG;AAEH,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,GAAG;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,8BAA8B,CAAC,EAAE,OAAO,CAAA;CACzC,CAAA;AA6MD,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgBjC"}
@@ -1,4 +1,5 @@
1
1
  import { type StaticConfig, type TamaguiInternalConfig } from '@tamagui/web';
2
+ import esbuild from 'esbuild';
2
3
  import type { TamaguiOptions } from '../types';
3
4
  type NameToPaths = {
4
5
  [key: string]: Set<string>;
@@ -24,13 +25,25 @@ export declare const esbuildOptions: {
24
25
  jsx: "automatic";
25
26
  platform: "node";
26
27
  };
28
+ export declare const esbuildOptionsWithPlugins: {
29
+ plugins: esbuild.Plugin[];
30
+ define: {
31
+ __DEV__: string;
32
+ };
33
+ target: string;
34
+ format: "cjs";
35
+ jsx: "automatic";
36
+ platform: "node";
37
+ };
27
38
  export type BundledConfig = Exclude<Awaited<ReturnType<typeof bundleConfig>>, undefined>;
28
39
  export declare function hasBundledConfigChanged(): boolean;
29
40
  export declare const getLoadedConfig: () => TamaguiInternalConfig | null;
30
41
  export declare function getBundledConfig(props: TamaguiOptions, rebuild?: boolean): Promise<any>;
31
42
  export declare function bundleConfig(props: TamaguiOptions): Promise<any>;
32
43
  export declare function writeTamaguiCSS(outputCSS: string, config: TamaguiInternalConfig): Promise<void>;
33
- export declare function loadComponents(props: TamaguiOptions, forceExports?: boolean): LoadedComponents[];
34
- export declare function loadComponentsInner(props: TamaguiOptions, forceExports?: boolean): null | LoadedComponents[];
44
+ export declare function loadComponents(props: TamaguiOptions, forceExports?: boolean): Promise<LoadedComponents[]>;
45
+ export declare function loadComponentsSync(props: TamaguiOptions, forceExports?: boolean): LoadedComponents[];
46
+ export declare function loadComponentsInner(props: TamaguiOptions, forceExports?: boolean): Promise<null | LoadedComponents[]>;
47
+ export declare function loadComponentsInnerSync(props: TamaguiOptions, forceExports?: boolean): null | LoadedComponents[];
35
48
  export {};
36
49
  //# sourceMappingURL=bundleConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundleConfig.d.ts","sourceRoot":"","sources":["../../src/extractor/bundleConfig.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAA;AAKrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAM9C,KAAK,WAAW,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;QACE,YAAY,EAAE,YAAY,CAAA;KAC3B,CACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC/B,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAgBD,eAAO,MAAM,cAAc;;;;;;;;CAMK,CAAA;AAEhC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAQxF,wBAAgB,uBAAuB,YAMtC;AAID,eAAO,MAAM,eAAe,oCAAqB,CAAA;AAEjD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAQ,gBAS5E;AAgBD,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,gBA+LvD;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,iBAmBrF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,UAAQ,sBAIzE;AAqBD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,YAAY,UAAQ,GACnB,IAAI,GAAG,gBAAgB,EAAE,CA+H3B"}
1
+ {"version":3,"file":"bundleConfig.d.ts","sourceRoot":"","sources":["../../src/extractor/bundleConfig.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAyE9C,KAAK,WAAW,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;QACE,YAAY,EAAE,YAAY,CAAA;KAC3B,CACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC/B,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAgGD,eAAO,MAAM,cAAc;;;;;;;;CAEK,CAAA;AAGhC,eAAO,MAAM,yBAAyB;;;;;;;;;CAGN,CAAA;AAEhC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAQxF,wBAAgB,uBAAuB,YAMtC;AAID,eAAO,MAAM,eAAe,oCAAqB,CAAA;AAEjD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAQ,gBAS5E;AAgBD,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,gBAmPvD;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,iBAmBrF;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,UAAQ,+BAI/E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,UAAQ,sBAI7E;AAqBD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,cAAc,EACrB,YAAY,UAAQ,GACnB,OAAO,CAAC,IAAI,GAAG,gBAAgB,EAAE,CAAC,CAyJpC;AAGD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EACrB,YAAY,UAAQ,GACnB,IAAI,GAAG,gBAAgB,EAAE,CAyI3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"createExtractor.d.ts","sourceRoot":"","sources":["../../src/extractor/createExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAA;AAEhE,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAiBjC,OAAO,KAAK,EAGV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EAGf,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAcxD,OAAO,EAAE,iBAAiB,EAA6B,MAAM,6BAA6B,CAAA;AAkB1F,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAE1D,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAQ9C,wBAAgB,eAAe,CAC7B,EAAE,MAAgB,EAAE,QAAgB,EAAE,GAAE,gBAAsC;;;;;yBAsDnD,cAAc;6BAPhB,cAAc;;mBAwBtB,UAAU,SAAS,mBAAmB;;;;;;;eAKpC,UAAU,SAAS,mBAAmB;;;;;;;EAyvE1D"}
1
+ {"version":3,"file":"createExtractor.d.ts","sourceRoot":"","sources":["../../src/extractor/createExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAA;AAEhE,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAmBjC,OAAO,KAAK,EAGV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EAGf,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAoB,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAc1E,OAAO,EAAE,iBAAiB,EAA6B,MAAM,6BAA6B,CAAA;AAwB1F,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAE1D,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAQ9C,wBAAgB,eAAe,CAC7B,EAAE,MAAgB,EAAE,QAAgB,EAAE,GAAE,gBAAsC;;;;;yBAsJnD,cAAc;6BAPhB,cAAc;;mBAwBtB,UAAU,SAAS,mBAAmB;;;;;;;eAKpC,UAAU,SAAS,mBAAmB;;;;;;;EA43E1D"}
@@ -0,0 +1,5 @@
1
+ type ModuleFormat = 'cjs' | 'esm';
2
+ export declare function detectModuleFormat(filePath: string): ModuleFormat;
3
+ export declare function clearFormatCache(): void;
4
+ export {};
5
+ //# sourceMappingURL=detectModuleFormat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectModuleFormat.d.ts","sourceRoot":"","sources":["../../src/extractor/detectModuleFormat.ts"],"names":[],"mappings":"AAGA,KAAK,YAAY,GAAG,KAAK,GAAG,KAAK,CAAA;AAKjC,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CA6BjE;AAED,wBAAgB,gBAAgB,SAE/B"}
@@ -1,3 +1,11 @@
1
1
  import type { Plugin } from 'esbuild';
2
+ interface Tsconfig {
3
+ compilerOptions?: {
4
+ baseUrl?: string;
5
+ paths?: Record<string, string[]>;
6
+ };
7
+ }
2
8
  export declare function TsconfigPathsPlugin(): Plugin;
9
+ export declare function loadCompilerOptionsFromTsconfig(tsconfig?: Tsconfig | string): import("typescript").CompilerOptions;
10
+ export {};
3
11
  //# sourceMappingURL=esbuildTsconfigPaths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"esbuildTsconfigPaths.d.ts","sourceRoot":"","sources":["../../src/extractor/esbuildTsconfigPaths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAoBrC,wBAAgB,mBAAmB,IAAI,MAAM,CAuC5C"}
1
+ {"version":3,"file":"esbuildTsconfigPaths.d.ts","sourceRoot":"","sources":["../../src/extractor/esbuildTsconfigPaths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAarC,UAAU,QAAQ;IAChB,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;KACjC,CAAA;CACF;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CA4C5C;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,wCAuB3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractToClassNames.d.ts","sourceRoot":"","sources":["../../src/extractor/extractToClassNames.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAKjC,OAAO,KAAK,EAAe,cAAc,EAAW,MAAM,UAAU,CAAA;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAYlD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAA;IACX,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAA;CACtC,CAAA;AAQD,wBAAsB,mBAAmB,CAAC,EACxC,SAAS,EACT,MAAM,EACN,UAAe,EACf,OAAO,EACP,gBAAgB,GACjB,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAogB9D"}
1
+ {"version":3,"file":"extractToClassNames.d.ts","sourceRoot":"","sources":["../../src/extractor/extractToClassNames.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAKjC,OAAO,KAAK,EAAe,cAAc,EAAW,MAAM,UAAU,CAAA;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAYlD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAA;IACX,GAAG,EAAE,GAAG,CAAA;IACR,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAA;CACtC,CAAA;AAQD,wBAAsB,mBAAmB,CAAC,EACxC,SAAS,EACT,MAAM,EACN,UAAe,EACf,OAAO,EACP,gBAAgB,GACjB,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA2gB9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractToNative.d.ts","sourceRoot":"","sources":["../../src/extractor/extractToNative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,aAAa,CAAA;AAQxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AA4B9C,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,eAAe,CAoBjB;AAED,wBAAgB,cAAc,QAK7B;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc;;;;wBAM3C,GAAG;;;EAkWtB"}
1
+ {"version":3,"file":"extractToNative.d.ts","sourceRoot":"","sources":["../../src/extractor/extractToNative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,aAAa,CAAA;AAQxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAsB9C,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,eAAe,CAoBjB;AAED,wBAAgB,cAAc,QAK7B;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc;;;;wBAM3C,GAAG;;;EAyYtB"}
@@ -0,0 +1,2 @@
1
+ export declare function hasTopLevelAwait(contents: string, fileName?: string): boolean;
2
+ //# sourceMappingURL=hasTopLevelAwait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasTopLevelAwait.d.ts","sourceRoot":"","sources":["../../src/extractor/hasTopLevelAwait.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,WAwBnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPragmaOptions.d.ts","sourceRoot":"","sources":["../src/getPragmaOptions.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;EAmDlF"}
1
+ {"version":3,"file":"getPragmaOptions.d.ts","sourceRoot":"","sources":["../src/getPragmaOptions.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;EAwDlF"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerRequire.d.ts","sourceRoot":"","sources":["../src/registerRequire.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,eAAO,MAAM,cAAc,UAAoB,CAAA;AAa/C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAEzD;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,eAAe,EACzB,EAAE,gBAAgB,EAAE;;CAEnB;2BAsB6B,GAAG,QAAQ,MAAM;;EAiIhD"}
1
+ {"version":3,"file":"registerRequire.d.ts","sourceRoot":"","sources":["../src/registerRequire.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,eAAO,MAAM,cAAc,UAAoB,CAAA;AAa/C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAEzD;AAgCD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,eAAe,EACzB,EAAE,gBAAgB,EAAE;;CAEnB;2BAiD6B,GAAG,QAAQ,MAAM;;EAoJhD"}