@tamagui/compiler-core 3.0.0-beta.649.1 → 3.0.0-beta.653.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/evaluate.cjs +86 -0
- package/dist/cjs/graph.cjs +18 -0
- package/dist/cjs/lower.cjs +1 -1
- package/dist/cjs/materialize.cjs +7 -3
- package/dist/cjs/yuku.cjs +13 -3
- package/dist/esm/evaluate.mjs +86 -1
- package/dist/esm/evaluate.mjs.map +1 -1
- package/dist/esm/graph.mjs +19 -1
- package/dist/esm/graph.mjs.map +1 -1
- package/dist/esm/lower.mjs +2 -2
- package/dist/esm/lower.mjs.map +1 -1
- package/dist/esm/materialize.mjs +7 -3
- package/dist/esm/materialize.mjs.map +1 -1
- package/dist/esm/yuku.mjs +14 -4
- package/dist/esm/yuku.mjs.map +1 -1
- package/package.json +2 -2
- package/src/contracts.ts +2 -0
- package/src/evaluate.ts +118 -0
- package/src/graph.ts +28 -0
- package/src/lower.ts +1 -1
- package/src/materialize.ts +12 -3
- package/src/yuku.ts +21 -4
- package/types/contracts.d.ts +2 -0
- package/types/contracts.d.ts.map +1 -1
- package/types/evaluate.d.ts +12 -0
- package/types/evaluate.d.ts.map +1 -1
- package/types/graph.d.ts +3 -1
- package/types/graph.d.ts.map +1 -1
- package/types/lower.d.ts +1 -1
- package/types/materialize.d.ts +1 -0
- package/types/materialize.d.ts.map +1 -1
- package/types/yuku.d.ts.map +1 -1
package/dist/esm/materialize.mjs
CHANGED
|
@@ -45,7 +45,8 @@ function materializeValue(graph, value) {
|
|
|
45
45
|
return {
|
|
46
46
|
kind: "bailout",
|
|
47
47
|
bailout: result.bailout,
|
|
48
|
-
span: value
|
|
48
|
+
span: value,
|
|
49
|
+
dynamic: graph.evaluateDynamic(value)
|
|
49
50
|
};
|
|
50
51
|
}
|
|
51
52
|
function materializeEntry(graph, entry) {
|
|
@@ -113,8 +114,11 @@ function collectDependencies(module) {
|
|
|
113
114
|
for (const dependency of value.dependencies) dependencies.add(dependency);
|
|
114
115
|
} else if (value.kind === "dom-style") {
|
|
115
116
|
for (const item of value.items) collect(item.value);
|
|
116
|
-
} else
|
|
117
|
-
|
|
117
|
+
} else {
|
|
118
|
+
for (const dependency of value.dynamic?.dependencies ?? []) {
|
|
119
|
+
dependencies.add(dependency);
|
|
120
|
+
}
|
|
121
|
+
if (value.bailout.dependencyId) dependencies.add(value.bailout.dependencyId);
|
|
118
122
|
}
|
|
119
123
|
};
|
|
120
124
|
for (const element of module.elements) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materialize.js","names":[],"sources":["esm/materialize.js"],"sourcesContent":["function compareCodeUnits(left, right) {\n return left < right ? -1 : left > right ? 1 : 0;\n}\nfunction materializeValue(graph, value) {\n if (value.kind === \"static\") {\n return {\n kind: \"static\",\n value: value.value,\n dependencies: [],\n span: value.span,\n literalOrigin: true\n };\n }\n if (value.kind === \"dom-style\") {\n return {\n kind: \"dom-style\",\n span: value.span,\n items: value.items.map((item) => ({\n condition: item.condition,\n value: materializeValue(graph, item.value)\n }))\n };\n }\n const result = graph.evaluate(value);\n if (result.ok) {\n return {\n kind: \"static\",\n value: result.value,\n dependencies: result.dependencies,\n span: value\n };\n }\n const conditional = graph.evaluateConditional(value);\n if (conditional) {\n return {\n kind: \"conditional\",\n test: conditional.test,\n whenTrue: conditional.whenTrue.value,\n whenFalse: conditional.whenFalse.value,\n dependencies: [\n .../* @__PURE__ */ new Set([\n ...conditional.whenTrue.dependencies,\n ...conditional.whenFalse.dependencies\n ])\n ].sort(compareCodeUnits),\n bailout: result.bailout,\n span: value\n };\n }\n return { kind: \"bailout\", bailout: result.bailout, span: value };\n}\nfunction materializeEntry(graph, entry) {\n if (entry.kind === \"prop\") {\n return {\n kind: entry.kind,\n name: entry.name,\n span: entry.span,\n value: materializeValue(graph, entry.value)\n };\n }\n if (entry.kind === \"spread\") {\n return {\n kind: entry.kind,\n span: entry.span,\n value: materializeValue(graph, entry.value)\n };\n }\n if (entry.value.kind === \"element\" || entry.value.kind === \"empty\") {\n return { kind: entry.kind, span: entry.span, value: entry.value };\n }\n return {\n kind: entry.kind,\n span: entry.span,\n value: materializeValue(graph, entry.value)\n };\n}\nfunction materializeElement(graph, element) {\n const entries = element.complete ? element.entries : element.bailedEntries;\n return {\n kind: element.kind,\n form: element.form,\n id: element.id,\n span: element.span,\n propsSpan: element.propsSpan,\n component: element.component,\n complete: element.complete,\n entries: entries.map((entry) => materializeEntry(graph, entry)),\n bailouts: [...element.bailouts]\n };\n}\nfunction materializeStyledDefinition(graph, definition) {\n return {\n kind: definition.kind,\n id: definition.id,\n name: definition.name,\n span: definition.span,\n definitionSpan: definition.definitionSpan,\n factory: definition.factory,\n base: definition.base,\n baseClassName: definition.baseClassName ? materializeValue(graph, definition.baseClassName) : null,\n options: materializeValue(graph, definition.options),\n complete: definition.complete,\n bailouts: [...definition.bailouts]\n };\n}\nfunction collectDependencies(module) {\n const dependencies = /* @__PURE__ */ new Set();\n const collect = (value) => {\n if (value.kind === \"static\" || value.kind === \"conditional\") {\n for (const dependency of value.dependencies) dependencies.add(dependency);\n } else if (value.kind === \"dom-style\") {\n for (const item of value.items) collect(item.value);\n } else if (value.bailout.dependencyId) {\n dependencies.add(value.bailout.dependencyId);\n }\n };\n for (const element of module.elements) {\n if (element.component.provenance) {\n dependencies.add(element.component.provenance.resolvedId);\n }\n if (element.component.definition) dependencies.add(element.component.definition.id);\n for (const entry of element.entries) {\n if (\"value\" in entry && entry.value.kind !== \"element\" && entry.value.kind !== \"empty\") {\n collect(entry.value);\n }\n }\n }\n for (const definition of module.styledDefinitions) {\n dependencies.add(definition.factory.resolvedId);\n if (definition.base.provenance)\n dependencies.add(definition.base.provenance.resolvedId);\n if (definition.base.definition) dependencies.add(definition.base.definition.id);\n if (definition.baseClassName) collect(definition.baseClassName);\n collect(definition.options);\n }\n for (const definition of module.domStyleDefinitions) {\n dependencies.add(definition.factory.resolvedId);\n collect(definition.value);\n }\n return [...dependencies].sort(compareCodeUnits);\n}\nfunction materializeModule(graph, id) {\n const inputHash = graph.contentHash(id);\n if (!inputHash) throw new Error(`Cannot materialize unknown host module ${id}`);\n const result = graph.elementsOf(id);\n const definitions = [...result.styledDefinitions];\n const definitionKeys = new Set(\n definitions.map((definition) => `${definition.id}\\0${definition.name}`)\n );\n for (const element of result.elements) {\n const linked = element.component.definition;\n if (!linked || linked.id === id) continue;\n const definition = graph.elementsOf(linked.id).styledDefinitions.find(\n (candidate) => candidate.id === linked.id && candidate.name === linked.name\n );\n const key = definition && `${definition.id}\\0${definition.name}`;\n if (definition && key && !definitionKeys.has(key)) {\n definitionKeys.add(key);\n definitions.push(definition);\n }\n }\n const base = {\n version: 1,\n id,\n inputHash,\n elements: result.elements.map((element) => materializeElement(graph, element)),\n styledDefinitions: definitions.map(\n (definition) => materializeStyledDefinition(graph, definition)\n ),\n domStyleDefinitions: result.domStyleDefinitions.map((definition) => ({\n ...definition,\n value: materializeValue(graph, definition.value)\n })),\n diagnostics: graph.diagnostics().filter(({ span }) => span.id === id)\n };\n return { ...base, dependencies: collectDependencies(base) };\n}\nexport {\n materializeModule\n};\n//# sourceMappingURL=materialize.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"materialize.js","names":[],"sources":["esm/materialize.js"],"sourcesContent":["function compareCodeUnits(left, right) {\n return left < right ? -1 : left > right ? 1 : 0;\n}\nfunction materializeValue(graph, value) {\n if (value.kind === \"static\") {\n return {\n kind: \"static\",\n value: value.value,\n dependencies: [],\n span: value.span,\n literalOrigin: true\n };\n }\n if (value.kind === \"dom-style\") {\n return {\n kind: \"dom-style\",\n span: value.span,\n items: value.items.map((item) => ({\n condition: item.condition,\n value: materializeValue(graph, item.value)\n }))\n };\n }\n const result = graph.evaluate(value);\n if (result.ok) {\n return {\n kind: \"static\",\n value: result.value,\n dependencies: result.dependencies,\n span: value\n };\n }\n const conditional = graph.evaluateConditional(value);\n if (conditional) {\n return {\n kind: \"conditional\",\n test: conditional.test,\n whenTrue: conditional.whenTrue.value,\n whenFalse: conditional.whenFalse.value,\n dependencies: [\n .../* @__PURE__ */ new Set([\n ...conditional.whenTrue.dependencies,\n ...conditional.whenFalse.dependencies\n ])\n ].sort(compareCodeUnits),\n bailout: result.bailout,\n span: value\n };\n }\n return {\n kind: \"bailout\",\n bailout: result.bailout,\n span: value,\n dynamic: graph.evaluateDynamic(value)\n };\n}\nfunction materializeEntry(graph, entry) {\n if (entry.kind === \"prop\") {\n return {\n kind: entry.kind,\n name: entry.name,\n span: entry.span,\n value: materializeValue(graph, entry.value)\n };\n }\n if (entry.kind === \"spread\") {\n return {\n kind: entry.kind,\n span: entry.span,\n value: materializeValue(graph, entry.value)\n };\n }\n if (entry.value.kind === \"element\" || entry.value.kind === \"empty\") {\n return { kind: entry.kind, span: entry.span, value: entry.value };\n }\n return {\n kind: entry.kind,\n span: entry.span,\n value: materializeValue(graph, entry.value)\n };\n}\nfunction materializeElement(graph, element) {\n const entries = element.complete ? element.entries : element.bailedEntries;\n return {\n kind: element.kind,\n form: element.form,\n id: element.id,\n span: element.span,\n propsSpan: element.propsSpan,\n component: element.component,\n complete: element.complete,\n entries: entries.map((entry) => materializeEntry(graph, entry)),\n bailouts: [...element.bailouts]\n };\n}\nfunction materializeStyledDefinition(graph, definition) {\n return {\n kind: definition.kind,\n id: definition.id,\n name: definition.name,\n span: definition.span,\n definitionSpan: definition.definitionSpan,\n factory: definition.factory,\n base: definition.base,\n baseClassName: definition.baseClassName ? materializeValue(graph, definition.baseClassName) : null,\n options: materializeValue(graph, definition.options),\n complete: definition.complete,\n bailouts: [...definition.bailouts]\n };\n}\nfunction collectDependencies(module) {\n const dependencies = /* @__PURE__ */ new Set();\n const collect = (value) => {\n if (value.kind === \"static\" || value.kind === \"conditional\") {\n for (const dependency of value.dependencies) dependencies.add(dependency);\n } else if (value.kind === \"dom-style\") {\n for (const item of value.items) collect(item.value);\n } else {\n for (const dependency of value.dynamic?.dependencies ?? []) {\n dependencies.add(dependency);\n }\n if (value.bailout.dependencyId) dependencies.add(value.bailout.dependencyId);\n }\n };\n for (const element of module.elements) {\n if (element.component.provenance) {\n dependencies.add(element.component.provenance.resolvedId);\n }\n if (element.component.definition) dependencies.add(element.component.definition.id);\n for (const entry of element.entries) {\n if (\"value\" in entry && entry.value.kind !== \"element\" && entry.value.kind !== \"empty\") {\n collect(entry.value);\n }\n }\n }\n for (const definition of module.styledDefinitions) {\n dependencies.add(definition.factory.resolvedId);\n if (definition.base.provenance)\n dependencies.add(definition.base.provenance.resolvedId);\n if (definition.base.definition) dependencies.add(definition.base.definition.id);\n if (definition.baseClassName) collect(definition.baseClassName);\n collect(definition.options);\n }\n for (const definition of module.domStyleDefinitions) {\n dependencies.add(definition.factory.resolvedId);\n collect(definition.value);\n }\n return [...dependencies].sort(compareCodeUnits);\n}\nfunction materializeModule(graph, id) {\n const inputHash = graph.contentHash(id);\n if (!inputHash) throw new Error(`Cannot materialize unknown host module ${id}`);\n const result = graph.elementsOf(id);\n const definitions = [...result.styledDefinitions];\n const definitionKeys = new Set(\n definitions.map((definition) => `${definition.id}\\0${definition.name}`)\n );\n for (const element of result.elements) {\n const linked = element.component.definition;\n if (!linked || linked.id === id) continue;\n const definition = graph.elementsOf(linked.id).styledDefinitions.find(\n (candidate) => candidate.id === linked.id && candidate.name === linked.name\n );\n const key = definition && `${definition.id}\\0${definition.name}`;\n if (definition && key && !definitionKeys.has(key)) {\n definitionKeys.add(key);\n definitions.push(definition);\n }\n }\n const base = {\n version: 1,\n id,\n inputHash,\n elements: result.elements.map((element) => materializeElement(graph, element)),\n styledDefinitions: definitions.map(\n (definition) => materializeStyledDefinition(graph, definition)\n ),\n domStyleDefinitions: result.domStyleDefinitions.map((definition) => ({\n ...definition,\n value: materializeValue(graph, definition.value)\n })),\n diagnostics: graph.diagnostics().filter(({ span }) => span.id === id)\n };\n return { ...base, dependencies: collectDependencies(base) };\n}\nexport {\n materializeModule\n};\n//# sourceMappingURL=materialize.js.map\n"],"mappings":"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"}
|
package/dist/esm/yuku.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Analyzer } from "yuku-analyzer";
|
|
2
2
|
import { resolveFromHost, resolvedModuleId } from "./contracts.mjs";
|
|
3
3
|
import { childNode, walkAst } from "./ast.mjs";
|
|
4
|
-
import { asAstNode, declarationForName, definitionFromDeclaration } from "./normalize.mjs";
|
|
4
|
+
import { asAstNode, declarationForName, definitionFromDeclaration, nodeAtSpan } from "./normalize.mjs";
|
|
5
5
|
|
|
6
6
|
var YukuCandidate = class {
|
|
7
7
|
constructor(project) {
|
|
@@ -35,15 +35,25 @@ var YukuCandidate = class {
|
|
|
35
35
|
const symbol = this.#module(id).resolve(localName);
|
|
36
36
|
return symbol ? this.#analyzer.definitionOf(symbol)?.symbol ?? null : null;
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
const symbol = this.#canonicalSymbol(id, localName);
|
|
40
|
-
if (!symbol) return null;
|
|
38
|
+
#definitionSite(symbol) {
|
|
41
39
|
const declaration = symbol.declarations[0];
|
|
42
40
|
if (!declaration) return null;
|
|
43
41
|
const program = asAstNode(symbol.module.ast, `${symbol.module.path} program`);
|
|
44
42
|
const normalizedDeclaration = declarationForName(program, symbol.name) ?? asAstNode(declaration, `${symbol.name} declaration`);
|
|
45
43
|
return definitionFromDeclaration(symbol.module.path, symbol.name, program, normalizedDeclaration);
|
|
46
44
|
}
|
|
45
|
+
definitionOf(id, localName) {
|
|
46
|
+
const symbol = this.#canonicalSymbol(id, localName);
|
|
47
|
+
return symbol ? this.#definitionSite(symbol) : null;
|
|
48
|
+
}
|
|
49
|
+
definitionAt(id, start, end) {
|
|
50
|
+
const module = this.#module(id);
|
|
51
|
+
const node = nodeAtSpan(asAstNode(module.ast, `${module.path} program`), start, end);
|
|
52
|
+
if (!node) return null;
|
|
53
|
+
const symbol = module.symbolOf(node);
|
|
54
|
+
const definition = symbol && this.#analyzer.definitionOf(symbol)?.symbol;
|
|
55
|
+
return definition ? this.#definitionSite(definition) : null;
|
|
56
|
+
}
|
|
47
57
|
referencesOf(definition) {
|
|
48
58
|
const symbol = this.#canonicalSymbol(definition.id, definition.name);
|
|
49
59
|
if (!symbol) return [];
|
package/dist/esm/yuku.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yuku.js","names":["#analyzer","#parseCounts","#module","#canonicalSymbol"],"sources":["esm/yuku.js"],"sourcesContent":["import { Analyzer } from \"yuku-analyzer\";\nimport { resolveFromHost, resolvedModuleId } from \"./contracts\";\nimport { childNode, walkAst } from \"./ast\";\nimport {
|
|
1
|
+
{"version":3,"file":"yuku.js","names":["#analyzer","#parseCounts","#module","#canonicalSymbol","#definitionSite"],"sources":["esm/yuku.js"],"sourcesContent":["import { Analyzer } from \"yuku-analyzer\";\nimport { resolveFromHost, resolvedModuleId } from \"./contracts\";\nimport { childNode, walkAst } from \"./ast\";\nimport {\n asAstNode,\n declarationForName,\n definitionFromDeclaration,\n nodeAtSpan\n} from \"./normalize\";\nclass YukuCandidate {\n constructor(project) {\n this.project = project;\n this.#analyzer = new Analyzer({\n resolve: (specifier, importer) => resolveFromHost(this.project.resolutions, specifier, importer)\n });\n for (const [id, source] of project.files) this.addFile(id, source);\n }\n project;\n name = \"yuku\";\n #analyzer;\n #parseCounts = /* @__PURE__ */ new Map();\n addFile(id, source) {\n this.#analyzer.addFile(id, source, { preserveParens: true, sourceType: \"module\" });\n this.#parseCounts.set(id, (this.#parseCounts.get(id) ?? 0) + 1);\n }\n removeFile(id) {\n return this.#analyzer.removeFile(id);\n }\n link() {\n this.#analyzer.link();\n }\n #module(id) {\n const module = this.#analyzer.module(id);\n if (!module) throw new Error(`yuku: unknown module ${id}`);\n return module;\n }\n #canonicalSymbol(id, localName) {\n const symbol = this.#module(id).resolve(localName);\n return symbol ? this.#analyzer.definitionOf(symbol)?.symbol ?? null : null;\n }\n #definitionSite(symbol) {\n const declaration = symbol.declarations[0];\n if (!declaration) return null;\n const program = asAstNode(symbol.module.ast, `${symbol.module.path} program`);\n const normalizedDeclaration = declarationForName(program, symbol.name) ?? asAstNode(declaration, `${symbol.name} declaration`);\n return definitionFromDeclaration(\n symbol.module.path,\n symbol.name,\n program,\n normalizedDeclaration\n );\n }\n definitionOf(id, localName) {\n const symbol = this.#canonicalSymbol(id, localName);\n return symbol ? this.#definitionSite(symbol) : null;\n }\n definitionAt(id, start, end) {\n const module = this.#module(id);\n const node = nodeAtSpan(asAstNode(module.ast, `${module.path} program`), start, end);\n if (!node) return null;\n const symbol = module.symbolOf(node);\n const definition = symbol && this.#analyzer.definitionOf(symbol)?.symbol;\n return definition ? this.#definitionSite(definition) : null;\n }\n referencesOf(definition) {\n const symbol = this.#canonicalSymbol(definition.id, definition.name);\n if (!symbol) return [];\n return this.#analyzer.referencesOf(symbol).map(({ module, reference }) => ({\n id: resolvedModuleId(module.path),\n name: reference.name,\n start: reference.node.start,\n end: reference.node.end\n }));\n }\n dependenciesOf(id) {\n return this.#module(id).dependencies.map((module) => module.path).sort();\n }\n dependentsOf(id) {\n return this.#module(id).dependents.map((module) => module.path).sort();\n }\n affectedBy(id) {\n const affected = /* @__PURE__ */ new Set([id]);\n const queue = [id];\n while (queue.length) {\n const current = queue.shift();\n for (const dependent of this.dependentsOf(current)) {\n if (!affected.has(dependent)) {\n affected.add(dependent);\n queue.push(dependent);\n }\n }\n }\n return [...affected].sort();\n }\n programOf(id) {\n return asAstNode(this.#module(id).ast, `${id} program`);\n }\n sourceOf(id) {\n return this.#module(id).source;\n }\n parseCount(id) {\n return this.#parseCounts.get(id) ?? 0;\n }\n diagnostics() {\n const parseDiagnostics = [...this.#analyzer.modules.values()].flatMap(\n (module) => module.diagnostics.map((diagnostic) => ({\n kind: \"parse\",\n id: resolvedModuleId(module.path),\n message: diagnostic.message\n }))\n );\n return [\n ...parseDiagnostics,\n ...this.#analyzer.diagnostics.map((diagnostic) => ({\n kind: \"link\",\n id: resolvedModuleId(diagnostic.module),\n message: diagnostic.message\n }))\n ];\n }\n}\nconst yukuFactory = {\n name: \"yuku\",\n create: (project) => new YukuCandidate(project),\n scanImports(id, source) {\n const candidate = new YukuCandidate({\n files: /* @__PURE__ */ new Map([[id, source]]),\n resolutions: /* @__PURE__ */ new Map()\n });\n const found = [];\n walkAst(candidate.programOf(id), (node) => {\n if (node.type !== \"ImportDeclaration\" && node.type !== \"ExportNamedDeclaration\" && node.type !== \"ExportAllDeclaration\" && node.type !== \"ImportExpression\") {\n return;\n }\n const sourceNode = childNode(node, \"source\");\n if (sourceNode && typeof sourceNode.value === \"string\") {\n found.push({ start: node.start, specifier: sourceNode.value });\n }\n });\n return [\n ...new Set(\n found.sort((left, right) => left.start - right.start).map(({ specifier }) => specifier)\n )\n ];\n }\n};\nfunction parseModuleAst(source, id = \"/tamagui/compiler-module.tsx\") {\n const candidate = yukuFactory.create({\n files: /* @__PURE__ */ new Map([[id, source]]),\n resolutions: /* @__PURE__ */ new Map()\n });\n const diagnostics = candidate.diagnostics().filter((diagnostic) => diagnostic.kind === \"parse\");\n if (diagnostics.length) {\n throw new Error(\n `Unable to parse ${id}: ${diagnostics.map(({ message }) => message).join(\"; \")}`\n );\n }\n return candidate.programOf(id);\n}\nexport {\n parseModuleAst,\n yukuFactory\n};\n//# sourceMappingURL=yuku.js.map\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/compiler-core",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.653.1",
|
|
4
4
|
"description": "Shared parser-independent Tamagui compiler graph and element IR",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"yuku-analyzer": "0.6.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@tamagui/build": "3.0.0-beta.
|
|
43
|
+
"@tamagui/build": "3.0.0-beta.653.1",
|
|
44
44
|
"typescript": "~6.0.3"
|
|
45
45
|
},
|
|
46
46
|
"repository": {
|
package/src/contracts.ts
CHANGED
|
@@ -65,6 +65,7 @@ export interface AnalyzerCandidate {
|
|
|
65
65
|
removeFile(id: string): boolean
|
|
66
66
|
link(): void
|
|
67
67
|
definitionOf(id: string, localName: string): DefinitionSite | null
|
|
68
|
+
definitionAt(id: string, start: number, end: number): DefinitionSite | null
|
|
68
69
|
referencesOf(definition: DefinitionSite): ReferenceSite[]
|
|
69
70
|
dependenciesOf(id: string): string[]
|
|
70
71
|
dependentsOf(id: string): string[]
|
|
@@ -90,6 +91,7 @@ export interface SymbolDefinition {
|
|
|
90
91
|
/** Parser-independent symbol access used by partial evaluation and element IR. */
|
|
91
92
|
export interface SymbolResolver {
|
|
92
93
|
resolveBinding(id: ResolvedModuleId, localName: string): SymbolDefinition | null
|
|
94
|
+
resolveReference(reference: ExpressionReference): SymbolDefinition | null
|
|
93
95
|
expressionNode(reference: ExpressionReference): AstNode | null
|
|
94
96
|
sourceOf(id: ResolvedModuleId): string
|
|
95
97
|
}
|
package/src/evaluate.ts
CHANGED
|
@@ -29,6 +29,12 @@ export type EvaluationResult =
|
|
|
29
29
|
bailout: BailoutReason
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
export interface DynamicEvaluation {
|
|
33
|
+
type: 'number' | 'string' | 'boolean' | 'null'
|
|
34
|
+
values?: (number | string | boolean | null)[]
|
|
35
|
+
dependencies: ResolvedModuleId[]
|
|
36
|
+
}
|
|
37
|
+
|
|
32
38
|
type InternalResult =
|
|
33
39
|
| { ok: true; value: StaticEvaluationValue }
|
|
34
40
|
| { ok: false; bailout: BailoutReason }
|
|
@@ -381,6 +387,98 @@ function evaluateNode(
|
|
|
381
387
|
}
|
|
382
388
|
}
|
|
383
389
|
|
|
390
|
+
function dynamicPrimitive(
|
|
391
|
+
value: StaticEvaluationValue
|
|
392
|
+
): DynamicEvaluation['type'] | null {
|
|
393
|
+
if (value === null) return 'null'
|
|
394
|
+
if (typeof value === 'number') return 'number'
|
|
395
|
+
if (typeof value === 'string') return 'string'
|
|
396
|
+
if (typeof value === 'boolean') return 'boolean'
|
|
397
|
+
return null
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
function evaluateDynamicNode(
|
|
401
|
+
resolver: SymbolResolver,
|
|
402
|
+
id: ResolvedModuleId,
|
|
403
|
+
input: AstNode,
|
|
404
|
+
state: EvaluationState
|
|
405
|
+
): Omit<DynamicEvaluation, 'dependencies'> | null {
|
|
406
|
+
const exact = evaluateNode(resolver, id, input, state)
|
|
407
|
+
if (exact.ok) {
|
|
408
|
+
const type = dynamicPrimitive(exact.value)
|
|
409
|
+
return type
|
|
410
|
+
? { type, values: [exact.value as number | string | boolean | null] }
|
|
411
|
+
: null
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
const node = unwrapExpression(input)
|
|
415
|
+
if (node.type === 'Identifier') {
|
|
416
|
+
if (!identifierName(node)) return null
|
|
417
|
+
const definition = resolver.resolveReference(expressionReference(id, node))
|
|
418
|
+
if (!definition?.constant || !definition.initializer) return null
|
|
419
|
+
const key = `${definition.id}:${definition.span.start}`
|
|
420
|
+
if (state.activeDefinitions.has(key)) return null
|
|
421
|
+
const initializer = resolver.expressionNode(definition.initializer)
|
|
422
|
+
if (!initializer) return null
|
|
423
|
+
state.dependencies.add(definition.id)
|
|
424
|
+
state.activeDefinitions.add(key)
|
|
425
|
+
try {
|
|
426
|
+
return evaluateDynamicNode(resolver, definition.id, initializer, state)
|
|
427
|
+
} finally {
|
|
428
|
+
state.activeDefinitions.delete(key)
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
if (node.type === 'MemberExpression') {
|
|
433
|
+
const objectNode = childNode(node, 'object')
|
|
434
|
+
const propertyNode = childNode(node, 'property')
|
|
435
|
+
if (!objectNode || !propertyNode) return null
|
|
436
|
+
const object = evaluateNode(resolver, id, objectNode, state)
|
|
437
|
+
if (!object.ok || !Array.isArray(object.value)) return null
|
|
438
|
+
const property = evaluateDynamicNode(resolver, id, propertyNode, state)
|
|
439
|
+
if (property?.type !== 'number' || object.value.length > 32) return null
|
|
440
|
+
const values: (number | string | boolean | null)[] = []
|
|
441
|
+
let type: DynamicEvaluation['type'] | null = null
|
|
442
|
+
for (const value of object.value) {
|
|
443
|
+
const nextType = dynamicPrimitive(value)
|
|
444
|
+
if (!nextType || (type && type !== nextType)) return null
|
|
445
|
+
type = nextType
|
|
446
|
+
const primitive = value as number | string | boolean | null
|
|
447
|
+
if (!values.includes(primitive)) values.push(primitive)
|
|
448
|
+
}
|
|
449
|
+
return type ? { type, values } : null
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
if (node.type === 'BinaryExpression') {
|
|
453
|
+
const leftNode = childNode(node, 'left')
|
|
454
|
+
const rightNode = childNode(node, 'right')
|
|
455
|
+
if (!leftNode || !rightNode) return null
|
|
456
|
+
const left = evaluateDynamicNode(resolver, id, leftNode, state)
|
|
457
|
+
const right = evaluateDynamicNode(resolver, id, rightNode, state)
|
|
458
|
+
if (node.operator === '+') {
|
|
459
|
+
return left?.type === 'number' && right?.type === 'number'
|
|
460
|
+
? { type: 'number' }
|
|
461
|
+
: null
|
|
462
|
+
}
|
|
463
|
+
if (
|
|
464
|
+
node.operator === '-' ||
|
|
465
|
+
node.operator === '*' ||
|
|
466
|
+
node.operator === '/' ||
|
|
467
|
+
node.operator === '%' ||
|
|
468
|
+
node.operator === '**'
|
|
469
|
+
) {
|
|
470
|
+
// successful javascript arithmetic with a number operand produces a
|
|
471
|
+
// number. bigint mixed with the numeric literals used here throws before
|
|
472
|
+
// the style value exists, so it does not create another runtime domain.
|
|
473
|
+
if (left?.type === 'number' || right?.type === 'number') {
|
|
474
|
+
return { type: 'number' }
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
return null
|
|
480
|
+
}
|
|
481
|
+
|
|
384
482
|
export interface ConditionalEvaluation {
|
|
385
483
|
/** Span of the test expression, sliced verbatim into compiled output. */
|
|
386
484
|
test: SourceSpan
|
|
@@ -462,6 +560,26 @@ export function evaluateExpression(
|
|
|
462
560
|
: result
|
|
463
561
|
}
|
|
464
562
|
|
|
563
|
+
/**
|
|
564
|
+
* proves the runtime domain of a dynamic expression without evaluating its
|
|
565
|
+
* changing inputs. this is deliberately narrow: numeric arithmetic and a
|
|
566
|
+
* bounded lookup into a static primitive array are the two forms a host style
|
|
567
|
+
* can consume directly without retaining the full Tamagui resolver.
|
|
568
|
+
*/
|
|
569
|
+
export function evaluateDynamicExpression(
|
|
570
|
+
resolver: SymbolResolver,
|
|
571
|
+
reference: ExpressionReference
|
|
572
|
+
): DynamicEvaluation | null {
|
|
573
|
+
const node = resolver.expressionNode(reference)
|
|
574
|
+
if (!node) return null
|
|
575
|
+
const state: EvaluationState = {
|
|
576
|
+
activeDefinitions: new Set(),
|
|
577
|
+
dependencies: new Set(),
|
|
578
|
+
}
|
|
579
|
+
const result = evaluateDynamicNode(resolver, reference.id, node, state)
|
|
580
|
+
return result ? { ...result, dependencies: [...state.dependencies].sort() } : null
|
|
581
|
+
}
|
|
582
|
+
|
|
465
583
|
export function evaluateBinding(
|
|
466
584
|
resolver: SymbolResolver,
|
|
467
585
|
id: ResolvedModuleId,
|
package/src/graph.ts
CHANGED
|
@@ -17,8 +17,10 @@ import { linkedBailout, localBailout, type BailoutReason } from './diagnostics'
|
|
|
17
17
|
import {
|
|
18
18
|
evaluateBinding,
|
|
19
19
|
evaluateConditionalExpression,
|
|
20
|
+
evaluateDynamicExpression,
|
|
20
21
|
evaluateExpression,
|
|
21
22
|
type ConditionalEvaluation,
|
|
23
|
+
type DynamicEvaluation,
|
|
22
24
|
type EvaluationResult,
|
|
23
25
|
} from './evaluate'
|
|
24
26
|
import type { ElementIRResult } from './ir'
|
|
@@ -153,6 +155,28 @@ export class ProjectGraph implements SymbolResolver {
|
|
|
153
155
|
}
|
|
154
156
|
}
|
|
155
157
|
|
|
158
|
+
resolveReference(reference: ExpressionReference): SymbolDefinition | null {
|
|
159
|
+
const definition = this.#candidate.definitionAt(
|
|
160
|
+
reference.id,
|
|
161
|
+
reference.start,
|
|
162
|
+
reference.end
|
|
163
|
+
)
|
|
164
|
+
if (!definition) return null
|
|
165
|
+
return {
|
|
166
|
+
id: definition.id,
|
|
167
|
+
name: definition.name,
|
|
168
|
+
span: {
|
|
169
|
+
id: definition.id,
|
|
170
|
+
start: definition.start,
|
|
171
|
+
end: definition.end,
|
|
172
|
+
},
|
|
173
|
+
initializer: definition.initializer
|
|
174
|
+
? expressionReference(definition.id, definition.initializer)
|
|
175
|
+
: null,
|
|
176
|
+
constant: definition.constant,
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
156
180
|
expressionNode(reference: ExpressionReference) {
|
|
157
181
|
if (!this.#modules.has(reference.id)) return null
|
|
158
182
|
return nodeAtSpan(
|
|
@@ -170,6 +194,10 @@ export class ProjectGraph implements SymbolResolver {
|
|
|
170
194
|
return evaluateConditionalExpression(this, reference)
|
|
171
195
|
}
|
|
172
196
|
|
|
197
|
+
evaluateDynamic(reference: ExpressionReference): DynamicEvaluation | null {
|
|
198
|
+
return evaluateDynamicExpression(this, reference)
|
|
199
|
+
}
|
|
200
|
+
|
|
173
201
|
evaluateBinding(id: ResolvedModuleId, localName: string): EvaluationResult {
|
|
174
202
|
return evaluateBinding(this, id, localName)
|
|
175
203
|
}
|
package/src/lower.ts
CHANGED
package/src/materialize.ts
CHANGED
|
@@ -29,6 +29,7 @@ export type MaterializedValue =
|
|
|
29
29
|
kind: 'bailout'
|
|
30
30
|
bailout: BailoutReason
|
|
31
31
|
span: SourceSpan
|
|
32
|
+
dynamic: ReturnType<ProjectGraph['evaluateDynamic']>
|
|
32
33
|
}
|
|
33
34
|
| {
|
|
34
35
|
/**
|
|
@@ -175,7 +176,12 @@ function materializeValue(
|
|
|
175
176
|
span: value,
|
|
176
177
|
}
|
|
177
178
|
}
|
|
178
|
-
return {
|
|
179
|
+
return {
|
|
180
|
+
kind: 'bailout',
|
|
181
|
+
bailout: result.bailout,
|
|
182
|
+
span: value,
|
|
183
|
+
dynamic: graph.evaluateDynamic(value),
|
|
184
|
+
}
|
|
179
185
|
}
|
|
180
186
|
|
|
181
187
|
function materializeEntry(
|
|
@@ -253,8 +259,11 @@ function collectDependencies(module: Omit<MaterializedModule, 'dependencies'>) {
|
|
|
253
259
|
for (const dependency of value.dependencies) dependencies.add(dependency)
|
|
254
260
|
} else if (value.kind === 'dom-style') {
|
|
255
261
|
for (const item of value.items) collect(item.value)
|
|
256
|
-
} else
|
|
257
|
-
|
|
262
|
+
} else {
|
|
263
|
+
for (const dependency of value.dynamic?.dependencies ?? []) {
|
|
264
|
+
dependencies.add(dependency)
|
|
265
|
+
}
|
|
266
|
+
if (value.bailout.dependencyId) dependencies.add(value.bailout.dependencyId)
|
|
258
267
|
}
|
|
259
268
|
}
|
|
260
269
|
for (const element of module.elements) {
|
package/src/yuku.ts
CHANGED
|
@@ -11,7 +11,12 @@ import type {
|
|
|
11
11
|
} from './contracts'
|
|
12
12
|
import { resolveFromHost, resolvedModuleId } from './contracts'
|
|
13
13
|
import { childNode, walkAst } from './ast'
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
asAstNode,
|
|
16
|
+
declarationForName,
|
|
17
|
+
definitionFromDeclaration,
|
|
18
|
+
nodeAtSpan,
|
|
19
|
+
} from './normalize'
|
|
15
20
|
|
|
16
21
|
class YukuCandidate implements AnalyzerCandidate {
|
|
17
22
|
readonly name = 'yuku' as const
|
|
@@ -50,9 +55,7 @@ class YukuCandidate implements AnalyzerCandidate {
|
|
|
50
55
|
return symbol ? (this.#analyzer.definitionOf(symbol)?.symbol ?? null) : null
|
|
51
56
|
}
|
|
52
57
|
|
|
53
|
-
|
|
54
|
-
const symbol = this.#canonicalSymbol(id, localName)
|
|
55
|
-
if (!symbol) return null
|
|
58
|
+
#definitionSite(symbol: YukuSymbol): DefinitionSite | null {
|
|
56
59
|
const declaration = symbol.declarations[0]
|
|
57
60
|
if (!declaration) return null
|
|
58
61
|
const program = asAstNode(symbol.module.ast, `${symbol.module.path} program`)
|
|
@@ -67,6 +70,20 @@ class YukuCandidate implements AnalyzerCandidate {
|
|
|
67
70
|
)
|
|
68
71
|
}
|
|
69
72
|
|
|
73
|
+
definitionOf(id: string, localName: string): DefinitionSite | null {
|
|
74
|
+
const symbol = this.#canonicalSymbol(id, localName)
|
|
75
|
+
return symbol ? this.#definitionSite(symbol) : null
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
definitionAt(id: string, start: number, end: number): DefinitionSite | null {
|
|
79
|
+
const module = this.#module(id)
|
|
80
|
+
const node = nodeAtSpan(asAstNode(module.ast, `${module.path} program`), start, end)
|
|
81
|
+
if (!node) return null
|
|
82
|
+
const symbol = module.symbolOf(node as any)
|
|
83
|
+
const definition = symbol && this.#analyzer.definitionOf(symbol)?.symbol
|
|
84
|
+
return definition ? this.#definitionSite(definition) : null
|
|
85
|
+
}
|
|
86
|
+
|
|
70
87
|
referencesOf(definition: DefinitionSite): ReferenceSite[] {
|
|
71
88
|
const symbol = this.#canonicalSymbol(definition.id, definition.name)
|
|
72
89
|
if (!symbol) return []
|
package/types/contracts.d.ts
CHANGED
|
@@ -57,6 +57,7 @@ export interface AnalyzerCandidate {
|
|
|
57
57
|
removeFile(id: string): boolean;
|
|
58
58
|
link(): void;
|
|
59
59
|
definitionOf(id: string, localName: string): DefinitionSite | null;
|
|
60
|
+
definitionAt(id: string, start: number, end: number): DefinitionSite | null;
|
|
60
61
|
referencesOf(definition: DefinitionSite): ReferenceSite[];
|
|
61
62
|
dependenciesOf(id: string): string[];
|
|
62
63
|
dependentsOf(id: string): string[];
|
|
@@ -79,6 +80,7 @@ export interface SymbolDefinition {
|
|
|
79
80
|
/** Parser-independent symbol access used by partial evaluation and element IR. */
|
|
80
81
|
export interface SymbolResolver {
|
|
81
82
|
resolveBinding(id: ResolvedModuleId, localName: string): SymbolDefinition | null;
|
|
83
|
+
resolveReference(reference: ExpressionReference): SymbolDefinition | null;
|
|
82
84
|
expressionNode(reference: ExpressionReference): AstNode | null;
|
|
83
85
|
sourceOf(id: ResolvedModuleId): string;
|
|
84
86
|
}
|
package/types/contracts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
package/types/evaluate.d.ts
CHANGED
|
@@ -11,6 +11,11 @@ export type EvaluationResult = {
|
|
|
11
11
|
ok: false;
|
|
12
12
|
bailout: BailoutReason;
|
|
13
13
|
};
|
|
14
|
+
export interface DynamicEvaluation {
|
|
15
|
+
type: 'number' | 'string' | 'boolean' | 'null';
|
|
16
|
+
values?: (number | string | boolean | null)[];
|
|
17
|
+
dependencies: ResolvedModuleId[];
|
|
18
|
+
}
|
|
14
19
|
export interface ConditionalEvaluation {
|
|
15
20
|
/** Span of the test expression, sliced verbatim into compiled output. */
|
|
16
21
|
test: SourceSpan;
|
|
@@ -32,5 +37,12 @@ export interface ConditionalEvaluation {
|
|
|
32
37
|
*/
|
|
33
38
|
export declare function evaluateConditionalExpression(resolver: SymbolResolver, reference: ExpressionReference): ConditionalEvaluation | null;
|
|
34
39
|
export declare function evaluateExpression(resolver: SymbolResolver, reference: ExpressionReference): EvaluationResult;
|
|
40
|
+
/**
|
|
41
|
+
* proves the runtime domain of a dynamic expression without evaluating its
|
|
42
|
+
* changing inputs. this is deliberately narrow: numeric arithmetic and a
|
|
43
|
+
* bounded lookup into a static primitive array are the two forms a host style
|
|
44
|
+
* can consume directly without retaining the full Tamagui resolver.
|
|
45
|
+
*/
|
|
46
|
+
export declare function evaluateDynamicExpression(resolver: SymbolResolver, reference: ExpressionReference): DynamicEvaluation | null;
|
|
35
47
|
export declare function evaluateBinding(resolver: SymbolResolver, id: ResolvedModuleId, localName: string): EvaluationResult;
|
|
36
48
|
//# sourceMappingURL=evaluate.d.ts.map
|
package/types/evaluate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EAEV,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAE/E,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,qBAAqB,EAAE,GACvB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;CAAE,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,qBAAqB,CAAA;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC,GACD;IACE,EAAE,EAAE,KAAK,CAAA;IACT,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EAEV,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAE/E,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,qBAAqB,EAAE,GACvB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;CAAE,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,qBAAqB,CAAA;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC,GACD;IACE,EAAE,EAAE,KAAK,CAAA;IACT,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;AAEL,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAA;IAC7C,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC;AA8bD,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE;QAAE,KAAK,EAAE,qBAAqB,CAAC;QAAC,YAAY,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAA;IAC5E,SAAS,EAAE;QAAE,KAAK,EAAE,qBAAqB,CAAC;QAAC,YAAY,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAA;CAC9E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC7B,qBAAqB,GAAG,IAAI,CAgC9B;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC7B,gBAAgB,CAyBlB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC7B,iBAAiB,GAAG,IAAI,CAS1B;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EACxB,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,GAChB,gBAAgB,CA4BlB"}
|
package/types/graph.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CandidateFactory, ExpressionReference, HostModuleInput, HostResolvedProject, ResolvedModuleId, SymbolDefinition, SymbolResolver } from './contracts';
|
|
2
2
|
import { type BailoutReason } from './diagnostics';
|
|
3
|
-
import { type ConditionalEvaluation, type EvaluationResult } from './evaluate';
|
|
3
|
+
import { type ConditionalEvaluation, type DynamicEvaluation, type EvaluationResult } from './evaluate';
|
|
4
4
|
import type { ElementIRResult } from './ir';
|
|
5
5
|
export interface GraphInvalidation {
|
|
6
6
|
changed: boolean;
|
|
@@ -25,9 +25,11 @@ export declare class ProjectGraph implements SymbolResolver {
|
|
|
25
25
|
affectedBy(id: ResolvedModuleId): ResolvedModuleId[];
|
|
26
26
|
parseCount(id: ResolvedModuleId): number;
|
|
27
27
|
resolveBinding(id: ResolvedModuleId, localName: string): SymbolDefinition | null;
|
|
28
|
+
resolveReference(reference: ExpressionReference): SymbolDefinition | null;
|
|
28
29
|
expressionNode(reference: ExpressionReference): import("./contracts").AstNode | null;
|
|
29
30
|
evaluate(reference: ExpressionReference): EvaluationResult;
|
|
30
31
|
evaluateConditional(reference: ExpressionReference): ConditionalEvaluation | null;
|
|
32
|
+
evaluateDynamic(reference: ExpressionReference): DynamicEvaluation | null;
|
|
31
33
|
evaluateBinding(id: ResolvedModuleId, localName: string): EvaluationResult;
|
|
32
34
|
elementsOf(id: ResolvedModuleId): ElementIRResult;
|
|
33
35
|
diagnostics(): BailoutReason[];
|
package/types/graph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EAEf,mBAAmB,EAEnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EAEf,mBAAmB,EAEnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAa3C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,gBAAgB,CAAA;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,cAAc,EAAE,gBAAgB,EAAE,CAAA;CACnC;AAiBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAahE;AAED;;;GAGG;AACH,qBAAa,YAAa,YAAW,cAAc;;IASjD,YAAY,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,EAQlE;IAED,SAAS,IAAI,gBAAgB,EAAE,CAE9B;IAED,WAAW,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAE/C;IAED,QAAQ,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAIrC;IAED,cAAc,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAEvD;IAED,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAErD;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAYnD;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAEvC;IAED,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAgB/E;IAED,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,IAAI,CAoBxE;IAED,cAAc,CAAC,SAAS,EAAE,mBAAmB,wCAO5C;IAED,QAAQ,CAAC,SAAS,EAAE,mBAAmB,GAAG,gBAAgB,CAEzD;IAED,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,GAAG,qBAAqB,GAAG,IAAI,CAEhF;IAED,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,IAAI,CAExE;IAED,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAEzE;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,eAAe,CAQhD;IAED,WAAW,IAAI,aAAa,EAAE,CAsC7B;IAED,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,iBAAiB,CA4BtD;IAED,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,iBAAiB,CA0BpD;CAgEF"}
|
package/types/lower.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { ResolvedModuleId, SourceSpan } from './contracts';
|
|
|
2
2
|
import { type BailoutReason } from './diagnostics';
|
|
3
3
|
import type { MaterializedElement, MaterializedModule, MaterializedStyledDefinition } from './materialize';
|
|
4
4
|
import { type ApplicableLoweredModulePlan, type SourceEdit } from './output';
|
|
5
|
-
export declare const LOWERED_MODULE_PLAN_VERSION =
|
|
5
|
+
export declare const LOWERED_MODULE_PLAN_VERSION = 3;
|
|
6
6
|
export type CompilerTarget = 'web' | 'native';
|
|
7
7
|
export interface LoweredModuleStats {
|
|
8
8
|
found: number;
|
package/types/materialize.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../src/materialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EACV,yBAAyB,EACzB,kBAAkB,EAElB,SAAS,EAET,oBAAoB,EACrB,MAAM,MAAM,CAAA;AAEb,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,qBAAqB,CAAA;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAA;IAChC,IAAI,EAAE,UAAU,CAAA;IAChB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,IAAI,CAAA;CACrB,GACD;IACE,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,aAAa,CAAA;IACtB,IAAI,EAAE,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../src/materialize.ts"],"names":[],"mappings":"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"}
|
package/types/yuku.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yuku.d.ts","sourceRoot":"","sources":["../src/yuku.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,OAAO,EACP,gBAAgB,EAKjB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"yuku.d.ts","sourceRoot":"","sources":["../src/yuku.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,OAAO,EACP,gBAAgB,EAKjB,MAAM,aAAa,CAAA;AAiJpB,eAAO,MAAM,WAAW,EAAE,gBA+BzB,CAAA;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,EAAE,SAAiC,GAClC,OAAO,CAcT"}
|