@tamagui/language-service 3.0.0-beta.924.1 → 3.0.0
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/README.md +25 -134
- package/dist/cjs/check.cjs +85 -10
- package/dist/cjs/check.native.cjs +138 -22
- package/dist/cjs/check.native.js +138 -22
- package/dist/cjs/check.native.js.map +1 -1
- package/dist/cjs/core.cjs +8 -4
- package/dist/cjs/core.native.cjs +10 -9
- package/dist/cjs/core.native.js +10 -9
- package/dist/cjs/core.native.js.map +1 -1
- package/dist/cjs/document.cjs +4 -3
- package/dist/cjs/document.native.cjs +5 -3
- package/dist/cjs/document.native.js +5 -3
- package/dist/cjs/document.native.js.map +1 -1
- package/dist/cjs/extract-estree.native.cjs +2 -6
- package/dist/cjs/extract-estree.native.js +2 -6
- package/dist/cjs/extract-estree.native.js.map +1 -1
- package/dist/cjs/index.cjs +5 -284
- package/dist/cjs/index.native.cjs +5 -395
- package/dist/cjs/index.native.js +5 -395
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/check.mjs +87 -12
- package/dist/esm/check.mjs.map +1 -1
- package/dist/esm/check.native.js +140 -24
- package/dist/esm/check.native.js.map +1 -1
- package/dist/esm/core.mjs +8 -4
- package/dist/esm/core.mjs.map +1 -1
- package/dist/esm/core.native.js +10 -9
- package/dist/esm/core.native.js.map +1 -1
- package/dist/esm/document.mjs +4 -3
- package/dist/esm/document.mjs.map +1 -1
- package/dist/esm/document.native.js +5 -3
- package/dist/esm/document.native.js.map +1 -1
- package/dist/esm/extract-estree.native.js +2 -6
- package/dist/esm/extract-estree.native.js.map +1 -1
- package/dist/esm/index.mjs +5 -279
- package/dist/esm/index.native.js +5 -390
- package/package.json +8 -17
- package/src/check.ts +118 -13
- package/src/core.ts +25 -6
- package/src/document.ts +21 -4
- package/src/index.ts +4 -452
- package/types/check.d.ts +4 -0
- package/types/check.d.ts.map +2 -2
- package/types/core.d.ts +7 -2
- package/types/core.d.ts.map +2 -2
- package/types/document.d.ts +8 -2
- package/types/document.d.ts.map +2 -2
- package/types/index.d.ts +4 -7
- package/types/index.d.ts.map +2 -2
- package/dist/cjs/host.cjs +0 -37
- package/dist/cjs/host.native.cjs +0 -60
- package/dist/cjs/host.native.js +0 -62
- package/dist/cjs/host.native.js.map +0 -1
- package/dist/esm/host.mjs +0 -17
- package/dist/esm/host.mjs.map +0 -1
- package/dist/esm/host.native.js +0 -38
- package/dist/esm/host.native.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/index.cjs +0 -1
- package/src/host.ts +0 -32
- package/types/host.d.ts +0 -10
- package/types/host.d.ts.map +0 -11
package/dist/esm/check.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","names":[],"sources":["esm/check.js"],"sourcesContent":["import { readdirSync, readFileSync } from \"node:fs\";\nimport { join, relative } from \"node:path\";\nimport { parse } from \"sucrase/dist/parser/index.js\";\nimport { TokenType } from \"sucrase/dist/parser/tokenizer/types.js\";\nimport { createStyleTooling } from \"./core\";\nimport {\n createDocumentStyleTooling\n} from \"./document\";\nimport { createSucraseStyleSiteExtractor } from \"./extract-sucrase\";\nconst sourceExtensions = /\\.(tsx|jsx)$/;\nconst skippedDirectories = /* @__PURE__ */ new Set([\n \"node_modules\",\n \"dist\",\n \"build\",\n \"out\",\n \"coverage\",\n \".git\",\n \".next\",\n \".expo\",\n \".tamagui\"\n]);\nclass MissingConfigArtifactError extends Error {\n constructor(configPath) {\n super(\n `no Tamagui config artifact at ${configPath} \\u2014 run your dev server or \\`tamagui generate\\` once so the compiler emits it`\n );\n this.name = \"MissingConfigArtifactError\";\n }\n}\nfunction walkSourceFiles(directory, results) {\n for (const entry of readdirSync(directory, { withFileTypes: true })) {\n if (entry.isDirectory()) {\n if (!skippedDirectories.has(entry.name) && !entry.name.startsWith(\".\")) {\n walkSourceFiles(join(directory, entry.name), results);\n }\n continue;\n }\n if (sourceExtensions.test(entry.name)) results.push(join(directory, entry.name));\n }\n}\nfunction createProjectExtractor(isStyleProp) {\n return createSucraseStyleSiteExtractor({ parse, TokenType }, { isStyleProp });\n}\nfunction checkStyleFiles(options) {\n const configPath = options.configPath ?? join(options.root, \".tamagui\", \"tamagui.config.json\");\n let contents;\n try {\n contents = readFileSync(configPath, \"utf8\");\n } catch {\n throw new MissingConfigArtifactError(configPath);\n }\n const tooling = createStyleTooling(JSON.parse(contents));\n if (!tooling) throw new MissingConfigArtifactError(configPath);\n const document = createDocumentStyleTooling(\n tooling,\n createProjectExtractor((name) => tooling.isStyleProp(name))\n );\n let files;\n if (options.files) {\n files = [...options.files];\n } else {\n files = [];\n walkSourceFiles(options.root, files);\n files.sort();\n }\n const checked = [];\n let diagnosticCount = 0;\n for (const file of files) {\n let source;\n try {\n source = readFileSync(file, \"utf8\");\n } catch {\n continue;\n }\n let diagnostics;\n try {\n diagnostics = document.diagnostics(source);\n } catch {\n continue;\n }\n if (diagnostics.length === 0) continue;\n diagnosticCount += diagnostics.length;\n checked.push({ file: relative(options.root, file), source, diagnostics });\n }\n return { files: checked, checkedFileCount: files.length, diagnosticCount };\n}\nconst ansi = {\n red: (text) => `\\x1B[31m${text}\\x1B[39m`,\n dim: (text) => `\\x1B[2m${text}\\x1B[22m`,\n bold: (text) => `\\x1B[1m${text}\\x1B[22m`,\n cyan: (text) => `\\x1B[36m${text}\\x1B[39m`\n};\nconst plain = {\n red: (text) => text,\n dim: (text) => text,\n bold: (text) => text,\n cyan: (text) => text\n};\nfunction lineStarts(source) {\n const starts = [0];\n for (let index = 0; index < source.length; index++) {\n if (source.charCodeAt(index) === 10) starts.push(index + 1);\n }\n return starts;\n}\nfunction positionOf(starts, offset) {\n let low = 0;\n let high = starts.length - 1;\n while (low < high) {\n const mid = low + high + 1 >> 1;\n if (starts[mid] <= offset) low = mid;\n else high = mid - 1;\n }\n return { line: low, column: offset - starts[low] };\n}\nfunction formatCheckResults(result, options = {}) {\n const paint = options.color === false ? plain : ansi;\n const output = [];\n for (const checked of result.files) {\n const starts = lineStarts(checked.source);\n const lines = checked.source.split(\"\\n\");\n for (const diagnostic of checked.diagnostics) {\n const start = positionOf(starts, diagnostic.start);\n const end = positionOf(starts, diagnostic.end);\n output.push(\n `${paint.bold(checked.file)}${paint.dim(`:${start.line + 1}:${start.column + 1}`)} ${paint.red(\"error\")} ${diagnostic.message}`\n );\n const line = lines[start.line] ?? \"\";\n const gutter = String(start.line + 1);\n output.push(` ${paint.dim(`${gutter} \\u2502`)} ${line}`);\n const underlineLength = end.line === start.line ? Math.max(1, end.column - start.column) : Math.max(1, line.length - start.column);\n output.push(\n ` ${paint.dim(`${\" \".repeat(gutter.length)} \\u2502`)} ${\" \".repeat(start.column)}${paint.red(\"^\".repeat(underlineLength))}`\n );\n output.push(\"\");\n }\n }\n const summary = result.diagnosticCount === 0 ? `${paint.bold(\"\\u2713\")} ${result.checkedFileCount} files, no flat value problems` : `${paint.red(paint.bold(`\\u2717 ${result.diagnosticCount} problem${result.diagnosticCount === 1 ? \"\" : \"s\"}`))} in ${result.files.length} file${result.files.length === 1 ? \"\" : \"s\"} ${paint.dim(`(${result.checkedFileCount} checked)`)}`;\n output.push(summary);\n return output.join(\"\\n\");\n}\nexport {\n MissingConfigArtifactError,\n checkStyleFiles,\n createProjectExtractor,\n formatCheckResults\n};\n//# sourceMappingURL=check.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","names":[],"sources":["esm/check.js"],"sourcesContent":["import { existsSync, readdirSync, readFileSync } from \"node:fs\";\nimport { dirname, join, relative, resolve } from \"node:path\";\nimport { spawnSync } from \"node:child_process\";\nimport { parse } from \"sucrase/dist/parser/index.js\";\nimport { TokenType } from \"sucrase/dist/parser/tokenizer/types.js\";\nimport { createStyleTooling } from \"./core\";\nimport {\n createDocumentStyleTooling\n} from \"./document\";\nimport { createSucraseStyleSiteExtractor } from \"./extract-sucrase\";\nconst sourceExtensions = /\\.(tsx|jsx)$/;\nconst skippedDirectories = /* @__PURE__ */ new Set([\n \"node_modules\",\n \"dist\",\n \"build\",\n \"out\",\n \"coverage\",\n \".git\",\n \".next\",\n \".expo\",\n \".tamagui\"\n]);\nconst projectMarkers = [\n \"tamagui.build.ts\",\n \"tamagui.build.tsx\",\n \"tamagui.build.js\",\n \"tamagui.build.mjs\",\n \"tamagui.build.cjs\"\n];\nclass MissingConfigArtifactError extends Error {\n constructor(configPath) {\n super(\n `no Tamagui config artifact at ${configPath} \\u2014 run your dev server or \\`tamagui generate\\` once so the compiler emits it`\n );\n this.name = \"MissingConfigArtifactError\";\n }\n}\nfunction walkSourceFiles(directory, root, results, skippedProjects) {\n for (const entry of readdirSync(directory, { withFileTypes: true })) {\n if (entry.isDirectory()) {\n if (skippedDirectories.has(entry.name) || entry.name.startsWith(\".\")) continue;\n const child = join(directory, entry.name);\n if (projectMarkers.some((marker) => existsSync(join(child, marker))) || existsSync(join(child, \".tamagui\", \"tamagui.config.json\"))) {\n skippedProjects.push(relative(root, child));\n continue;\n }\n walkSourceFiles(child, root, results, skippedProjects);\n continue;\n }\n if (sourceExtensions.test(entry.name)) results.push(join(directory, entry.name));\n }\n}\nfunction createProjectExtractor(isStyleProp) {\n return createSucraseStyleSiteExtractor({ parse, TokenType }, { isStyleProp });\n}\nfunction checkStyleFiles(options) {\n const root = resolve(options.root);\n const configPath = options.configPath ?? join(root, \".tamagui\", \"tamagui.config.json\");\n let contents;\n try {\n contents = readFileSync(configPath, \"utf8\");\n } catch {\n throw new MissingConfigArtifactError(configPath);\n }\n const tooling = createStyleTooling(JSON.parse(contents), {\n strictPayloads: options.strict\n });\n if (!tooling) throw new MissingConfigArtifactError(configPath);\n const document = createDocumentStyleTooling(\n tooling,\n createProjectExtractor((name) => tooling.isStyleProp(name)),\n { strictPayloads: options.strict }\n );\n let files;\n const skippedProjects = [];\n if (options.files) {\n files = [...options.files];\n } else {\n files = [];\n const insideGit = spawnSync(\"git\", [\"rev-parse\", \"--is-inside-work-tree\"], {\n cwd: root,\n encoding: \"utf8\"\n });\n if (insideGit.status === 0) {\n const listed = spawnSync(\n \"git\",\n [\n \"ls-files\",\n \"--cached\",\n \"--others\",\n \"--exclude-standard\",\n \"-z\",\n \"--\",\n \"*.tsx\",\n \"*.jsx\"\n ],\n {\n cwd: root,\n encoding: \"utf8\",\n maxBuffer: 64 * 1024 * 1024\n }\n );\n if (listed.error) throw listed.error;\n if (listed.status !== 0) {\n throw new Error(listed.stderr.trim() || \"git ls-files failed\");\n }\n const skipped = /* @__PURE__ */ new Set();\n const projectByDirectory = /* @__PURE__ */ new Map();\n for (const relativeFile of listed.stdout.split(\"\\0\")) {\n if (!relativeFile) continue;\n const file = join(root, relativeFile);\n if (!existsSync(file)) continue;\n let directory = dirname(file);\n let nestedProject = null;\n const visited = [];\n while (directory !== root) {\n if (projectByDirectory.has(directory)) {\n nestedProject = projectByDirectory.get(directory) ?? null;\n break;\n }\n visited.push(directory);\n if (projectMarkers.some((marker) => existsSync(join(directory, marker))) || existsSync(join(directory, \".tamagui\", \"tamagui.config.json\"))) {\n nestedProject = directory;\n break;\n }\n directory = dirname(directory);\n }\n for (const visitedDirectory of visited) {\n projectByDirectory.set(visitedDirectory, nestedProject);\n }\n if (nestedProject) {\n skipped.add(relative(root, nestedProject));\n } else {\n files.push(file);\n }\n }\n skippedProjects.push(...skipped);\n } else {\n walkSourceFiles(root, root, files, skippedProjects);\n }\n files.sort();\n skippedProjects.sort();\n }\n const checked = [];\n let diagnosticCount = 0;\n for (const file of files) {\n let source;\n try {\n source = readFileSync(file, \"utf8\");\n } catch {\n continue;\n }\n let diagnostics;\n try {\n diagnostics = document.diagnostics(source, void 0, {\n strictPayloads: options.strict\n });\n } catch {\n continue;\n }\n if (diagnostics.length === 0) continue;\n diagnosticCount += diagnostics.length;\n checked.push({ file: relative(root, file), source, diagnostics });\n }\n return {\n files: checked,\n checkedFileCount: files.length,\n diagnosticCount,\n skippedProjects\n };\n}\nconst ansi = {\n red: (text) => `\\x1B[31m${text}\\x1B[39m`,\n dim: (text) => `\\x1B[2m${text}\\x1B[22m`,\n bold: (text) => `\\x1B[1m${text}\\x1B[22m`,\n cyan: (text) => `\\x1B[36m${text}\\x1B[39m`\n};\nconst plain = {\n red: (text) => text,\n dim: (text) => text,\n bold: (text) => text,\n cyan: (text) => text\n};\nfunction lineStarts(source) {\n const starts = [0];\n for (let index = 0; index < source.length; index++) {\n if (source.charCodeAt(index) === 10) starts.push(index + 1);\n }\n return starts;\n}\nfunction positionOf(starts, offset) {\n let low = 0;\n let high = starts.length - 1;\n while (low < high) {\n const mid = low + high + 1 >> 1;\n if (starts[mid] <= offset) low = mid;\n else high = mid - 1;\n }\n return { line: low, column: offset - starts[low] };\n}\nfunction formatCheckResults(result, options = {}) {\n const paint = options.color === false ? plain : ansi;\n const output = [];\n for (const checked of result.files) {\n const starts = lineStarts(checked.source);\n const lines = checked.source.split(\"\\n\");\n for (const diagnostic of checked.diagnostics) {\n const start = positionOf(starts, diagnostic.start);\n const end = positionOf(starts, diagnostic.end);\n output.push(\n `${paint.bold(checked.file)}${paint.dim(`:${start.line + 1}:${start.column + 1}`)} ${paint.red(\"error\")} ${diagnostic.message}`\n );\n const line = lines[start.line] ?? \"\";\n const gutter = String(start.line + 1);\n output.push(` ${paint.dim(`${gutter} \\u2502`)} ${line}`);\n const underlineLength = end.line === start.line ? Math.max(1, end.column - start.column) : Math.max(1, line.length - start.column);\n output.push(\n ` ${paint.dim(`${\" \".repeat(gutter.length)} \\u2502`)} ${\" \".repeat(start.column)}${paint.red(\"^\".repeat(underlineLength))}`\n );\n output.push(\"\");\n }\n }\n if (result.skippedProjects.length > 0) {\n output.push(\n paint.dim(`Skipped nested Tamagui projects: ${result.skippedProjects.join(\", \")}`)\n );\n }\n const summary = result.diagnosticCount === 0 ? `${paint.bold(\"\\u2713\")} ${result.checkedFileCount} files, no flat value problems` : `${paint.red(paint.bold(`\\u2717 ${result.diagnosticCount} problem${result.diagnosticCount === 1 ? \"\" : \"s\"}`))} in ${result.files.length} file${result.files.length === 1 ? \"\" : \"s\"} ${paint.dim(`(${result.checkedFileCount} checked)`)}`;\n output.push(summary);\n return output.join(\"\\n\");\n}\nexport {\n MissingConfigArtifactError,\n checkStyleFiles,\n createProjectExtractor,\n formatCheckResults\n};\n//# sourceMappingURL=check.js.map\n"],"mappings":"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"}
|
package/dist/esm/check.native.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { readFileSync, readdirSync } from "fs";
|
|
2
|
-
import { join, relative } from "path";
|
|
1
|
+
import { existsSync, readFileSync, readdirSync } from "fs";
|
|
2
|
+
import { dirname, join, relative, resolve } from "path";
|
|
3
|
+
import { spawnSync } from "child_process";
|
|
3
4
|
import { parse } from "sucrase/dist/parser/index.js";
|
|
4
5
|
import { TokenType } from "sucrase/dist/parser/tokenizer/types.js";
|
|
5
6
|
import { createStyleTooling } from "./core.native.js";
|
|
@@ -117,6 +118,13 @@ var skippedDirectories = /* @__PURE__ */ new Set([
|
|
|
117
118
|
".expo",
|
|
118
119
|
".tamagui"
|
|
119
120
|
]);
|
|
121
|
+
var projectMarkers = [
|
|
122
|
+
"tamagui.build.ts",
|
|
123
|
+
"tamagui.build.tsx",
|
|
124
|
+
"tamagui.build.js",
|
|
125
|
+
"tamagui.build.mjs",
|
|
126
|
+
"tamagui.build.cjs"
|
|
127
|
+
];
|
|
120
128
|
var MissingConfigArtifactError = /* @__PURE__ */ (function(Error1) {
|
|
121
129
|
"use strict";
|
|
122
130
|
_inherits(MissingConfigArtifactError2, Error1);
|
|
@@ -129,19 +137,26 @@ var MissingConfigArtifactError = /* @__PURE__ */ (function(Error1) {
|
|
|
129
137
|
}
|
|
130
138
|
return MissingConfigArtifactError2;
|
|
131
139
|
})(_wrap_native_super(Error));
|
|
132
|
-
function walkSourceFiles(directory, results) {
|
|
140
|
+
function walkSourceFiles(directory, root, results, skippedProjects) {
|
|
133
141
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
134
142
|
try {
|
|
135
|
-
|
|
143
|
+
var _loop = function() {
|
|
136
144
|
var entry = _step.value;
|
|
137
145
|
if (entry.isDirectory()) {
|
|
138
|
-
if (
|
|
139
|
-
|
|
146
|
+
if (skippedDirectories.has(entry.name) || entry.name.startsWith(".")) return "continue";
|
|
147
|
+
var child = join(directory, entry.name);
|
|
148
|
+
if (projectMarkers.some(function(marker) {
|
|
149
|
+
return existsSync(join(child, marker));
|
|
150
|
+
}) || existsSync(join(child, ".tamagui", "tamagui.config.json"))) {
|
|
151
|
+
skippedProjects.push(relative(root, child));
|
|
152
|
+
return "continue";
|
|
140
153
|
}
|
|
141
|
-
|
|
154
|
+
walkSourceFiles(child, root, results, skippedProjects);
|
|
155
|
+
return "continue";
|
|
142
156
|
}
|
|
143
157
|
if (sourceExtensions.test(entry.name)) results.push(join(directory, entry.name));
|
|
144
|
-
}
|
|
158
|
+
};
|
|
159
|
+
for (var _iterator = readdirSync(directory, { withFileTypes: true })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
|
|
145
160
|
} catch (err) {
|
|
146
161
|
_didIteratorError = true;
|
|
147
162
|
_iteratorError = err;
|
|
@@ -164,33 +179,130 @@ function createProjectExtractor(isStyleProp) {
|
|
|
164
179
|
}, { isStyleProp });
|
|
165
180
|
}
|
|
166
181
|
function checkStyleFiles(options) {
|
|
182
|
+
var root = resolve(options.root);
|
|
167
183
|
var _options_configPath;
|
|
168
|
-
var configPath = (_options_configPath = options.configPath) !== null && _options_configPath !== void 0 ? _options_configPath : join(
|
|
184
|
+
var configPath = (_options_configPath = options.configPath) !== null && _options_configPath !== void 0 ? _options_configPath : join(root, ".tamagui", "tamagui.config.json");
|
|
169
185
|
var contents;
|
|
170
186
|
try {
|
|
171
187
|
contents = readFileSync(configPath, "utf8");
|
|
172
188
|
} catch (e) {
|
|
173
189
|
throw new MissingConfigArtifactError(configPath);
|
|
174
190
|
}
|
|
175
|
-
var tooling = createStyleTooling(JSON.parse(contents));
|
|
191
|
+
var tooling = createStyleTooling(JSON.parse(contents), { strictPayloads: options.strict });
|
|
176
192
|
if (!tooling) throw new MissingConfigArtifactError(configPath);
|
|
177
193
|
var document = createDocumentStyleTooling(tooling, createProjectExtractor(function(name) {
|
|
178
194
|
return tooling.isStyleProp(name);
|
|
179
|
-
}));
|
|
195
|
+
}), { strictPayloads: options.strict });
|
|
180
196
|
var files;
|
|
197
|
+
var skippedProjects = [];
|
|
181
198
|
if (options.files) {
|
|
182
199
|
files = [...options.files];
|
|
183
200
|
} else {
|
|
184
201
|
files = [];
|
|
185
|
-
|
|
202
|
+
var insideGit = spawnSync("git", ["rev-parse", "--is-inside-work-tree"], {
|
|
203
|
+
cwd: root,
|
|
204
|
+
encoding: "utf8"
|
|
205
|
+
});
|
|
206
|
+
if (insideGit.status === 0) {
|
|
207
|
+
var listed = spawnSync("git", [
|
|
208
|
+
"ls-files",
|
|
209
|
+
"--cached",
|
|
210
|
+
"--others",
|
|
211
|
+
"--exclude-standard",
|
|
212
|
+
"-z",
|
|
213
|
+
"--",
|
|
214
|
+
"*.tsx",
|
|
215
|
+
"*.jsx"
|
|
216
|
+
], {
|
|
217
|
+
cwd: root,
|
|
218
|
+
encoding: "utf8",
|
|
219
|
+
maxBuffer: 64 * 1024 * 1024
|
|
220
|
+
});
|
|
221
|
+
if (listed.error) throw listed.error;
|
|
222
|
+
if (listed.status !== 0) {
|
|
223
|
+
throw new Error(listed.stderr.trim() || "git ls-files failed");
|
|
224
|
+
}
|
|
225
|
+
var skipped = /* @__PURE__ */ new Set();
|
|
226
|
+
var projectByDirectory = /* @__PURE__ */ new Map();
|
|
227
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
228
|
+
try {
|
|
229
|
+
var _loop = function() {
|
|
230
|
+
var relativeFile = _step.value;
|
|
231
|
+
if (!relativeFile) return "continue";
|
|
232
|
+
var file2 = join(root, relativeFile);
|
|
233
|
+
if (!existsSync(file2)) return "continue";
|
|
234
|
+
var directory = dirname(file2);
|
|
235
|
+
var nestedProject = null;
|
|
236
|
+
var visited = [];
|
|
237
|
+
while (directory !== root) {
|
|
238
|
+
if (projectByDirectory.has(directory)) {
|
|
239
|
+
var _projectByDirectory_get;
|
|
240
|
+
nestedProject = (_projectByDirectory_get = projectByDirectory.get(directory)) !== null && _projectByDirectory_get !== void 0 ? _projectByDirectory_get : null;
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
visited.push(directory);
|
|
244
|
+
if (projectMarkers.some(function(marker) {
|
|
245
|
+
return existsSync(join(directory, marker));
|
|
246
|
+
}) || existsSync(join(directory, ".tamagui", "tamagui.config.json"))) {
|
|
247
|
+
nestedProject = directory;
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
directory = dirname(directory);
|
|
251
|
+
}
|
|
252
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
253
|
+
try {
|
|
254
|
+
for (var _iterator2 = visited[Symbol.iterator](), _step12; !(_iteratorNormalCompletion2 = (_step12 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
|
255
|
+
var visitedDirectory = _step12.value;
|
|
256
|
+
projectByDirectory.set(visitedDirectory, nestedProject);
|
|
257
|
+
}
|
|
258
|
+
} catch (err) {
|
|
259
|
+
_didIteratorError2 = true;
|
|
260
|
+
_iteratorError2 = err;
|
|
261
|
+
} finally {
|
|
262
|
+
try {
|
|
263
|
+
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
|
264
|
+
_iterator2.return();
|
|
265
|
+
}
|
|
266
|
+
} finally {
|
|
267
|
+
if (_didIteratorError2) {
|
|
268
|
+
throw _iteratorError2;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
if (nestedProject) {
|
|
273
|
+
skipped.add(relative(root, nestedProject));
|
|
274
|
+
} else {
|
|
275
|
+
files.push(file2);
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
for (var _iterator = listed.stdout.split("\0")[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
|
|
279
|
+
} catch (err) {
|
|
280
|
+
_didIteratorError = true;
|
|
281
|
+
_iteratorError = err;
|
|
282
|
+
} finally {
|
|
283
|
+
try {
|
|
284
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
285
|
+
_iterator.return();
|
|
286
|
+
}
|
|
287
|
+
} finally {
|
|
288
|
+
if (_didIteratorError) {
|
|
289
|
+
throw _iteratorError;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
skippedProjects.push(...skipped);
|
|
294
|
+
} else {
|
|
295
|
+
walkSourceFiles(root, root, files, skippedProjects);
|
|
296
|
+
}
|
|
186
297
|
files.sort();
|
|
298
|
+
skippedProjects.sort();
|
|
187
299
|
}
|
|
188
300
|
var checked = [];
|
|
189
301
|
var diagnosticCount = 0;
|
|
190
|
-
var
|
|
302
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
191
303
|
try {
|
|
192
|
-
for (var
|
|
193
|
-
var file =
|
|
304
|
+
for (var _iterator1 = files[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
305
|
+
var file = _step1.value;
|
|
194
306
|
var source = void 0;
|
|
195
307
|
try {
|
|
196
308
|
source = readFileSync(file, "utf8");
|
|
@@ -199,36 +311,37 @@ function checkStyleFiles(options) {
|
|
|
199
311
|
}
|
|
200
312
|
var diagnostics = void 0;
|
|
201
313
|
try {
|
|
202
|
-
diagnostics = document.diagnostics(source);
|
|
314
|
+
diagnostics = document.diagnostics(source, void 0, { strictPayloads: options.strict });
|
|
203
315
|
} catch (e) {
|
|
204
316
|
continue;
|
|
205
317
|
}
|
|
206
318
|
if (diagnostics.length === 0) continue;
|
|
207
319
|
diagnosticCount += diagnostics.length;
|
|
208
320
|
checked.push({
|
|
209
|
-
file: relative(
|
|
321
|
+
file: relative(root, file),
|
|
210
322
|
source,
|
|
211
323
|
diagnostics
|
|
212
324
|
});
|
|
213
325
|
}
|
|
214
326
|
} catch (err) {
|
|
215
|
-
|
|
216
|
-
|
|
327
|
+
_didIteratorError1 = true;
|
|
328
|
+
_iteratorError1 = err;
|
|
217
329
|
} finally {
|
|
218
330
|
try {
|
|
219
|
-
if (!
|
|
220
|
-
|
|
331
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
332
|
+
_iterator1.return();
|
|
221
333
|
}
|
|
222
334
|
} finally {
|
|
223
|
-
if (
|
|
224
|
-
throw
|
|
335
|
+
if (_didIteratorError1) {
|
|
336
|
+
throw _iteratorError1;
|
|
225
337
|
}
|
|
226
338
|
}
|
|
227
339
|
}
|
|
228
340
|
return {
|
|
229
341
|
files: checked,
|
|
230
342
|
checkedFileCount: files.length,
|
|
231
|
-
diagnosticCount
|
|
343
|
+
diagnosticCount,
|
|
344
|
+
skippedProjects
|
|
232
345
|
};
|
|
233
346
|
}
|
|
234
347
|
var ansi = {
|
|
@@ -333,6 +446,9 @@ function formatCheckResults(result) {
|
|
|
333
446
|
}
|
|
334
447
|
}
|
|
335
448
|
}
|
|
449
|
+
if (result.skippedProjects.length > 0) {
|
|
450
|
+
output.push(paint.dim(`Skipped nested Tamagui projects: ${result.skippedProjects.join(", ")}`));
|
|
451
|
+
}
|
|
336
452
|
var summary = result.diagnosticCount === 0 ? `${paint.bold("✓")} ${result.checkedFileCount} files, no flat value problems` : `${paint.red(paint.bold(`\u2717 ${result.diagnosticCount} problem${result.diagnosticCount === 1 ? "" : "s"}`))} in ${result.files.length} file${result.files.length === 1 ? "" : "s"} ${paint.dim(`(${result.checkedFileCount} checked)`)}`;
|
|
337
453
|
output.push(summary);
|
|
338
454
|
return output.join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.native.js","names":[],"sources":["esm/check.native.js"],"sourcesContent":["import { readdirSync, readFileSync } from \"fs\";\nimport { join, relative } from \"path\";\nimport { parse } from \"sucrase/dist/parser/index.js\";\nimport { TokenType } from \"sucrase/dist/parser/tokenizer/types.js\";\nimport { createStyleTooling } from \"./core\";\nimport { createDocumentStyleTooling } from \"./document\";\nimport { createSucraseStyleSiteExtractor } from \"./extract-sucrase\";\nfunction _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _call_super(_this, derived, args) {\n derived = _get_prototype_of(derived);\n return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _construct(Parent, args, Class) {\n if (_is_native_reflect_construct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function construct(Parent2, args2, Class2) {\n var a = [\n null\n ];\n a.push.apply(a, args2);\n var Constructor = Function.bind.apply(Parent2, a);\n var instance = new Constructor();\n if (Class2) _set_prototype_of(instance, Class2.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _is_native_function(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {\n o2.__proto__ = p2;\n return o2;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _wrap_native_super(Class) {\n var _cache = typeof Map === \"function\" ? /* @__PURE__ */ new Map() : void 0;\n _wrap_native_super = function wrapNativeSuper(Class2) {\n if (Class2 === null || !_is_native_function(Class2)) return Class2;\n if (typeof Class2 !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class2)) return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _get_prototype_of(this).constructor);\n }\n Wrapper.prototype = Object.create(Class2.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _set_prototype_of(Wrapper, Class2);\n };\n return _wrap_native_super(Class);\n}\nfunction _is_native_reflect_construct() {\n try {\n var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n }));\n } catch (_) {\n }\n return (_is_native_reflect_construct = function() {\n return !!result;\n })();\n}\nvar sourceExtensions = /\\.(tsx|jsx)$/;\nvar skippedDirectories = /* @__PURE__ */ new Set([\n \"node_modules\",\n \"dist\",\n \"build\",\n \"out\",\n \"coverage\",\n \".git\",\n \".next\",\n \".expo\",\n \".tamagui\"\n]);\nvar MissingConfigArtifactError = /* @__PURE__ */ (function(Error1) {\n \"use strict\";\n _inherits(MissingConfigArtifactError2, Error1);\n function MissingConfigArtifactError2(configPath) {\n _class_call_check(this, MissingConfigArtifactError2);\n var _this;\n _this = _call_super(this, MissingConfigArtifactError2, [\n `no Tamagui config artifact at ${configPath} \\u2014 run your dev server or \\`tamagui generate\\` once so the compiler emits it`\n ]);\n _this.name = \"MissingConfigArtifactError\";\n return _this;\n }\n return MissingConfigArtifactError2;\n})(_wrap_native_super(Error));\nfunction walkSourceFiles(directory, results) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = readdirSync(directory, {\n withFileTypes: true\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var entry = _step.value;\n if (entry.isDirectory()) {\n if (!skippedDirectories.has(entry.name) && !entry.name.startsWith(\".\")) {\n walkSourceFiles(join(directory, entry.name), results);\n }\n continue;\n }\n if (sourceExtensions.test(entry.name)) results.push(join(directory, entry.name));\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}\nfunction createProjectExtractor(isStyleProp) {\n return createSucraseStyleSiteExtractor({\n parse,\n TokenType\n }, {\n isStyleProp\n });\n}\nfunction checkStyleFiles(options) {\n var _options_configPath;\n var configPath = (_options_configPath = options.configPath) !== null && _options_configPath !== void 0 ? _options_configPath : join(options.root, \".tamagui\", \"tamagui.config.json\");\n var contents;\n try {\n contents = readFileSync(configPath, \"utf8\");\n } catch (e) {\n throw new MissingConfigArtifactError(configPath);\n }\n var tooling = createStyleTooling(JSON.parse(contents));\n if (!tooling) throw new MissingConfigArtifactError(configPath);\n var document = createDocumentStyleTooling(tooling, createProjectExtractor(function(name) {\n return tooling.isStyleProp(name);\n }));\n var files;\n if (options.files) {\n files = [\n ...options.files\n ];\n } else {\n files = [];\n walkSourceFiles(options.root, files);\n files.sort();\n }\n var checked = [];\n var diagnosticCount = 0;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var file = _step.value;\n var source = void 0;\n try {\n source = readFileSync(file, \"utf8\");\n } catch (e) {\n continue;\n }\n var diagnostics = void 0;\n try {\n diagnostics = document.diagnostics(source);\n } catch (e) {\n continue;\n }\n if (diagnostics.length === 0) continue;\n diagnosticCount += diagnostics.length;\n checked.push({\n file: relative(options.root, file),\n source,\n diagnostics\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 return {\n files: checked,\n checkedFileCount: files.length,\n diagnosticCount\n };\n}\nvar ansi = {\n red: function(text) {\n return `\\x1B[31m${text}\\x1B[39m`;\n },\n dim: function(text) {\n return `\\x1B[2m${text}\\x1B[22m`;\n },\n bold: function(text) {\n return `\\x1B[1m${text}\\x1B[22m`;\n },\n cyan: function(text) {\n return `\\x1B[36m${text}\\x1B[39m`;\n }\n};\nvar plain = {\n red: function(text) {\n return text;\n },\n dim: function(text) {\n return text;\n },\n bold: function(text) {\n return text;\n },\n cyan: function(text) {\n return text;\n }\n};\nfunction lineStarts(source) {\n var starts = [\n 0\n ];\n for (var index = 0; index < source.length; index++) {\n if (source.charCodeAt(index) === 10) starts.push(index + 1);\n }\n return starts;\n}\nfunction positionOf(starts, offset) {\n var low = 0;\n var high = starts.length - 1;\n while (low < high) {\n var mid = low + high + 1 >> 1;\n if (starts[mid] <= offset) low = mid;\n else high = mid - 1;\n }\n return {\n line: low,\n column: offset - starts[low]\n };\n}\nfunction formatCheckResults(result) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var paint = options.color === false ? plain : ansi;\n var output = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = result.files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var checked = _step.value;\n var starts = lineStarts(checked.source);\n var lines = checked.source.split(\"\\n\");\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = checked.diagnostics[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var diagnostic = _step1.value;\n var start = positionOf(starts, diagnostic.start);\n var end = positionOf(starts, diagnostic.end);\n output.push(`${paint.bold(checked.file)}${paint.dim(`:${start.line + 1}:${start.column + 1}`)} ${paint.red(\"error\")} ${diagnostic.message}`);\n var _lines_start_line;\n var line = (_lines_start_line = lines[start.line]) !== null && _lines_start_line !== void 0 ? _lines_start_line : \"\";\n var gutter = String(start.line + 1);\n output.push(` ${paint.dim(`${gutter} \\u2502`)} ${line}`);\n var underlineLength = end.line === start.line ? Math.max(1, end.column - start.column) : Math.max(1, line.length - start.column);\n output.push(` ${paint.dim(`${\" \".repeat(gutter.length)} \\u2502`)} ${\" \".repeat(start.column)}${paint.red(\"^\".repeat(underlineLength))}`);\n output.push(\"\");\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 } 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 var summary = result.diagnosticCount === 0 ? `${paint.bold(\"\\u2713\")} ${result.checkedFileCount} files, no flat value problems` : `${paint.red(paint.bold(`\\u2717 ${result.diagnosticCount} problem${result.diagnosticCount === 1 ? \"\" : \"s\"}`))} in ${result.files.length} file${result.files.length === 1 ? \"\" : \"s\"} ${paint.dim(`(${result.checkedFileCount} checked)`)}`;\n output.push(summary);\n return output.join(\"\\n\");\n}\nexport {\n MissingConfigArtifactError,\n checkStyleFiles,\n createProjectExtractor,\n formatCheckResults\n};\n//# sourceMappingURL=check.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.native.js","names":[],"sources":["esm/check.native.js"],"sourcesContent":["import { existsSync, readdirSync, readFileSync } from \"fs\";\nimport { dirname, join, relative, resolve } from \"path\";\nimport { spawnSync } from \"child_process\";\nimport { parse } from \"sucrase/dist/parser/index.js\";\nimport { TokenType } from \"sucrase/dist/parser/tokenizer/types.js\";\nimport { createStyleTooling } from \"./core\";\nimport { createDocumentStyleTooling } from \"./document\";\nimport { createSucraseStyleSiteExtractor } from \"./extract-sucrase\";\nfunction _assert_this_initialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _call_super(_this, derived, args) {\n derived = _get_prototype_of(derived);\n return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _construct(Parent, args, Class) {\n if (_is_native_reflect_construct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function construct(Parent2, args2, Class2) {\n var a = [\n null\n ];\n a.push.apply(a, args2);\n var Constructor = Function.bind.apply(Parent2, a);\n var instance = new Constructor();\n if (Class2) _set_prototype_of(instance, Class2.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}\nfunction _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n };\n return _get_prototype_of(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nfunction _is_native_function(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assert_this_initialized(self);\n}\nfunction _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {\n o2.__proto__ = p2;\n return o2;\n };\n return _set_prototype_of(o, p);\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _wrap_native_super(Class) {\n var _cache = typeof Map === \"function\" ? /* @__PURE__ */ new Map() : void 0;\n _wrap_native_super = function wrapNativeSuper(Class2) {\n if (Class2 === null || !_is_native_function(Class2)) return Class2;\n if (typeof Class2 !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class2)) return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _get_prototype_of(this).constructor);\n }\n Wrapper.prototype = Object.create(Class2.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _set_prototype_of(Wrapper, Class2);\n };\n return _wrap_native_super(Class);\n}\nfunction _is_native_reflect_construct() {\n try {\n var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n }));\n } catch (_) {\n }\n return (_is_native_reflect_construct = function() {\n return !!result;\n })();\n}\nvar sourceExtensions = /\\.(tsx|jsx)$/;\nvar skippedDirectories = /* @__PURE__ */ new Set([\n \"node_modules\",\n \"dist\",\n \"build\",\n \"out\",\n \"coverage\",\n \".git\",\n \".next\",\n \".expo\",\n \".tamagui\"\n]);\nvar projectMarkers = [\n \"tamagui.build.ts\",\n \"tamagui.build.tsx\",\n \"tamagui.build.js\",\n \"tamagui.build.mjs\",\n \"tamagui.build.cjs\"\n];\nvar MissingConfigArtifactError = /* @__PURE__ */ (function(Error1) {\n \"use strict\";\n _inherits(MissingConfigArtifactError2, Error1);\n function MissingConfigArtifactError2(configPath) {\n _class_call_check(this, MissingConfigArtifactError2);\n var _this;\n _this = _call_super(this, MissingConfigArtifactError2, [\n `no Tamagui config artifact at ${configPath} \\u2014 run your dev server or \\`tamagui generate\\` once so the compiler emits it`\n ]);\n _this.name = \"MissingConfigArtifactError\";\n return _this;\n }\n return MissingConfigArtifactError2;\n})(_wrap_native_super(Error));\nfunction walkSourceFiles(directory, root, results, skippedProjects) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var entry = _step.value;\n if (entry.isDirectory()) {\n if (skippedDirectories.has(entry.name) || entry.name.startsWith(\".\")) return \"continue\";\n var child = join(directory, entry.name);\n if (projectMarkers.some(function(marker) {\n return existsSync(join(child, marker));\n }) || existsSync(join(child, \".tamagui\", \"tamagui.config.json\"))) {\n skippedProjects.push(relative(root, child));\n return \"continue\";\n }\n walkSourceFiles(child, root, results, skippedProjects);\n return \"continue\";\n }\n if (sourceExtensions.test(entry.name)) results.push(join(directory, entry.name));\n };\n for (var _iterator = readdirSync(directory, {\n withFileTypes: true\n })[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\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}\nfunction createProjectExtractor(isStyleProp) {\n return createSucraseStyleSiteExtractor({\n parse,\n TokenType\n }, {\n isStyleProp\n });\n}\nfunction checkStyleFiles(options) {\n var root = resolve(options.root);\n var _options_configPath;\n var configPath = (_options_configPath = options.configPath) !== null && _options_configPath !== void 0 ? _options_configPath : join(root, \".tamagui\", \"tamagui.config.json\");\n var contents;\n try {\n contents = readFileSync(configPath, \"utf8\");\n } catch (e) {\n throw new MissingConfigArtifactError(configPath);\n }\n var tooling = createStyleTooling(JSON.parse(contents), {\n strictPayloads: options.strict\n });\n if (!tooling) throw new MissingConfigArtifactError(configPath);\n var document = createDocumentStyleTooling(tooling, createProjectExtractor(function(name) {\n return tooling.isStyleProp(name);\n }), {\n strictPayloads: options.strict\n });\n var files;\n var skippedProjects = [];\n if (options.files) {\n files = [\n ...options.files\n ];\n } else {\n files = [];\n var insideGit = spawnSync(\"git\", [\n \"rev-parse\",\n \"--is-inside-work-tree\"\n ], {\n cwd: root,\n encoding: \"utf8\"\n });\n if (insideGit.status === 0) {\n var listed = spawnSync(\"git\", [\n \"ls-files\",\n \"--cached\",\n \"--others\",\n \"--exclude-standard\",\n \"-z\",\n \"--\",\n \"*.tsx\",\n \"*.jsx\"\n ], {\n cwd: root,\n encoding: \"utf8\",\n maxBuffer: 64 * 1024 * 1024\n });\n if (listed.error) throw listed.error;\n if (listed.status !== 0) {\n throw new Error(listed.stderr.trim() || \"git ls-files failed\");\n }\n var skipped = /* @__PURE__ */ new Set();\n var projectByDirectory = /* @__PURE__ */ new Map();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var relativeFile = _step.value;\n if (!relativeFile) return \"continue\";\n var file2 = join(root, relativeFile);\n if (!existsSync(file2)) return \"continue\";\n var directory = dirname(file2);\n var nestedProject = null;\n var visited = [];\n while (directory !== root) {\n if (projectByDirectory.has(directory)) {\n var _projectByDirectory_get;\n nestedProject = (_projectByDirectory_get = projectByDirectory.get(directory)) !== null && _projectByDirectory_get !== void 0 ? _projectByDirectory_get : null;\n break;\n }\n visited.push(directory);\n if (projectMarkers.some(function(marker) {\n return existsSync(join(directory, marker));\n }) || existsSync(join(directory, \".tamagui\", \"tamagui.config.json\"))) {\n nestedProject = directory;\n break;\n }\n directory = dirname(directory);\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = visited[Symbol.iterator](), _step12; !(_iteratorNormalCompletion2 = (_step12 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var visitedDirectory = _step12.value;\n projectByDirectory.set(visitedDirectory, nestedProject);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n if (nestedProject) {\n skipped.add(relative(root, nestedProject));\n } else {\n files.push(file2);\n }\n };\n for (var _iterator = listed.stdout.split(\"\\0\")[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\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 skippedProjects.push(...skipped);\n } else {\n walkSourceFiles(root, root, files, skippedProjects);\n }\n files.sort();\n skippedProjects.sort();\n }\n var checked = [];\n var diagnosticCount = 0;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = files[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var file = _step1.value;\n var source = void 0;\n try {\n source = readFileSync(file, \"utf8\");\n } catch (e) {\n continue;\n }\n var diagnostics = void 0;\n try {\n diagnostics = document.diagnostics(source, void 0, {\n strictPayloads: options.strict\n });\n } catch (e) {\n continue;\n }\n if (diagnostics.length === 0) continue;\n diagnosticCount += diagnostics.length;\n checked.push({\n file: relative(root, file),\n source,\n diagnostics\n });\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 return {\n files: checked,\n checkedFileCount: files.length,\n diagnosticCount,\n skippedProjects\n };\n}\nvar ansi = {\n red: function(text) {\n return `\\x1B[31m${text}\\x1B[39m`;\n },\n dim: function(text) {\n return `\\x1B[2m${text}\\x1B[22m`;\n },\n bold: function(text) {\n return `\\x1B[1m${text}\\x1B[22m`;\n },\n cyan: function(text) {\n return `\\x1B[36m${text}\\x1B[39m`;\n }\n};\nvar plain = {\n red: function(text) {\n return text;\n },\n dim: function(text) {\n return text;\n },\n bold: function(text) {\n return text;\n },\n cyan: function(text) {\n return text;\n }\n};\nfunction lineStarts(source) {\n var starts = [\n 0\n ];\n for (var index = 0; index < source.length; index++) {\n if (source.charCodeAt(index) === 10) starts.push(index + 1);\n }\n return starts;\n}\nfunction positionOf(starts, offset) {\n var low = 0;\n var high = starts.length - 1;\n while (low < high) {\n var mid = low + high + 1 >> 1;\n if (starts[mid] <= offset) low = mid;\n else high = mid - 1;\n }\n return {\n line: low,\n column: offset - starts[low]\n };\n}\nfunction formatCheckResults(result) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var paint = options.color === false ? plain : ansi;\n var output = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = result.files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var checked = _step.value;\n var starts = lineStarts(checked.source);\n var lines = checked.source.split(\"\\n\");\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = checked.diagnostics[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var diagnostic = _step1.value;\n var start = positionOf(starts, diagnostic.start);\n var end = positionOf(starts, diagnostic.end);\n output.push(`${paint.bold(checked.file)}${paint.dim(`:${start.line + 1}:${start.column + 1}`)} ${paint.red(\"error\")} ${diagnostic.message}`);\n var _lines_start_line;\n var line = (_lines_start_line = lines[start.line]) !== null && _lines_start_line !== void 0 ? _lines_start_line : \"\";\n var gutter = String(start.line + 1);\n output.push(` ${paint.dim(`${gutter} \\u2502`)} ${line}`);\n var underlineLength = end.line === start.line ? Math.max(1, end.column - start.column) : Math.max(1, line.length - start.column);\n output.push(` ${paint.dim(`${\" \".repeat(gutter.length)} \\u2502`)} ${\" \".repeat(start.column)}${paint.red(\"^\".repeat(underlineLength))}`);\n output.push(\"\");\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 } 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 if (result.skippedProjects.length > 0) {\n output.push(paint.dim(`Skipped nested Tamagui projects: ${result.skippedProjects.join(\", \")}`));\n }\n var summary = result.diagnosticCount === 0 ? `${paint.bold(\"\\u2713\")} ${result.checkedFileCount} files, no flat value problems` : `${paint.red(paint.bold(`\\u2717 ${result.diagnosticCount} problem${result.diagnosticCount === 1 ? \"\" : \"s\"}`))} in ${result.files.length} file${result.files.length === 1 ? \"\" : \"s\"} ${paint.dim(`(${result.checkedFileCount} checked)`)}`;\n output.push(summary);\n return output.join(\"\\n\");\n}\nexport {\n MissingConfigArtifactError,\n checkStyleFiles,\n createProjectExtractor,\n formatCheckResults\n};\n//# sourceMappingURL=check.js.map\n"],"mappings":"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"}
|
package/dist/esm/core.mjs
CHANGED
|
@@ -39,7 +39,7 @@ function parseColor(value, opacity) {
|
|
|
39
39
|
if (opacity !== void 0) color.a = color.a * (opacity / 100);
|
|
40
40
|
return color;
|
|
41
41
|
}
|
|
42
|
-
function createStyleTooling(file) {
|
|
42
|
+
function createStyleTooling(file, toolingOptions) {
|
|
43
43
|
const serialized = file.tamaguiConfig;
|
|
44
44
|
if (!serialized) return null;
|
|
45
45
|
const config = createGrammarConfigViewFromSerializedConfig(serialized, file.tamaguiConfigMetadata);
|
|
@@ -48,7 +48,8 @@ function createStyleTooling(file) {
|
|
|
48
48
|
const engine = {
|
|
49
49
|
config,
|
|
50
50
|
registry,
|
|
51
|
-
candidates
|
|
51
|
+
candidates,
|
|
52
|
+
strictPayloads: toolingOptions?.strictPayloads
|
|
52
53
|
};
|
|
53
54
|
const styleProps = createStylePropSet(config);
|
|
54
55
|
const themes = serialized.themes || {};
|
|
@@ -113,9 +114,12 @@ function createStyleTooling(file) {
|
|
|
113
114
|
if (!styleProps.has(property)) return null;
|
|
114
115
|
return completeStyleValueAtCursor(property, value, cursor, engine);
|
|
115
116
|
},
|
|
116
|
-
diagnostics(property, value) {
|
|
117
|
+
diagnostics(property, value, diagnosticOptions) {
|
|
117
118
|
if (!styleProps.has(property)) return [];
|
|
118
|
-
return diagnoseStyleValueProgram(property, value,
|
|
119
|
+
return diagnoseStyleValueProgram(property, value, {
|
|
120
|
+
...engine,
|
|
121
|
+
strictPayloads: diagnosticOptions?.strictPayloads ?? engine.strictPayloads
|
|
122
|
+
});
|
|
119
123
|
},
|
|
120
124
|
annotations,
|
|
121
125
|
colors(property, value) {
|
package/dist/esm/core.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","names":[],"sources":["esm/core.js"],"sourcesContent":["import { normalizeCSSColor, rgba } from \"@tamagui/normalize-css-color\";\nimport {\n annotateStyleValue,\n completeStyleValueAtCursor,\n createCandidatePropertyVocabulary,\n createGrammarConfigViewFromSerializedConfig,\n createModifierRegistry,\n createStylePropSet,\n diagnoseStyleValueProgram,\n programEligibility,\n stateModifierNames\n} from \"@tamagui/style-grammar/tooling\";\nconst modifierKindLabel = {\n state: \"state modifier\",\n media: \"media modifier\",\n theme: \"theme modifier\",\n platform: \"platform modifier\",\n group: \"group modifier\",\n container: \"container modifier\"\n};\nconst modifierKindSort = {\n state: \"00\",\n group: \"01\",\n media: \"02\",\n container: \"03\",\n theme: \"04\",\n platform: \"05\"\n};\nconst stateModifierSort = new Map(\n stateModifierNames.map((name, index) => [name, index])\n);\nfunction completionSortText(completion, modifierKind) {\n if (modifierKind) {\n const stateOrder = modifierKind === \"state\" ? `${String(stateModifierSort.get(completion.value) ?? 999).padStart(3, \"0\")}:` : \"\";\n return `${modifierKindSort[modifierKind]}:${stateOrder}${completion.value}`;\n }\n return `${completion.kind === \"configured\" ? \"10\" : \"11\"}:${completion.value}`;\n}\nfunction tokenValue(entry) {\n if (entry && typeof entry === \"object\" && \"val\" in entry) {\n return entry.val;\n }\n return entry;\n}\nfunction parseColor(value, opacity) {\n if (typeof value !== \"string\") return null;\n const normalized = normalizeCSSColor(value);\n if (normalized === null) return null;\n const color = rgba(normalized);\n if (opacity !== void 0) color.a = color.a * (opacity / 100);\n return color;\n}\nfunction createStyleTooling(file) {\n const serialized = file.tamaguiConfig;\n if (!serialized) return null;\n const config = createGrammarConfigViewFromSerializedConfig(\n serialized,\n file.tamaguiConfigMetadata\n );\n const registry = createModifierRegistry(config).registry;\n const candidates = createCandidatePropertyVocabulary(config);\n const engine = { config, registry, candidates };\n const styleProps = createStylePropSet(config);\n const themes = serialized.themes || {};\n const rootThemes = Object.keys(themes).filter((name) => !name.includes(\"_\"));\n const previewThemes = [\n ...[\"light\", \"dark\"].filter((name) => rootThemes.includes(name)),\n ...rootThemes.filter((name) => name !== \"light\" && name !== \"dark\")\n ];\n const tokens = serialized.tokens || {};\n const media = serialized.media || {};\n const targetProperty = (name) => config.shorthands?.[name] || name;\n const themeValue = (name) => {\n for (const theme of previewThemes) {\n const value = themes[theme]?.[name];\n if (value !== void 0) return { theme, value };\n }\n return null;\n };\n const annotationColor = (annotation) => {\n if (annotation.kind === \"token\" || annotation.kind === \"identifier\") {\n const name = annotation.opacity !== void 0 ? annotation.text.slice(0, annotation.text.lastIndexOf(\"/\")) : annotation.text;\n if (annotation.tokenCategory === \"color\") {\n const themed = themeValue(name);\n if (themed) {\n const color2 = parseColor(themed.value, annotation.opacity);\n return color2 ? { color: color2, theme: themed.theme } : null;\n }\n const color = parseColor(tokenValue(tokens.color?.[name]), annotation.opacity);\n return color ? { color } : null;\n }\n if (annotation.kind === \"identifier\") {\n const color = parseColor(name);\n return color ? { color } : null;\n }\n return null;\n }\n if (annotation.kind === \"keyword\" && annotation.text === \"transparent\") {\n return { color: { r: 0, g: 0, b: 0, a: 0 } };\n }\n return null;\n };\n const annotations = (property, value) => annotateStyleValue(property, value, engine);\n const formatRgba = (color) => color.a === 1 ? `rgb(${color.r}, ${color.g}, ${color.b})` : `rgba(${color.r}, ${color.g}, ${color.b}, ${Number(color.a.toFixed(3))})`;\n return {\n styleProps,\n engine,\n previewThemes,\n isStyleProp: (name) => styleProps.has(name),\n targetProperty,\n modifierKind: (name) => registry.get(name),\n completions(property, value, cursor) {\n const target = targetProperty(property);\n if (programEligibility(target) === \"legacy-part\") return null;\n if (!styleProps.has(property)) return null;\n return completeStyleValueAtCursor(property, value, cursor, engine);\n },\n diagnostics(property, value) {\n if (!styleProps.has(property)) return [];\n return diagnoseStyleValueProgram(property, value, engine);\n },\n annotations,\n colors(property, value) {\n if (!styleProps.has(property)) return [];\n const results = [];\n for (const annotation of annotations(property, value)) {\n const resolved = annotationColor(annotation);\n if (!resolved) continue;\n results.push({\n start: annotation.start,\n end: annotation.end,\n text: annotation.text,\n color: resolved.color,\n ...resolved.theme !== void 0 && { theme: resolved.theme }\n });\n }\n return results;\n },\n hover(property, value, offset) {\n if (!styleProps.has(property)) return null;\n const annotation = annotations(property, value).find(\n (entry) => offset >= entry.start && offset <= entry.end\n );\n if (!annotation) return null;\n const lines = [];\n let color;\n if (annotation.kind === \"modifier\" && annotation.modifierKind) {\n lines.push(\n `**${annotation.text}** \\xB7 Tamagui ${modifierKindLabel[annotation.modifierKind]}`\n );\n if (annotation.modifierKind === \"media\") {\n const query = media[annotation.text];\n if (query !== void 0) {\n lines.push(\"```json\\n\" + JSON.stringify(query) + \"\\n```\");\n }\n }\n } else if (annotation.kind === \"token\") {\n const name = annotation.opacity !== void 0 ? annotation.text.slice(0, annotation.text.lastIndexOf(\"/\")) : annotation.text;\n if (annotation.tokenCategory === \"color\") {\n lines.push(`**${name}** \\xB7 Tamagui color`);\n let shown = 0;\n for (const theme of previewThemes) {\n const value2 = themes[theme]?.[name];\n if (value2 === void 0 || shown >= 4) continue;\n shown++;\n lines.push(`- ${theme}: \\`${String(value2)}\\``);\n }\n if (shown === 0) {\n const value2 = tokenValue(tokens.color?.[name]);\n if (value2 !== void 0) lines.push(`- \\`${String(value2)}\\``);\n }\n if (annotation.opacity !== void 0) {\n lines.push(`- opacity: ${annotation.opacity}%`);\n }\n } else {\n const value2 = tokenValue(tokens[annotation.tokenCategory || \"\"]?.[name]);\n lines.push(\n `**${name}** \\xB7 Tamagui ${annotation.tokenCategory} token` + (value2 !== void 0 ? ` = \\`${String(value2)}\\`` : \"\")\n );\n }\n const resolved = annotationColor(annotation);\n if (resolved) {\n color = resolved.color;\n lines.push(`- resolves: \\`${formatRgba(resolved.color)}\\``);\n }\n } else if (annotation.kind === \"keyword\") {\n lines.push(\n `**${annotation.text}** \\xB7 CSS keyword` + (annotation.property ? ` for \\`${annotation.property}\\`` : \"\")\n );\n } else {\n const resolved = annotationColor(annotation);\n if (!resolved) return null;\n color = resolved.color;\n lines.push(\n `**${annotation.text}** \\xB7 CSS color = \\`${formatRgba(resolved.color)}\\``\n );\n }\n return {\n start: annotation.start,\n end: annotation.end,\n text: annotation.text,\n markdown: lines.join(\"\\n\\n\"),\n ...color !== void 0 && { color }\n };\n }\n };\n}\nexport {\n completionSortText,\n createStyleTooling\n};\n//# sourceMappingURL=core.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","names":[],"sources":["esm/core.js"],"sourcesContent":["import { normalizeCSSColor, rgba } from \"@tamagui/normalize-css-color\";\nimport {\n annotateStyleValue,\n completeStyleValueAtCursor,\n createCandidatePropertyVocabulary,\n createGrammarConfigViewFromSerializedConfig,\n createModifierRegistry,\n createStylePropSet,\n diagnoseStyleValueProgram,\n programEligibility,\n stateModifierNames\n} from \"@tamagui/style-grammar/tooling\";\nconst modifierKindLabel = {\n state: \"state modifier\",\n media: \"media modifier\",\n theme: \"theme modifier\",\n platform: \"platform modifier\",\n group: \"group modifier\",\n container: \"container modifier\"\n};\nconst modifierKindSort = {\n state: \"00\",\n group: \"01\",\n media: \"02\",\n container: \"03\",\n theme: \"04\",\n platform: \"05\"\n};\nconst stateModifierSort = new Map(\n stateModifierNames.map((name, index) => [name, index])\n);\nfunction completionSortText(completion, modifierKind) {\n if (modifierKind) {\n const stateOrder = modifierKind === \"state\" ? `${String(stateModifierSort.get(completion.value) ?? 999).padStart(3, \"0\")}:` : \"\";\n return `${modifierKindSort[modifierKind]}:${stateOrder}${completion.value}`;\n }\n return `${completion.kind === \"configured\" ? \"10\" : \"11\"}:${completion.value}`;\n}\nfunction tokenValue(entry) {\n if (entry && typeof entry === \"object\" && \"val\" in entry) {\n return entry.val;\n }\n return entry;\n}\nfunction parseColor(value, opacity) {\n if (typeof value !== \"string\") return null;\n const normalized = normalizeCSSColor(value);\n if (normalized === null) return null;\n const color = rgba(normalized);\n if (opacity !== void 0) color.a = color.a * (opacity / 100);\n return color;\n}\nfunction createStyleTooling(file, toolingOptions) {\n const serialized = file.tamaguiConfig;\n if (!serialized) return null;\n const config = createGrammarConfigViewFromSerializedConfig(\n serialized,\n file.tamaguiConfigMetadata\n );\n const registry = createModifierRegistry(config).registry;\n const candidates = createCandidatePropertyVocabulary(config);\n const engine = {\n config,\n registry,\n candidates,\n strictPayloads: toolingOptions?.strictPayloads\n };\n const styleProps = createStylePropSet(config);\n const themes = serialized.themes || {};\n const rootThemes = Object.keys(themes).filter((name) => !name.includes(\"_\"));\n const previewThemes = [\n ...[\"light\", \"dark\"].filter((name) => rootThemes.includes(name)),\n ...rootThemes.filter((name) => name !== \"light\" && name !== \"dark\")\n ];\n const tokens = serialized.tokens || {};\n const media = serialized.media || {};\n const targetProperty = (name) => config.shorthands?.[name] || name;\n const themeValue = (name) => {\n for (const theme of previewThemes) {\n const value = themes[theme]?.[name];\n if (value !== void 0) return { theme, value };\n }\n return null;\n };\n const annotationColor = (annotation) => {\n if (annotation.kind === \"token\" || annotation.kind === \"identifier\") {\n const name = annotation.opacity !== void 0 ? annotation.text.slice(0, annotation.text.lastIndexOf(\"/\")) : annotation.text;\n if (annotation.tokenCategory === \"color\") {\n const themed = themeValue(name);\n if (themed) {\n const color2 = parseColor(themed.value, annotation.opacity);\n return color2 ? { color: color2, theme: themed.theme } : null;\n }\n const color = parseColor(tokenValue(tokens.color?.[name]), annotation.opacity);\n return color ? { color } : null;\n }\n if (annotation.kind === \"identifier\") {\n const color = parseColor(name);\n return color ? { color } : null;\n }\n return null;\n }\n if (annotation.kind === \"keyword\" && annotation.text === \"transparent\") {\n return { color: { r: 0, g: 0, b: 0, a: 0 } };\n }\n return null;\n };\n const annotations = (property, value) => annotateStyleValue(property, value, engine);\n const formatRgba = (color) => color.a === 1 ? `rgb(${color.r}, ${color.g}, ${color.b})` : `rgba(${color.r}, ${color.g}, ${color.b}, ${Number(color.a.toFixed(3))})`;\n return {\n styleProps,\n engine,\n previewThemes,\n isStyleProp: (name) => styleProps.has(name),\n targetProperty,\n modifierKind: (name) => registry.get(name),\n completions(property, value, cursor) {\n const target = targetProperty(property);\n if (programEligibility(target) === \"legacy-part\") return null;\n if (!styleProps.has(property)) return null;\n return completeStyleValueAtCursor(property, value, cursor, engine);\n },\n diagnostics(property, value, diagnosticOptions) {\n if (!styleProps.has(property)) return [];\n return diagnoseStyleValueProgram(property, value, {\n ...engine,\n strictPayloads: diagnosticOptions?.strictPayloads ?? engine.strictPayloads\n });\n },\n annotations,\n colors(property, value) {\n if (!styleProps.has(property)) return [];\n const results = [];\n for (const annotation of annotations(property, value)) {\n const resolved = annotationColor(annotation);\n if (!resolved) continue;\n results.push({\n start: annotation.start,\n end: annotation.end,\n text: annotation.text,\n color: resolved.color,\n ...resolved.theme !== void 0 && { theme: resolved.theme }\n });\n }\n return results;\n },\n hover(property, value, offset) {\n if (!styleProps.has(property)) return null;\n const annotation = annotations(property, value).find(\n (entry) => offset >= entry.start && offset <= entry.end\n );\n if (!annotation) return null;\n const lines = [];\n let color;\n if (annotation.kind === \"modifier\" && annotation.modifierKind) {\n lines.push(\n `**${annotation.text}** \\xB7 Tamagui ${modifierKindLabel[annotation.modifierKind]}`\n );\n if (annotation.modifierKind === \"media\") {\n const query = media[annotation.text];\n if (query !== void 0) {\n lines.push(\"```json\\n\" + JSON.stringify(query) + \"\\n```\");\n }\n }\n } else if (annotation.kind === \"token\") {\n const name = annotation.opacity !== void 0 ? annotation.text.slice(0, annotation.text.lastIndexOf(\"/\")) : annotation.text;\n if (annotation.tokenCategory === \"color\") {\n lines.push(`**${name}** \\xB7 Tamagui color`);\n let shown = 0;\n for (const theme of previewThemes) {\n const value2 = themes[theme]?.[name];\n if (value2 === void 0 || shown >= 4) continue;\n shown++;\n lines.push(`- ${theme}: \\`${String(value2)}\\``);\n }\n if (shown === 0) {\n const value2 = tokenValue(tokens.color?.[name]);\n if (value2 !== void 0) lines.push(`- \\`${String(value2)}\\``);\n }\n if (annotation.opacity !== void 0) {\n lines.push(`- opacity: ${annotation.opacity}%`);\n }\n } else {\n const value2 = tokenValue(tokens[annotation.tokenCategory || \"\"]?.[name]);\n lines.push(\n `**${name}** \\xB7 Tamagui ${annotation.tokenCategory} token` + (value2 !== void 0 ? ` = \\`${String(value2)}\\`` : \"\")\n );\n }\n const resolved = annotationColor(annotation);\n if (resolved) {\n color = resolved.color;\n lines.push(`- resolves: \\`${formatRgba(resolved.color)}\\``);\n }\n } else if (annotation.kind === \"keyword\") {\n lines.push(\n `**${annotation.text}** \\xB7 CSS keyword` + (annotation.property ? ` for \\`${annotation.property}\\`` : \"\")\n );\n } else {\n const resolved = annotationColor(annotation);\n if (!resolved) return null;\n color = resolved.color;\n lines.push(\n `**${annotation.text}** \\xB7 CSS color = \\`${formatRgba(resolved.color)}\\``\n );\n }\n return {\n start: annotation.start,\n end: annotation.end,\n text: annotation.text,\n markdown: lines.join(\"\\n\\n\"),\n ...color !== void 0 && { color }\n };\n }\n };\n}\nexport {\n completionSortText,\n createStyleTooling\n};\n//# sourceMappingURL=core.js.map\n"],"mappings":"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"}
|
package/dist/esm/core.native.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { normalizeCSSColor, rgba } from "@tamagui/normalize-css-color";
|
|
2
2
|
import { annotateStyleValue, completeStyleValueAtCursor, createCandidatePropertyVocabulary, createGrammarConfigViewFromSerializedConfig, createModifierRegistry, createStylePropSet, diagnoseStyleValueProgram, programEligibility, stateModifierNames } from "@tamagui/style-grammar/tooling";
|
|
3
3
|
|
|
4
|
-
function _type_of(obj) {
|
|
5
|
-
"@swc/helpers - typeof";
|
|
6
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
7
|
-
}
|
|
8
4
|
var modifierKindLabel = {
|
|
9
5
|
state: "state modifier",
|
|
10
6
|
media: "media modifier",
|
|
@@ -33,7 +29,7 @@ function completionSortText(completion, modifierKind) {
|
|
|
33
29
|
return `${completion.kind === "configured" ? "10" : "11"}:${completion.value}`;
|
|
34
30
|
}
|
|
35
31
|
function tokenValue(entry) {
|
|
36
|
-
if (entry &&
|
|
32
|
+
if (entry && typeof entry === "object" && "val" in entry) {
|
|
37
33
|
return entry.val;
|
|
38
34
|
}
|
|
39
35
|
return entry;
|
|
@@ -46,7 +42,7 @@ function parseColor(value, opacity) {
|
|
|
46
42
|
if (opacity !== void 0) color.a = color.a * (opacity / 100);
|
|
47
43
|
return color;
|
|
48
44
|
}
|
|
49
|
-
function createStyleTooling(file) {
|
|
45
|
+
function createStyleTooling(file, toolingOptions) {
|
|
50
46
|
var serialized = file.tamaguiConfig;
|
|
51
47
|
if (!serialized) return null;
|
|
52
48
|
var config = createGrammarConfigViewFromSerializedConfig(serialized, file.tamaguiConfigMetadata);
|
|
@@ -55,7 +51,8 @@ function createStyleTooling(file) {
|
|
|
55
51
|
var engine = {
|
|
56
52
|
config,
|
|
57
53
|
registry,
|
|
58
|
-
candidates
|
|
54
|
+
candidates,
|
|
55
|
+
strictPayloads: toolingOptions === null || toolingOptions === void 0 ? void 0 : toolingOptions.strictPayloads
|
|
59
56
|
};
|
|
60
57
|
var styleProps = createStylePropSet(config);
|
|
61
58
|
var themes = serialized.themes || {};
|
|
@@ -156,9 +153,13 @@ function createStyleTooling(file) {
|
|
|
156
153
|
if (!styleProps.has(property)) return null;
|
|
157
154
|
return completeStyleValueAtCursor(property, value, cursor, engine);
|
|
158
155
|
},
|
|
159
|
-
diagnostics(property, value) {
|
|
156
|
+
diagnostics(property, value, diagnosticOptions) {
|
|
160
157
|
if (!styleProps.has(property)) return [];
|
|
161
|
-
|
|
158
|
+
var _diagnosticOptions_strictPayloads;
|
|
159
|
+
return diagnoseStyleValueProgram(property, value, {
|
|
160
|
+
...engine,
|
|
161
|
+
strictPayloads: (_diagnosticOptions_strictPayloads = diagnosticOptions === null || diagnosticOptions === void 0 ? void 0 : diagnosticOptions.strictPayloads) !== null && _diagnosticOptions_strictPayloads !== void 0 ? _diagnosticOptions_strictPayloads : engine.strictPayloads
|
|
162
|
+
});
|
|
162
163
|
},
|
|
163
164
|
annotations,
|
|
164
165
|
colors(property, value) {
|