@tamagui/static 3.0.0-beta.831.1 → 3.0.0-beta.889.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/compiler.cjs +17 -5
- package/dist/cjs/compilerHost.cjs +148 -39
- package/dist/cjs/componentDiscovery.cjs +94 -0
- package/dist/cjs/domStructuralPass.cjs +12 -2
- package/dist/cjs/exports.cjs +4 -1
- package/dist/cjs/extractor/bundleConfig.cjs +23 -0
- package/dist/cjs/zero/theme.cjs +5 -20
- package/dist/esm/compiler.mjs +18 -6
- package/dist/esm/compiler.mjs.map +1 -1
- package/dist/esm/compilerHost.mjs +146 -40
- package/dist/esm/compilerHost.mjs.map +1 -1
- package/dist/esm/componentDiscovery.mjs +69 -0
- package/dist/esm/componentDiscovery.mjs.map +1 -0
- package/dist/esm/domStructuralPass.mjs +12 -2
- package/dist/esm/domStructuralPass.mjs.map +1 -1
- package/dist/esm/exports.mjs +4 -1
- package/dist/esm/extractor/bundleConfig.mjs +23 -1
- package/dist/esm/extractor/bundleConfig.mjs.map +1 -1
- package/dist/esm/zero/theme.mjs +5 -20
- package/dist/esm/zero/theme.mjs.map +1 -1
- package/package.json +17 -17
- package/src/compiler.ts +27 -5
- package/src/compilerHost.ts +262 -74
- package/src/componentDiscovery.ts +105 -0
- package/src/domStructuralPass.ts +22 -2
- package/src/exports.ts +2 -0
- package/src/extractor/bundleConfig.ts +34 -0
- package/src/zero/theme.ts +12 -21
- package/types/compiler.d.ts +13 -0
- package/types/compiler.d.ts.map +1 -1
- package/types/compilerHost.d.ts +13 -0
- package/types/compilerHost.d.ts.map +1 -1
- package/types/componentDiscovery.d.ts +27 -0
- package/types/componentDiscovery.d.ts.map +1 -0
- package/types/domStructuralPass.d.ts.map +1 -1
- package/types/exports.d.ts +2 -0
- package/types/exports.d.ts.map +1 -1
- package/types/extractor/bundleConfig.d.ts +7 -0
- package/types/extractor/bundleConfig.d.ts.map +1 -1
- package/types/zero/theme.d.ts +0 -1
- package/types/zero/theme.d.ts.map +1 -1
package/src/domStructuralPass.ts
CHANGED
|
@@ -24,6 +24,8 @@ const DOM_FRONTENDS = new Set([
|
|
|
24
24
|
'@tamagui/tailwind',
|
|
25
25
|
])
|
|
26
26
|
|
|
27
|
+
const RUNTIME_STYLE_FRONTENDS = new Set(['tamagui', '@tamagui/core', '@tamagui/web'])
|
|
28
|
+
|
|
27
29
|
const acceptsTag = (accepted: PropTags, tag: TagName) =>
|
|
28
30
|
accepted === '*' || accepted.includes(tag)
|
|
29
31
|
|
|
@@ -44,7 +46,7 @@ const versionHash = createHash('sha256')
|
|
|
44
46
|
.digest('hex')
|
|
45
47
|
|
|
46
48
|
export const domStructuralPass: StructuralModulePass = {
|
|
47
|
-
versionHash: `dom-structural-
|
|
49
|
+
versionHash: `dom-structural-v4-${versionHash}`,
|
|
48
50
|
transform({ module, source, target }) {
|
|
49
51
|
const edits: SourceEdit[] = []
|
|
50
52
|
const diagnostics: BailoutReason[] = []
|
|
@@ -150,10 +152,28 @@ export const domStructuralPass: StructuralModulePass = {
|
|
|
150
152
|
)
|
|
151
153
|
continue
|
|
152
154
|
}
|
|
155
|
+
const isRuntimeStyle = RUNTIME_STYLE_FRONTENDS.has(definition.factory.specifier)
|
|
156
|
+
if (
|
|
157
|
+
isRuntimeStyle &&
|
|
158
|
+
(!definition.value.value ||
|
|
159
|
+
typeof definition.value.value !== 'object' ||
|
|
160
|
+
Array.isArray(definition.value.value))
|
|
161
|
+
) {
|
|
162
|
+
diagnostics.push(
|
|
163
|
+
localBailout(
|
|
164
|
+
'local/dynamic-style-value',
|
|
165
|
+
definition.value.span,
|
|
166
|
+
`style() definition ${definition.name} must be an object literal`
|
|
167
|
+
)
|
|
168
|
+
)
|
|
169
|
+
continue
|
|
170
|
+
}
|
|
153
171
|
edits.push({
|
|
154
172
|
start: definition.span.start,
|
|
155
173
|
end: definition.span.end,
|
|
156
|
-
content:
|
|
174
|
+
content: isRuntimeStyle
|
|
175
|
+
? `({ className: "", [Symbol.for("tamagui.stylePiece")]: { byKey: {}, styleObject: ${JSON.stringify(definition.value.value)} } })`
|
|
176
|
+
: 'undefined',
|
|
157
177
|
origin: definition.span,
|
|
158
178
|
})
|
|
159
179
|
}
|
package/src/exports.ts
CHANGED
|
@@ -5,6 +5,8 @@ export * from './types'
|
|
|
5
5
|
export * from './constants'
|
|
6
6
|
export * from './extractor/concatClassName'
|
|
7
7
|
export * from './extractor/loadTamagui'
|
|
8
|
+
export { evaluateComponentModule } from './extractor/bundleConfig'
|
|
9
|
+
export * from './componentDiscovery'
|
|
8
10
|
export * from './extractor/watchTamaguiConfig'
|
|
9
11
|
export * from './registerRequire'
|
|
10
12
|
export { detectModuleFormat, clearFormatCache } from './extractor/detectModuleFormat'
|
|
@@ -748,6 +748,40 @@ export async function loadComponents(props: TamaguiOptions, forceExports = false
|
|
|
748
748
|
return [...coreComponents, ...otherComponents]
|
|
749
749
|
}
|
|
750
750
|
|
|
751
|
+
/**
|
|
752
|
+
* Evaluate one host-resolved module under the platform's static-evaluation
|
|
753
|
+
* hooks, the way configured `components` load, and return its exports. The
|
|
754
|
+
* compiler frontend uses this for component discovery when no module runner is
|
|
755
|
+
* available (the Vite native environment plans for Metro).
|
|
756
|
+
*/
|
|
757
|
+
export async function evaluateComponentModule(
|
|
758
|
+
props: TamaguiOptions,
|
|
759
|
+
id: string
|
|
760
|
+
): Promise<Record<string, unknown>> {
|
|
761
|
+
const previousIsStatic = process.env.IS_STATIC
|
|
762
|
+
const previousIsServer = process.env.TAMAGUI_IS_SERVER
|
|
763
|
+
process.env.IS_STATIC = 'is_static'
|
|
764
|
+
process.env.TAMAGUI_IS_SERVER = 'true'
|
|
765
|
+
const { unregister } = registerRequire(props.platform || 'web', {
|
|
766
|
+
ignoredModules: props.dangerouslyIgnoreStaticEvaluationModules,
|
|
767
|
+
})
|
|
768
|
+
try {
|
|
769
|
+
try {
|
|
770
|
+
return nodeRequire(id)
|
|
771
|
+
} catch (error) {
|
|
772
|
+
const code = (error as { code?: string })?.code
|
|
773
|
+
if (code !== 'ERR_REQUIRE_ESM' && code !== 'ERR_REQUIRE_ASYNC_MODULE') throw error
|
|
774
|
+
}
|
|
775
|
+
} finally {
|
|
776
|
+
unregister()
|
|
777
|
+
if (previousIsStatic === undefined) delete process.env.IS_STATIC
|
|
778
|
+
else process.env.IS_STATIC = previousIsStatic
|
|
779
|
+
if (previousIsServer === undefined) delete process.env.TAMAGUI_IS_SERVER
|
|
780
|
+
else process.env.TAMAGUI_IS_SERVER = previousIsServer
|
|
781
|
+
}
|
|
782
|
+
return import(`${pathToFileURL(id).href}?v=${FS.statSync(id).mtimeMs}`)
|
|
783
|
+
}
|
|
784
|
+
|
|
751
785
|
export function loadComponentsSync(props: TamaguiOptions, forceExports = false) {
|
|
752
786
|
const coreComponents = getCoreComponentsSync(props)
|
|
753
787
|
const otherComponents = loadComponentsInnerSync(props, forceExports)
|
package/src/zero/theme.ts
CHANGED
|
@@ -48,7 +48,6 @@ export interface StaticThemeNode {
|
|
|
48
48
|
opening: AstNode
|
|
49
49
|
closing: AstNode | null
|
|
50
50
|
options: ThemeNameOption[]
|
|
51
|
-
reset: boolean
|
|
52
51
|
contain: boolean
|
|
53
52
|
/** The compiled inline-value layer, when the node carries theme-key props. */
|
|
54
53
|
layer: IslandThemeBridgeLayer | null
|
|
@@ -69,7 +68,7 @@ const MAX_THEME_BRANCHES = 8
|
|
|
69
68
|
* runtime behavior with no compiled form, including a `children` prop: the
|
|
70
69
|
* lowered span carries the element's body, not an attribute.
|
|
71
70
|
*/
|
|
72
|
-
const LOWERABLE_RESERVED_PROPS = new Set(['name', '
|
|
71
|
+
const LOWERABLE_RESERVED_PROPS = new Set(['name', 'contain'])
|
|
73
72
|
|
|
74
73
|
function jsxAttributeName(attribute: AstNode): string | null {
|
|
75
74
|
const name = childNode(attribute, 'name')
|
|
@@ -184,7 +183,6 @@ export function resolveThemeChain(
|
|
|
184
183
|
const resolved = resolveThemeName(
|
|
185
184
|
parent.name,
|
|
186
185
|
option.name,
|
|
187
|
-
node.reset,
|
|
188
186
|
config.themes as Record<string, any>
|
|
189
187
|
)
|
|
190
188
|
const tests = [parent.test, option.test].filter(Boolean)
|
|
@@ -230,7 +228,6 @@ export function readStaticTheme(
|
|
|
230
228
|
const span = (node: AstNode) => ({ id: moduleId, start: node.start, end: node.end })
|
|
231
229
|
|
|
232
230
|
let options: ThemeNameOption[] = [{ test: null, name: undefined }]
|
|
233
|
-
let reset = false
|
|
234
231
|
let contain = false
|
|
235
232
|
const themeKeyProps: Record<string, string | number> = {}
|
|
236
233
|
|
|
@@ -314,7 +311,6 @@ export function readStaticTheme(
|
|
|
314
311
|
})
|
|
315
312
|
continue
|
|
316
313
|
}
|
|
317
|
-
if (key === 'reset') reset = literal
|
|
318
314
|
if (key === 'contain') contain = literal
|
|
319
315
|
continue
|
|
320
316
|
}
|
|
@@ -353,19 +349,6 @@ export function readStaticTheme(
|
|
|
353
349
|
themeKeyProps[key] = literal
|
|
354
350
|
}
|
|
355
351
|
|
|
356
|
-
// the runtime throws on this pair rather than picking one
|
|
357
|
-
if (kind === 'Theme' && reset && options.some((option) => option.name !== undefined)) {
|
|
358
|
-
violations.push({
|
|
359
|
-
rule: 4,
|
|
360
|
-
code: 'local/unsupported-target',
|
|
361
|
-
span: span(opening),
|
|
362
|
-
component: 'Theme',
|
|
363
|
-
message: zeroRuleMessage(4, {
|
|
364
|
-
detail: 'a <Theme> with both name and reset, which cannot mean one theme,',
|
|
365
|
-
}),
|
|
366
|
-
})
|
|
367
|
-
}
|
|
368
|
-
|
|
369
352
|
if (!closing) {
|
|
370
353
|
violations.push({
|
|
371
354
|
rule: 4,
|
|
@@ -381,9 +364,16 @@ export function readStaticTheme(
|
|
|
381
364
|
// One parse per unique authored value, and every clause the parser could not
|
|
382
365
|
// use is a violation here instead of the warn-and-drop the render path does.
|
|
383
366
|
const issues: InlineValueIssue[] = []
|
|
367
|
+
// The theme-update subpath can resolve through the workspace symlink while
|
|
368
|
+
// the root @tamagui/web type resolves through the TS path alias. They are the
|
|
369
|
+
// same runtime config; keep the duplicate declaration identity at this
|
|
370
|
+
// subpath boundary instead of leaking it through the zero compiler.
|
|
371
|
+
const themeUpdateConfig = config as Parameters<typeof getInlineValuesFromProps>[1]
|
|
384
372
|
const inlineValues =
|
|
385
373
|
kind === 'ThemeUpdate' && Object.keys(themeKeyProps).length
|
|
386
|
-
? getInlineValuesFromProps(themeKeyProps,
|
|
374
|
+
? getInlineValuesFromProps(themeKeyProps, themeUpdateConfig, (issue) =>
|
|
375
|
+
issues.push(issue)
|
|
376
|
+
)
|
|
387
377
|
: null
|
|
388
378
|
for (const issue of issues) {
|
|
389
379
|
violations.push({
|
|
@@ -399,7 +389,9 @@ export function readStaticTheme(
|
|
|
399
389
|
})
|
|
400
390
|
}
|
|
401
391
|
|
|
402
|
-
const inlineCSS = inlineValues
|
|
392
|
+
const inlineCSS = inlineValues
|
|
393
|
+
? getVariablesCSSRules(inlineValues, themeUpdateConfig)
|
|
394
|
+
: null
|
|
403
395
|
if (inlineCSS) css.set(inlineCSS.identifier, inlineCSS.rules.join(''))
|
|
404
396
|
|
|
405
397
|
if (violations.length) return { node: null, violations, css }
|
|
@@ -411,7 +403,6 @@ export function readStaticTheme(
|
|
|
411
403
|
opening,
|
|
412
404
|
closing,
|
|
413
405
|
options,
|
|
414
|
-
reset,
|
|
415
406
|
contain,
|
|
416
407
|
layer:
|
|
417
408
|
inlineValues && inlineCSS
|
package/types/compiler.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type AppliedLoweredModule, type CompilerTarget, type LoweredModulePlan, type ResolvedModuleId } from '@tamagui/compiler-core';
|
|
2
2
|
import type { TamaguiOptions } from '@tamagui/types';
|
|
3
|
+
import { type ComponentModuleEvaluator } from './componentDiscovery';
|
|
3
4
|
import type { TamaguiProjectInfo } from './extractor/bundleConfig';
|
|
4
5
|
export interface CompilerProjectComponentModule {
|
|
5
6
|
moduleName: string;
|
|
@@ -80,6 +81,15 @@ export interface CompilerInput {
|
|
|
80
81
|
project: CompilerProject;
|
|
81
82
|
resolve(specifier: string, importer: string): Promise<CompilerResolution | null>;
|
|
82
83
|
load(id: string): Promise<string | null>;
|
|
84
|
+
/**
|
|
85
|
+
* Evaluate a host-resolved module and return its exports. The frontend asks
|
|
86
|
+
* for every package a JSX element or styled() base imports from that is not
|
|
87
|
+
* in the configured `components` list, once per module per project, and
|
|
88
|
+
* lowers against the static configs it finds. Return null (or throw) when
|
|
89
|
+
* the host cannot evaluate the module; those elements stay on the runtime
|
|
90
|
+
* path exactly as before.
|
|
91
|
+
*/
|
|
92
|
+
evaluate?: ComponentModuleEvaluator;
|
|
83
93
|
}
|
|
84
94
|
export type CompilerUpdateInput = CompilerInput;
|
|
85
95
|
export interface CompilerResult {
|
|
@@ -97,6 +107,7 @@ export declare class CompilerFrontend {
|
|
|
97
107
|
private readonly planCaches;
|
|
98
108
|
private readonly moduleRecords;
|
|
99
109
|
private moduleContext;
|
|
110
|
+
private readonly discovery;
|
|
100
111
|
/**
|
|
101
112
|
* One cache per project root and platform. Absent when the project produced
|
|
102
113
|
* no content stamp, in which case plans are never persisted rather than
|
|
@@ -116,6 +127,8 @@ export declare class CompilerFrontend {
|
|
|
116
127
|
remove(id: string): Promise<import("@tamagui/compiler-core").GraphInvalidation>;
|
|
117
128
|
parseCount(id: string): number;
|
|
118
129
|
private compileNow;
|
|
130
|
+
/** host-resolved ids of every module discovery found components in */
|
|
131
|
+
discoveredModuleIds(): string[];
|
|
119
132
|
private buildTree;
|
|
120
133
|
}
|
|
121
134
|
//# sourceMappingURL=compiler.d.ts.map
|
package/types/compiler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,oBAAoB,EACzB,KAAK,cAAc,EAEnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
|
package/types/compilerHost.d.ts
CHANGED
|
@@ -5,11 +5,24 @@ export interface CompilerComponentModule {
|
|
|
5
5
|
moduleName: string;
|
|
6
6
|
resolvedId: string;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* The components lowering can resolve, keyed the way element provenance names
|
|
10
|
+
* them. The frontend owns one per compile and grows it as it discovers component
|
|
11
|
+
* modules outside the configured `components` list.
|
|
12
|
+
*/
|
|
13
|
+
export interface CompilerComponentRegistry {
|
|
14
|
+
/** host-resolved module id -> the module name its components register under */
|
|
15
|
+
modulesById: Map<string, string>;
|
|
16
|
+
componentsByModule: Map<string, LoadedComponents>;
|
|
17
|
+
}
|
|
18
|
+
export declare function createComponentRegistry(components: readonly LoadedComponents[], componentModules: readonly CompilerComponentModule[]): CompilerComponentRegistry;
|
|
8
19
|
export interface TamaguiCompilerHostOptions {
|
|
9
20
|
target: CompilerTarget;
|
|
10
21
|
tamaguiConfig: TamaguiInternalConfig;
|
|
11
22
|
components: LoadedComponents[];
|
|
12
23
|
componentModules: CompilerComponentModule[];
|
|
24
|
+
/** shared with the frontend so discovery during `prepare` is visible to this host */
|
|
25
|
+
registry?: CompilerComponentRegistry;
|
|
13
26
|
/** Keep elements with dynamic style props fully on the runtime path. */
|
|
14
27
|
disablePartialExtraction?: boolean;
|
|
15
28
|
/** emit native theme-token mappings for the native style engine */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilerHost.d.ts","sourceRoot":"","sources":["../src/compilerHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EACpB,cAAc,EAQf,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"compilerHost.d.ts","sourceRoot":"","sources":["../src/compilerHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EACpB,cAAc,EAQf,MAAM,wBAAwB,CAAA;AAoC/B,OAAO,KAAK,EAAiC,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAExF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAIhE,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,+EAA+E;IAC/E,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAClD;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,SAAS,gBAAgB,EAAE,EACvC,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,GACnD,yBAAyB,CAS3B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,cAAc,CAAA;IACtB,aAAa,EAAE,qBAAqB,CAAA;IACpC,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,gBAAgB,EAAE,uBAAuB,EAAE,CAAA;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,EAAE,yBAAyB,CAAA;IACpC,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,mEAAmE;IACnE,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AA+2BD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,oBAAoB,CA4/EtB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { MaterializedModule } from '@tamagui/compiler-core';
|
|
2
|
+
import type { CompilerComponentRegistry } from './compilerHost';
|
|
3
|
+
/**
|
|
4
|
+
* Evaluate a host-resolved module and return its exports, or null when the
|
|
5
|
+
* host cannot run it. Frontends supply this from their bundler's module runner
|
|
6
|
+
* (Vite) or the static-evaluation require hooks (`evaluateComponentModule`).
|
|
7
|
+
*/
|
|
8
|
+
export type ComponentModuleEvaluator = (module: {
|
|
9
|
+
id: string;
|
|
10
|
+
specifier: string;
|
|
11
|
+
}) => Promise<Record<string, unknown> | null>;
|
|
12
|
+
/**
|
|
13
|
+
* Finds the component modules a file uses that the configured `components`
|
|
14
|
+
* list does not cover, evaluates each once, and registers what it exports so
|
|
15
|
+
* lowering resolves them like configured ones. Owned by a frontend for the
|
|
16
|
+
* life of a project generation; `prepare` runs between materialize and lower.
|
|
17
|
+
*/
|
|
18
|
+
export declare class ComponentDiscovery {
|
|
19
|
+
#private;
|
|
20
|
+
clear(): void;
|
|
21
|
+
/** host-resolved ids of every module discovery found components in */
|
|
22
|
+
ids(): string[];
|
|
23
|
+
/** re-register everything found so far into a freshly built registry */
|
|
24
|
+
seed(registry: CompilerComponentRegistry): void;
|
|
25
|
+
prepare(module: MaterializedModule, registry: CompilerComponentRegistry, evaluate: ComponentModuleEvaluator | undefined): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=componentDiscovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"componentDiscovery.d.ts","sourceRoot":"","sources":["../src/componentDiscovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAGhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAM/D;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE;IAC9C,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;CAClB,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;AAS7C;;;;;GAKG;AACH,qBAAa,kBAAkB;;IAI7B,KAAK,IAAI,IAAI,CAEZ;IAED,sEAAsE;IACtE,GAAG,IAAI,MAAM,EAAE,CAKd;IAED,wEAAwE;IACxE,IAAI,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAM9C;IAEK,OAAO,CACX,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,wBAAwB,GAAG,SAAS,GAC7C,OAAO,CAAC,IAAI,CAAC,CA0Cf;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domStructuralPass.d.ts","sourceRoot":"","sources":["../src/domStructuralPass.ts"],"names":[],"mappings":"AAQA,OAAO,EAML,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"domStructuralPass.d.ts","sourceRoot":"","sources":["../src/domStructuralPass.ts"],"names":[],"mappings":"AAQA,OAAO,EAML,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAA;AAgC/B,eAAO,MAAM,iBAAiB,EAAE,oBA8I/B,CAAA"}
|
package/types/exports.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export * from './types';
|
|
|
5
5
|
export * from './constants';
|
|
6
6
|
export * from './extractor/concatClassName';
|
|
7
7
|
export * from './extractor/loadTamagui';
|
|
8
|
+
export { evaluateComponentModule } from './extractor/bundleConfig';
|
|
9
|
+
export * from './componentDiscovery';
|
|
8
10
|
export * from './extractor/watchTamaguiConfig';
|
|
9
11
|
export * from './registerRequire';
|
|
10
12
|
export { detectModuleFormat, clearFormatCache } from './extractor/detectModuleFormat';
|
package/types/exports.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,cAAc,sBAAsB,CAAA;AACpC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA"}
|
|
@@ -53,6 +53,13 @@ export declare function getBundledConfig(props: TamaguiOptions, rebuild?: boolea
|
|
|
53
53
|
export declare function bundleConfig(props: TamaguiOptions, rebuild?: boolean): Promise<any>;
|
|
54
54
|
export declare function writeTamaguiCSS(outputCSS: string, config: TamaguiInternalConfig): Promise<void>;
|
|
55
55
|
export declare function loadComponents(props: TamaguiOptions, forceExports?: boolean): Promise<LoadedComponents[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Evaluate one host-resolved module under the platform's static-evaluation
|
|
58
|
+
* hooks, the way configured `components` load, and return its exports. The
|
|
59
|
+
* compiler frontend uses this for component discovery when no module runner is
|
|
60
|
+
* available (the Vite native environment plans for Metro).
|
|
61
|
+
*/
|
|
62
|
+
export declare function evaluateComponentModule(props: TamaguiOptions, id: string): Promise<Record<string, unknown>>;
|
|
56
63
|
export declare function loadComponentsSync(props: TamaguiOptions, forceExports?: boolean): LoadedComponents[];
|
|
57
64
|
export declare function loadComponentsInner(props: TamaguiOptions, forceExports?: boolean): Promise<LoadedComponents[]>;
|
|
58
65
|
export declare function loadComponentsInnerSync(props: TamaguiOptions, forceExports?: boolean): LoadedComponents[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundleConfig.d.ts","sourceRoot":"","sources":["../../src/extractor/bundleConfig.ts"],"names":[],"mappings":"AAgBA,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;AA8E9C,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;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,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;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB,CAAA;AAmFD,eAAO,MAAM,cAAc;;QAvEvB,OAAO;;;;;;CAyEqB,CAAA;AAGhC,eAAO,MAAM,yBAAyB;;QA5ElC,OAAO;;;;;;;CA+EqB,CAAA;AAEhC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AASxF,wBAAgB,uBAAuB,YAMtC;AAID,eAAO,MAAM,eAAe,oCAAqB,CAAA;AACjD,eAAO,MAAM,eAAe,WAAY,qBAAqB,SAE5D,CAAA;AAqDD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAQ,gBAa5E;AAkED,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAQ,gBAyVxE;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,iBAoBrF;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,gBAAgB,EAAE,CAAC,CA0J7B;AAGD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EACrB,YAAY,UAAQ,GACnB,gBAAgB,EAAE,CAkIpB;AAeD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;kBACvB,YAAY;kBAAgB,MAAM;GAkBpF"}
|
|
1
|
+
{"version":3,"file":"bundleConfig.d.ts","sourceRoot":"","sources":["../../src/extractor/bundleConfig.ts"],"names":[],"mappings":"AAgBA,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;AA8E9C,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;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,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;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB,CAAA;AAmFD,eAAO,MAAM,cAAc;;QAvEvB,OAAO;;;;;;CAyEqB,CAAA;AAGhC,eAAO,MAAM,yBAAyB;;QA5ElC,OAAO;;;;;;;CA+EqB,CAAA;AAEhC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AASxF,wBAAgB,uBAAuB,YAMtC;AAID,eAAO,MAAM,eAAe,oCAAqB,CAAA;AACjD,eAAO,MAAM,eAAe,WAAY,qBAAqB,SAE5D,CAAA;AAqDD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAQ,gBAa5E;AAkED,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAQ,gBAyVxE;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,iBAoBrF;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,UAAQ,+BAI/E;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,cAAc,EACrB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAuBlC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,UAAQ,sBAI7E;AAqBD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,cAAc,EACrB,YAAY,UAAQ,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA0J7B;AAGD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EACrB,YAAY,UAAQ,GACnB,gBAAgB,EAAE,CAkIpB;AAeD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;kBACvB,YAAY;kBAAgB,MAAM;GAkBpF"}
|
package/types/zero/theme.d.ts
CHANGED
|
@@ -25,7 +25,6 @@ export interface StaticThemeNode {
|
|
|
25
25
|
opening: AstNode;
|
|
26
26
|
closing: AstNode | null;
|
|
27
27
|
options: ThemeNameOption[];
|
|
28
|
-
reset: boolean;
|
|
29
28
|
contain: boolean;
|
|
30
29
|
/** The compiled inline-value layer, when the node carries theme-key props. */
|
|
31
30
|
layer: IslandThemeBridgeLayer | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/zero/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAA;AAOrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAEvD;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,aAAa,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/zero/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAA;AAOrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAEvD;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,aAAa,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,8EAA8E;IAC9E,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAA;CACrC;AAoFD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAYvF;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,qBAAqB,GAC5B,WAAW,EAAE,CAsBf;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAA;IAC5B,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,8EAA8E;IAC9E,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,qBAAqB,EAC7B,IAAI,GAAE,OAAO,GAAG,aAAuB,GACtC,qBAAqB,CAqMvB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,qBAAqB,EAC7B,EAAE,EAAE,MAAM,GACT;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,EAAE,aAAa,EAAE,CAAA;CAAE,CAmEtD"}
|