@tamagui/language-service 0.0.0-bootstrap.0 → 3.0.0-beta.643.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.
Files changed (80) hide show
  1. package/README.md +140 -1
  2. package/dist/cjs/check.cjs +173 -0
  3. package/dist/cjs/check.native.cjs +369 -0
  4. package/dist/cjs/check.native.js +371 -0
  5. package/dist/cjs/check.native.js.map +1 -0
  6. package/dist/cjs/core.cjs +221 -0
  7. package/dist/cjs/core.native.cjs +305 -0
  8. package/dist/cjs/core.native.js +307 -0
  9. package/dist/cjs/core.native.js.map +1 -0
  10. package/dist/cjs/document.cjs +82 -0
  11. package/dist/cjs/document.native.cjs +158 -0
  12. package/dist/cjs/document.native.js +160 -0
  13. package/dist/cjs/document.native.js.map +1 -0
  14. package/dist/cjs/extract-estree.cjs +193 -0
  15. package/dist/cjs/extract-estree.native.cjs +296 -0
  16. package/dist/cjs/extract-estree.native.js +298 -0
  17. package/dist/cjs/extract-estree.native.js.map +1 -0
  18. package/dist/cjs/extract-sucrase.cjs +222 -0
  19. package/dist/cjs/extract-sucrase.native.cjs +256 -0
  20. package/dist/cjs/extract-sucrase.native.js +258 -0
  21. package/dist/cjs/extract-sucrase.native.js.map +1 -0
  22. package/dist/cjs/host.cjs +38 -0
  23. package/dist/cjs/host.native.cjs +61 -0
  24. package/dist/cjs/host.native.js +63 -0
  25. package/dist/cjs/host.native.js.map +1 -0
  26. package/dist/cjs/index.cjs +301 -0
  27. package/dist/cjs/index.native.cjs +414 -0
  28. package/dist/cjs/index.native.js +416 -0
  29. package/dist/cjs/index.native.js.map +1 -0
  30. package/dist/esm/check.mjs +148 -0
  31. package/dist/esm/check.mjs.map +1 -0
  32. package/dist/esm/check.native.js +342 -0
  33. package/dist/esm/check.native.js.map +1 -0
  34. package/dist/esm/core.mjs +198 -0
  35. package/dist/esm/core.mjs.map +1 -0
  36. package/dist/esm/core.native.js +280 -0
  37. package/dist/esm/core.native.js.map +1 -0
  38. package/dist/esm/document.mjs +61 -0
  39. package/dist/esm/document.mjs.map +1 -0
  40. package/dist/esm/document.native.js +135 -0
  41. package/dist/esm/document.native.js.map +1 -0
  42. package/dist/esm/extract-estree.mjs +172 -0
  43. package/dist/esm/extract-estree.mjs.map +1 -0
  44. package/dist/esm/extract-estree.native.js +273 -0
  45. package/dist/esm/extract-estree.native.js.map +1 -0
  46. package/dist/esm/extract-sucrase.mjs +201 -0
  47. package/dist/esm/extract-sucrase.mjs.map +1 -0
  48. package/dist/esm/extract-sucrase.native.js +233 -0
  49. package/dist/esm/extract-sucrase.native.js.map +1 -0
  50. package/dist/esm/host.mjs +17 -0
  51. package/dist/esm/host.mjs.map +1 -0
  52. package/dist/esm/host.native.js +38 -0
  53. package/dist/esm/host.native.js.map +1 -0
  54. package/dist/esm/index.mjs +281 -0
  55. package/dist/esm/index.mjs.map +1 -0
  56. package/dist/esm/index.native.js +392 -0
  57. package/dist/esm/index.native.js.map +1 -0
  58. package/index.cjs +1 -0
  59. package/package.json +79 -7
  60. package/src/check.ts +204 -0
  61. package/src/core.ts +355 -0
  62. package/src/document.ts +140 -0
  63. package/src/extract-estree.ts +251 -0
  64. package/src/extract-sucrase.ts +308 -0
  65. package/src/host.ts +32 -0
  66. package/src/index.ts +452 -0
  67. package/types/check.d.ts +31 -0
  68. package/types/check.d.ts.map +11 -0
  69. package/types/core.d.ts +68 -0
  70. package/types/core.d.ts.map +11 -0
  71. package/types/document.d.ts +42 -0
  72. package/types/document.d.ts.map +11 -0
  73. package/types/extract-estree.d.ts +19 -0
  74. package/types/extract-estree.d.ts.map +11 -0
  75. package/types/extract-sucrase.d.ts +26 -0
  76. package/types/extract-sucrase.d.ts.map +11 -0
  77. package/types/host.d.ts +10 -0
  78. package/types/host.d.ts.map +11 -0
  79. package/types/index.d.ts +9 -0
  80. package/types/index.d.ts.map +11 -0
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
22
+ };
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var extract_estree_exports = {};
25
+ __export(extract_estree_exports, { extractStyleSitesFromEstree: () => extractStyleSitesFromEstree });
26
+ module.exports = __toCommonJS(extract_estree_exports);
27
+ function _type_of(obj) {
28
+ "@swc/helpers - typeof";
29
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
30
+ }
31
+ function defaultIsTamaguiModule(source) {
32
+ return source === "tamagui" || source.startsWith("tamagui/") || source.startsWith("@tamagui/");
33
+ }
34
+ function span(node) {
35
+ if (node.range) return node.range;
36
+ if (typeof node.start === "number" && typeof node.end === "number") {
37
+ return [node.start, node.end];
38
+ }
39
+ return null;
40
+ }
41
+ function staticString(node) {
42
+ if (!node) return null;
43
+ var at = span(node);
44
+ if (!at) return null;
45
+ if (node.type === "Literal") {
46
+ var value = node.value;
47
+ if (typeof value !== "string") return null;
48
+ var raw = node.raw;
49
+ if (typeof raw === "string" && raw.slice(1, -1) !== value) return null;
50
+ return {
51
+ value,
52
+ start: at[0] + 1,
53
+ end: at[1] - 1
54
+ };
55
+ }
56
+ if (node.type === "TemplateLiteral") {
57
+ var _quasis__value, _quasis_, _quasis__value1, _quasis_1;
58
+ var expressions = node.expressions;
59
+ var quasis = node.quasis;
60
+ if ((expressions === null || expressions === void 0 ? void 0 : expressions.length) !== 0 || (quasis === null || quasis === void 0 ? void 0 : quasis.length) !== 1) return null;
61
+ var cooked = (_quasis_ = quasis[0]) === null || _quasis_ === void 0 ? void 0 : (_quasis__value = _quasis_.value) === null || _quasis__value === void 0 ? void 0 : _quasis__value.cooked;
62
+ if (typeof cooked !== "string") return null;
63
+ if (((_quasis_1 = quasis[0]) === null || _quasis_1 === void 0 ? void 0 : (_quasis__value1 = _quasis_1.value) === null || _quasis__value1 === void 0 ? void 0 : _quasis__value1.raw) !== cooked) return null;
64
+ return {
65
+ value: cooked,
66
+ start: at[0] + 1,
67
+ end: at[1] - 1
68
+ };
69
+ }
70
+ return null;
71
+ }
72
+ function identifierName(node) {
73
+ if (!node) return null;
74
+ if (node.type === "Identifier" || node.type === "JSXIdentifier") {
75
+ return typeof node.name === "string" ? node.name : null;
76
+ }
77
+ return null;
78
+ }
79
+ function jsxRootName(name) {
80
+ var current = name;
81
+ while ((current === null || current === void 0 ? void 0 : current.type) === "JSXMemberExpression") {
82
+ current = current.object;
83
+ }
84
+ return identifierName(current);
85
+ }
86
+ var skipKeys = /* @__PURE__ */ new Set([
87
+ "parent",
88
+ "loc",
89
+ "range",
90
+ "leadingComments",
91
+ "trailingComments"
92
+ ]);
93
+ function walk(node, visit) {
94
+ visit(node);
95
+ for (var key in node) {
96
+ if (skipKeys.has(key)) continue;
97
+ var value = node[key];
98
+ if (Array.isArray(value)) {
99
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
100
+ try {
101
+ for (var _iterator = value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
102
+ var item = _step.value;
103
+ if (item && (typeof item === "undefined" ? "undefined" : _type_of(item)) === "object" && typeof item.type === "string") {
104
+ walk(item, visit);
105
+ }
106
+ }
107
+ } catch (err) {
108
+ _didIteratorError = true;
109
+ _iteratorError = err;
110
+ } finally {
111
+ try {
112
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
113
+ _iterator.return();
114
+ }
115
+ } finally {
116
+ if (_didIteratorError) {
117
+ throw _iteratorError;
118
+ }
119
+ }
120
+ }
121
+ } else if (value && (typeof value === "undefined" ? "undefined" : _type_of(value)) === "object" && typeof value.type === "string") {
122
+ walk(value, visit);
123
+ }
124
+ }
125
+ }
126
+ function extractStyleSitesFromEstree(program) {
127
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
128
+ var _options_isStyleProp;
129
+ var isStyleProp = (_options_isStyleProp = options.isStyleProp) !== null && _options_isStyleProp !== void 0 ? _options_isStyleProp : function() {
130
+ return true;
131
+ };
132
+ var _options_isTamaguiModule;
133
+ var isTamaguiModule = (_options_isTamaguiModule = options.isTamaguiModule) !== null && _options_isTamaguiModule !== void 0 ? _options_isTamaguiModule : defaultIsTamaguiModule;
134
+ var root = program;
135
+ var styledBindings = /* @__PURE__ */ new Set();
136
+ var componentNames = /* @__PURE__ */ new Set();
137
+ walk(root, function(node) {
138
+ if (node.type === "ImportDeclaration") {
139
+ var _node_source;
140
+ var source = (_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.value;
141
+ if (typeof source !== "string" || !isTamaguiModule(source)) return;
142
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
143
+ try {
144
+ for (var _iterator = (node.specifiers || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
145
+ var specifier = _step.value;
146
+ var local = identifierName(specifier.local);
147
+ if (!local) continue;
148
+ if (specifier.type === "ImportNamespaceSpecifier") {
149
+ componentNames.add(local);
150
+ continue;
151
+ }
152
+ if (specifier.type !== "ImportSpecifier") continue;
153
+ var importedNode = specifier.imported;
154
+ var _identifierName;
155
+ var imported = (_identifierName = identifierName(importedNode)) !== null && _identifierName !== void 0 ? _identifierName : typeof (importedNode === null || importedNode === void 0 ? void 0 : importedNode.value) === "string" ? importedNode.value : null;
156
+ if (imported === "styled") styledBindings.add(local);
157
+ else if (imported && /^[A-Z]/.test(imported)) componentNames.add(local);
158
+ }
159
+ } catch (err) {
160
+ _didIteratorError = true;
161
+ _iteratorError = err;
162
+ } finally {
163
+ try {
164
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
165
+ _iterator.return();
166
+ }
167
+ } finally {
168
+ if (_didIteratorError) {
169
+ throw _iteratorError;
170
+ }
171
+ }
172
+ }
173
+ return;
174
+ }
175
+ if (node.type === "VariableDeclarator") {
176
+ var name = identifierName(node.id);
177
+ var init = node.init;
178
+ if (name && (init === null || init === void 0 ? void 0 : init.type) === "CallExpression" && identifierName(init.callee) !== null && styledBindings.has(identifierName(init.callee))) {
179
+ componentNames.add(name);
180
+ }
181
+ }
182
+ });
183
+ var sites = [];
184
+ var pushSite = function(property, valueNode, kind) {
185
+ if (!isStyleProp(property)) return;
186
+ var content = staticString(valueNode);
187
+ if (!content) return;
188
+ sites.push({
189
+ property,
190
+ value: content.value,
191
+ start: content.start,
192
+ end: content.end,
193
+ kind,
194
+ node: valueNode
195
+ });
196
+ };
197
+ var visitStyleObject = function(object) {
198
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
199
+ try {
200
+ for (var _iterator = (object.properties || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
201
+ var member = _step.value;
202
+ if (member.type !== "Property") continue;
203
+ if (member.computed) continue;
204
+ var key = member.key;
205
+ var _identifierName;
206
+ var property = (_identifierName = identifierName(key)) !== null && _identifierName !== void 0 ? _identifierName : typeof (key === null || key === void 0 ? void 0 : key.value) === "string" ? key.value : null;
207
+ var value = member.value;
208
+ if (property && isStyleProp(property)) {
209
+ pushSite(property, value, "styled-property");
210
+ continue;
211
+ }
212
+ if ((value === null || value === void 0 ? void 0 : value.type) === "ObjectExpression") {
213
+ visitStyleObject(value);
214
+ } else if ((value === null || value === void 0 ? void 0 : value.type) === "ArrayExpression") {
215
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
216
+ try {
217
+ for (var _iterator1 = (value.elements || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
218
+ var element = _step1.value;
219
+ if ((element === null || element === void 0 ? void 0 : element.type) === "ObjectExpression") visitStyleObject(element);
220
+ }
221
+ } catch (err) {
222
+ _didIteratorError1 = true;
223
+ _iteratorError1 = err;
224
+ } finally {
225
+ try {
226
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
227
+ _iterator1.return();
228
+ }
229
+ } finally {
230
+ if (_didIteratorError1) {
231
+ throw _iteratorError1;
232
+ }
233
+ }
234
+ }
235
+ }
236
+ }
237
+ } catch (err) {
238
+ _didIteratorError = true;
239
+ _iteratorError = err;
240
+ } finally {
241
+ try {
242
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
243
+ _iterator.return();
244
+ }
245
+ } finally {
246
+ if (_didIteratorError) {
247
+ throw _iteratorError;
248
+ }
249
+ }
250
+ }
251
+ };
252
+ walk(root, function(node) {
253
+ if (node.type === "CallExpression") {
254
+ var _node_arguments;
255
+ var callee = identifierName(node.callee);
256
+ if (!callee || !styledBindings.has(callee)) return;
257
+ var definition = (_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : _node_arguments[1];
258
+ if ((definition === null || definition === void 0 ? void 0 : definition.type) === "ObjectExpression") visitStyleObject(definition);
259
+ return;
260
+ }
261
+ if (node.type === "JSXOpeningElement") {
262
+ var componentRoot = jsxRootName(node.name);
263
+ var accepted = options.allComponents ? componentRoot !== null && /^[A-Z]/.test(componentRoot) : componentRoot !== null && componentNames.has(componentRoot);
264
+ if (!accepted) return;
265
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
266
+ try {
267
+ for (var _iterator = (node.attributes || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
268
+ var attribute = _step.value;
269
+ if (attribute.type !== "JSXAttribute") continue;
270
+ var property = identifierName(attribute.name);
271
+ if (!property) continue;
272
+ var rawValue = attribute.value;
273
+ var valueNode = (rawValue === null || rawValue === void 0 ? void 0 : rawValue.type) === "JSXExpressionContainer" ? rawValue.expression : rawValue;
274
+ if (valueNode) pushSite(property, valueNode, "jsx-attribute");
275
+ }
276
+ } catch (err) {
277
+ _didIteratorError = true;
278
+ _iteratorError = err;
279
+ } finally {
280
+ try {
281
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
282
+ _iterator.return();
283
+ }
284
+ } finally {
285
+ if (_didIteratorError) {
286
+ throw _iteratorError;
287
+ }
288
+ }
289
+ }
290
+ }
291
+ });
292
+ sites.sort(function(a, b) {
293
+ return a.start - b.start;
294
+ });
295
+ return sites;
296
+ }
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
22
+ };
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var extract_estree_exports = {};
25
+ __export(extract_estree_exports, { extractStyleSitesFromEstree: () => extractStyleSitesFromEstree });
26
+ module.exports = __toCommonJS(extract_estree_exports);
27
+ function _type_of(obj) {
28
+ "@swc/helpers - typeof";
29
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
30
+ }
31
+ function defaultIsTamaguiModule(source) {
32
+ return source === "tamagui" || source.startsWith("tamagui/") || source.startsWith("@tamagui/");
33
+ }
34
+ function span(node) {
35
+ if (node.range) return node.range;
36
+ if (typeof node.start === "number" && typeof node.end === "number") {
37
+ return [node.start, node.end];
38
+ }
39
+ return null;
40
+ }
41
+ function staticString(node) {
42
+ if (!node) return null;
43
+ var at = span(node);
44
+ if (!at) return null;
45
+ if (node.type === "Literal") {
46
+ var value = node.value;
47
+ if (typeof value !== "string") return null;
48
+ var raw = node.raw;
49
+ if (typeof raw === "string" && raw.slice(1, -1) !== value) return null;
50
+ return {
51
+ value,
52
+ start: at[0] + 1,
53
+ end: at[1] - 1
54
+ };
55
+ }
56
+ if (node.type === "TemplateLiteral") {
57
+ var _quasis__value, _quasis_, _quasis__value1, _quasis_1;
58
+ var expressions = node.expressions;
59
+ var quasis = node.quasis;
60
+ if ((expressions === null || expressions === void 0 ? void 0 : expressions.length) !== 0 || (quasis === null || quasis === void 0 ? void 0 : quasis.length) !== 1) return null;
61
+ var cooked = (_quasis_ = quasis[0]) === null || _quasis_ === void 0 ? void 0 : (_quasis__value = _quasis_.value) === null || _quasis__value === void 0 ? void 0 : _quasis__value.cooked;
62
+ if (typeof cooked !== "string") return null;
63
+ if (((_quasis_1 = quasis[0]) === null || _quasis_1 === void 0 ? void 0 : (_quasis__value1 = _quasis_1.value) === null || _quasis__value1 === void 0 ? void 0 : _quasis__value1.raw) !== cooked) return null;
64
+ return {
65
+ value: cooked,
66
+ start: at[0] + 1,
67
+ end: at[1] - 1
68
+ };
69
+ }
70
+ return null;
71
+ }
72
+ function identifierName(node) {
73
+ if (!node) return null;
74
+ if (node.type === "Identifier" || node.type === "JSXIdentifier") {
75
+ return typeof node.name === "string" ? node.name : null;
76
+ }
77
+ return null;
78
+ }
79
+ function jsxRootName(name) {
80
+ var current = name;
81
+ while ((current === null || current === void 0 ? void 0 : current.type) === "JSXMemberExpression") {
82
+ current = current.object;
83
+ }
84
+ return identifierName(current);
85
+ }
86
+ var skipKeys = /* @__PURE__ */ new Set([
87
+ "parent",
88
+ "loc",
89
+ "range",
90
+ "leadingComments",
91
+ "trailingComments"
92
+ ]);
93
+ function walk(node, visit) {
94
+ visit(node);
95
+ for (var key in node) {
96
+ if (skipKeys.has(key)) continue;
97
+ var value = node[key];
98
+ if (Array.isArray(value)) {
99
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
100
+ try {
101
+ for (var _iterator = value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
102
+ var item = _step.value;
103
+ if (item && (typeof item === "undefined" ? "undefined" : _type_of(item)) === "object" && typeof item.type === "string") {
104
+ walk(item, visit);
105
+ }
106
+ }
107
+ } catch (err) {
108
+ _didIteratorError = true;
109
+ _iteratorError = err;
110
+ } finally {
111
+ try {
112
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
113
+ _iterator.return();
114
+ }
115
+ } finally {
116
+ if (_didIteratorError) {
117
+ throw _iteratorError;
118
+ }
119
+ }
120
+ }
121
+ } else if (value && (typeof value === "undefined" ? "undefined" : _type_of(value)) === "object" && typeof value.type === "string") {
122
+ walk(value, visit);
123
+ }
124
+ }
125
+ }
126
+ function extractStyleSitesFromEstree(program) {
127
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
128
+ var _options_isStyleProp;
129
+ var isStyleProp = (_options_isStyleProp = options.isStyleProp) !== null && _options_isStyleProp !== void 0 ? _options_isStyleProp : function() {
130
+ return true;
131
+ };
132
+ var _options_isTamaguiModule;
133
+ var isTamaguiModule = (_options_isTamaguiModule = options.isTamaguiModule) !== null && _options_isTamaguiModule !== void 0 ? _options_isTamaguiModule : defaultIsTamaguiModule;
134
+ var root = program;
135
+ var styledBindings = /* @__PURE__ */ new Set();
136
+ var componentNames = /* @__PURE__ */ new Set();
137
+ walk(root, function(node) {
138
+ if (node.type === "ImportDeclaration") {
139
+ var _node_source;
140
+ var source = (_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.value;
141
+ if (typeof source !== "string" || !isTamaguiModule(source)) return;
142
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
143
+ try {
144
+ for (var _iterator = (node.specifiers || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
145
+ var specifier = _step.value;
146
+ var local = identifierName(specifier.local);
147
+ if (!local) continue;
148
+ if (specifier.type === "ImportNamespaceSpecifier") {
149
+ componentNames.add(local);
150
+ continue;
151
+ }
152
+ if (specifier.type !== "ImportSpecifier") continue;
153
+ var importedNode = specifier.imported;
154
+ var _identifierName;
155
+ var imported = (_identifierName = identifierName(importedNode)) !== null && _identifierName !== void 0 ? _identifierName : typeof (importedNode === null || importedNode === void 0 ? void 0 : importedNode.value) === "string" ? importedNode.value : null;
156
+ if (imported === "styled") styledBindings.add(local);
157
+ else if (imported && /^[A-Z]/.test(imported)) componentNames.add(local);
158
+ }
159
+ } catch (err) {
160
+ _didIteratorError = true;
161
+ _iteratorError = err;
162
+ } finally {
163
+ try {
164
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
165
+ _iterator.return();
166
+ }
167
+ } finally {
168
+ if (_didIteratorError) {
169
+ throw _iteratorError;
170
+ }
171
+ }
172
+ }
173
+ return;
174
+ }
175
+ if (node.type === "VariableDeclarator") {
176
+ var name = identifierName(node.id);
177
+ var init = node.init;
178
+ if (name && (init === null || init === void 0 ? void 0 : init.type) === "CallExpression" && identifierName(init.callee) !== null && styledBindings.has(identifierName(init.callee))) {
179
+ componentNames.add(name);
180
+ }
181
+ }
182
+ });
183
+ var sites = [];
184
+ var pushSite = function(property, valueNode, kind) {
185
+ if (!isStyleProp(property)) return;
186
+ var content = staticString(valueNode);
187
+ if (!content) return;
188
+ sites.push({
189
+ property,
190
+ value: content.value,
191
+ start: content.start,
192
+ end: content.end,
193
+ kind,
194
+ node: valueNode
195
+ });
196
+ };
197
+ var visitStyleObject = function(object) {
198
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
199
+ try {
200
+ for (var _iterator = (object.properties || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
201
+ var member = _step.value;
202
+ if (member.type !== "Property") continue;
203
+ if (member.computed) continue;
204
+ var key = member.key;
205
+ var _identifierName;
206
+ var property = (_identifierName = identifierName(key)) !== null && _identifierName !== void 0 ? _identifierName : typeof (key === null || key === void 0 ? void 0 : key.value) === "string" ? key.value : null;
207
+ var value = member.value;
208
+ if (property && isStyleProp(property)) {
209
+ pushSite(property, value, "styled-property");
210
+ continue;
211
+ }
212
+ if ((value === null || value === void 0 ? void 0 : value.type) === "ObjectExpression") {
213
+ visitStyleObject(value);
214
+ } else if ((value === null || value === void 0 ? void 0 : value.type) === "ArrayExpression") {
215
+ var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
216
+ try {
217
+ for (var _iterator1 = (value.elements || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
218
+ var element = _step1.value;
219
+ if ((element === null || element === void 0 ? void 0 : element.type) === "ObjectExpression") visitStyleObject(element);
220
+ }
221
+ } catch (err) {
222
+ _didIteratorError1 = true;
223
+ _iteratorError1 = err;
224
+ } finally {
225
+ try {
226
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
227
+ _iterator1.return();
228
+ }
229
+ } finally {
230
+ if (_didIteratorError1) {
231
+ throw _iteratorError1;
232
+ }
233
+ }
234
+ }
235
+ }
236
+ }
237
+ } catch (err) {
238
+ _didIteratorError = true;
239
+ _iteratorError = err;
240
+ } finally {
241
+ try {
242
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
243
+ _iterator.return();
244
+ }
245
+ } finally {
246
+ if (_didIteratorError) {
247
+ throw _iteratorError;
248
+ }
249
+ }
250
+ }
251
+ };
252
+ walk(root, function(node) {
253
+ if (node.type === "CallExpression") {
254
+ var _node_arguments;
255
+ var callee = identifierName(node.callee);
256
+ if (!callee || !styledBindings.has(callee)) return;
257
+ var definition = (_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : _node_arguments[1];
258
+ if ((definition === null || definition === void 0 ? void 0 : definition.type) === "ObjectExpression") visitStyleObject(definition);
259
+ return;
260
+ }
261
+ if (node.type === "JSXOpeningElement") {
262
+ var componentRoot = jsxRootName(node.name);
263
+ var accepted = options.allComponents ? componentRoot !== null && /^[A-Z]/.test(componentRoot) : componentRoot !== null && componentNames.has(componentRoot);
264
+ if (!accepted) return;
265
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
266
+ try {
267
+ for (var _iterator = (node.attributes || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
268
+ var attribute = _step.value;
269
+ if (attribute.type !== "JSXAttribute") continue;
270
+ var property = identifierName(attribute.name);
271
+ if (!property) continue;
272
+ var rawValue = attribute.value;
273
+ var valueNode = (rawValue === null || rawValue === void 0 ? void 0 : rawValue.type) === "JSXExpressionContainer" ? rawValue.expression : rawValue;
274
+ if (valueNode) pushSite(property, valueNode, "jsx-attribute");
275
+ }
276
+ } catch (err) {
277
+ _didIteratorError = true;
278
+ _iteratorError = err;
279
+ } finally {
280
+ try {
281
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
282
+ _iterator.return();
283
+ }
284
+ } finally {
285
+ if (_didIteratorError) {
286
+ throw _iteratorError;
287
+ }
288
+ }
289
+ }
290
+ }
291
+ });
292
+ sites.sort(function(a, b) {
293
+ return a.start - b.start;
294
+ });
295
+ return sites;
296
+ }
297
+
298
+ //# sourceMappingURL=extract-estree.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-estree.native.js","names":[],"sources":["cjs/extract-estree.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar extract_estree_exports = {};\n__export(extract_estree_exports, {\n extractStyleSitesFromEstree: () => extractStyleSitesFromEstree\n});\nmodule.exports = __toCommonJS(extract_estree_exports);\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction defaultIsTamaguiModule(source) {\n return source === \"tamagui\" || source.startsWith(\"tamagui/\") || source.startsWith(\"@tamagui/\");\n}\nfunction span(node) {\n if (node.range) return node.range;\n if (typeof node.start === \"number\" && typeof node.end === \"number\") {\n return [\n node.start,\n node.end\n ];\n }\n return null;\n}\nfunction staticString(node) {\n if (!node) return null;\n var at = span(node);\n if (!at) return null;\n if (node.type === \"Literal\") {\n var value = node.value;\n if (typeof value !== \"string\") return null;\n var raw = node.raw;\n if (typeof raw === \"string\" && raw.slice(1, -1) !== value) return null;\n return {\n value,\n start: at[0] + 1,\n end: at[1] - 1\n };\n }\n if (node.type === \"TemplateLiteral\") {\n var _quasis__value, _quasis_, _quasis__value1, _quasis_1;\n var expressions = node.expressions;\n var quasis = node.quasis;\n if ((expressions === null || expressions === void 0 ? void 0 : expressions.length) !== 0 || (quasis === null || quasis === void 0 ? void 0 : quasis.length) !== 1) return null;\n var cooked = (_quasis_ = quasis[0]) === null || _quasis_ === void 0 ? void 0 : (_quasis__value = _quasis_.value) === null || _quasis__value === void 0 ? void 0 : _quasis__value.cooked;\n if (typeof cooked !== \"string\") return null;\n if (((_quasis_1 = quasis[0]) === null || _quasis_1 === void 0 ? void 0 : (_quasis__value1 = _quasis_1.value) === null || _quasis__value1 === void 0 ? void 0 : _quasis__value1.raw) !== cooked) return null;\n return {\n value: cooked,\n start: at[0] + 1,\n end: at[1] - 1\n };\n }\n return null;\n}\nfunction identifierName(node) {\n if (!node) return null;\n if (node.type === \"Identifier\" || node.type === \"JSXIdentifier\") {\n return typeof node.name === \"string\" ? node.name : null;\n }\n return null;\n}\nfunction jsxRootName(name) {\n var current = name;\n while ((current === null || current === void 0 ? void 0 : current.type) === \"JSXMemberExpression\") {\n current = current.object;\n }\n return identifierName(current);\n}\nvar skipKeys = /* @__PURE__ */ new Set([\n \"parent\",\n \"loc\",\n \"range\",\n \"leadingComments\",\n \"trailingComments\"\n]);\nfunction walk(node, visit) {\n visit(node);\n for (var key in node) {\n if (skipKeys.has(key)) continue;\n var value = node[key];\n if (Array.isArray(value)) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = value[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var item = _step.value;\n if (item && (typeof item === \"undefined\" ? \"undefined\" : _type_of(item)) === \"object\" && typeof item.type === \"string\") {\n walk(item, visit);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (value && (typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) === \"object\" && typeof value.type === \"string\") {\n walk(value, visit);\n }\n }\n}\nfunction extractStyleSitesFromEstree(program) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var _options_isStyleProp;\n var isStyleProp = (_options_isStyleProp = options.isStyleProp) !== null && _options_isStyleProp !== void 0 ? _options_isStyleProp : function() {\n return true;\n };\n var _options_isTamaguiModule;\n var isTamaguiModule = (_options_isTamaguiModule = options.isTamaguiModule) !== null && _options_isTamaguiModule !== void 0 ? _options_isTamaguiModule : defaultIsTamaguiModule;\n var root = program;\n var styledBindings = /* @__PURE__ */ new Set();\n var componentNames = /* @__PURE__ */ new Set();\n walk(root, function(node) {\n if (node.type === \"ImportDeclaration\") {\n var _node_source;\n var source = (_node_source = node.source) === null || _node_source === void 0 ? void 0 : _node_source.value;\n if (typeof source !== \"string\" || !isTamaguiModule(source)) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (node.specifiers || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var specifier = _step.value;\n var local = identifierName(specifier.local);\n if (!local) continue;\n if (specifier.type === \"ImportNamespaceSpecifier\") {\n componentNames.add(local);\n continue;\n }\n if (specifier.type !== \"ImportSpecifier\") continue;\n var importedNode = specifier.imported;\n var _identifierName;\n var imported = (_identifierName = identifierName(importedNode)) !== null && _identifierName !== void 0 ? _identifierName : typeof (importedNode === null || importedNode === void 0 ? void 0 : importedNode.value) === \"string\" ? importedNode.value : null;\n if (imported === \"styled\") styledBindings.add(local);\n else if (imported && /^[A-Z]/.test(imported)) componentNames.add(local);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return;\n }\n if (node.type === \"VariableDeclarator\") {\n var name = identifierName(node.id);\n var init = node.init;\n if (name && (init === null || init === void 0 ? void 0 : init.type) === \"CallExpression\" && identifierName(init.callee) !== null && styledBindings.has(identifierName(init.callee))) {\n componentNames.add(name);\n }\n }\n });\n var sites = [];\n var pushSite = function(property, valueNode, kind) {\n if (!isStyleProp(property)) return;\n var content = staticString(valueNode);\n if (!content) return;\n sites.push({\n property,\n value: content.value,\n start: content.start,\n end: content.end,\n kind,\n node: valueNode\n });\n };\n var visitStyleObject = function(object) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (object.properties || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var member = _step.value;\n if (member.type !== \"Property\") continue;\n if (member.computed) continue;\n var key = member.key;\n var _identifierName;\n var property = (_identifierName = identifierName(key)) !== null && _identifierName !== void 0 ? _identifierName : typeof (key === null || key === void 0 ? void 0 : key.value) === \"string\" ? key.value : null;\n var value = member.value;\n if (property && isStyleProp(property)) {\n pushSite(property, value, \"styled-property\");\n continue;\n }\n if ((value === null || value === void 0 ? void 0 : value.type) === \"ObjectExpression\") {\n visitStyleObject(value);\n } else if ((value === null || value === void 0 ? void 0 : value.type) === \"ArrayExpression\") {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = (value.elements || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var element = _step1.value;\n if ((element === null || element === void 0 ? void 0 : element.type) === \"ObjectExpression\") visitStyleObject(element);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n };\n walk(root, function(node) {\n if (node.type === \"CallExpression\") {\n var _node_arguments;\n var callee = identifierName(node.callee);\n if (!callee || !styledBindings.has(callee)) return;\n var definition = (_node_arguments = node.arguments) === null || _node_arguments === void 0 ? void 0 : _node_arguments[1];\n if ((definition === null || definition === void 0 ? void 0 : definition.type) === \"ObjectExpression\") visitStyleObject(definition);\n return;\n }\n if (node.type === \"JSXOpeningElement\") {\n var componentRoot = jsxRootName(node.name);\n var accepted = options.allComponents ? componentRoot !== null && /^[A-Z]/.test(componentRoot) : componentRoot !== null && componentNames.has(componentRoot);\n if (!accepted) return;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = (node.attributes || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var attribute = _step.value;\n if (attribute.type !== \"JSXAttribute\") continue;\n var property = identifierName(attribute.name);\n if (!property) continue;\n var rawValue = attribute.value;\n var valueNode = (rawValue === null || rawValue === void 0 ? void 0 : rawValue.type) === \"JSXExpressionContainer\" ? rawValue.expression : rawValue;\n if (valueNode) pushSite(property, valueNode, \"jsx-attribute\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n });\n sites.sort(function(a, b) {\n return a.start - b.start;\n });\n return sites;\n}\n//# sourceMappingURL=extract-estree.js.map\n"],"mappings":"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"}