@tamagui/static 1.114.3 → 1.115.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/dist/check-dep-versions.cjs +267 -0
- package/dist/checkDeps.cjs +32 -0
- package/dist/{constants.js → constants.cjs} +29 -14
- package/dist/exports.cjs +40 -0
- package/dist/extractor/accessSafe.cjs +46 -0
- package/dist/extractor/babelParse.cjs +54 -0
- package/dist/extractor/buildClassName.cjs +62 -0
- package/dist/extractor/bundle.cjs +146 -0
- package/dist/extractor/bundleConfig.cjs +322 -0
- package/dist/extractor/{createEvaluator.js → createEvaluator.cjs} +37 -21
- package/dist/extractor/createExtractor.cjs +1008 -0
- package/dist/extractor/createLogger.cjs +45 -0
- package/dist/extractor/ensureImportingConcat.cjs +48 -0
- package/dist/extractor/esbuildAliasPlugin.cjs +44 -0
- package/dist/extractor/evaluateAstNode.cjs +83 -0
- package/dist/extractor/extractHelpers.cjs +120 -0
- package/dist/extractor/extractMediaStyle.cjs +129 -0
- package/dist/extractor/extractToClassNames.cjs +254 -0
- package/dist/extractor/extractToNative.cjs +274 -0
- package/dist/extractor/findTopmostFunction.cjs +34 -0
- package/dist/extractor/generatedUid.cjs +47 -0
- package/dist/extractor/getPrefixLogs.cjs +28 -0
- package/dist/extractor/getPropValueFromAttributes.cjs +67 -0
- package/dist/extractor/getSourceModule.cjs +68 -0
- package/dist/extractor/{getStaticBindingsForScope.js → getStaticBindingsForScope.cjs} +66 -61
- package/dist/extractor/{getTamaguiConfigPathFromOptionsConfig.js → getTamaguiConfigPathFromOptionsConfig.cjs} +16 -11
- package/dist/extractor/{hoistClassNames.js → hoistClassNames.cjs} +31 -32
- package/dist/extractor/{literalToAst.js → literalToAst.cjs} +38 -44
- package/dist/extractor/{loadFile.js → loadFile.cjs} +3 -6
- package/dist/extractor/{loadTamagui.js → loadTamagui.cjs} +99 -78
- package/dist/extractor/logLines.cjs +35 -0
- package/dist/extractor/{normalizeTernaries.js → normalizeTernaries.cjs} +38 -29
- package/dist/extractor/{propsToFontFamilyCache.js → propsToFontFamilyCache.cjs} +18 -14
- package/dist/extractor/regenerateConfig.cjs +144 -0
- package/dist/extractor/{removeUnusedHooks.js → removeUnusedHooks.cjs} +31 -27
- package/dist/extractor/{timer.js → timer.cjs} +16 -11
- package/dist/extractor/{validHTMLAttributes.js → validHTMLAttributes.cjs} +16 -11
- package/dist/extractor/{watchTamaguiConfig.js → watchTamaguiConfig.cjs} +30 -29
- package/dist/{getPragmaOptions.js → getPragmaOptions.cjs} +22 -17
- package/dist/helpers/memoize.cjs +37 -0
- package/dist/helpers/requireTamaguiCore.cjs +33 -0
- package/dist/index.cjs +40 -0
- package/dist/registerRequire.cjs +102 -0
- package/dist/{server.js → server.cjs} +38 -21
- package/dist/setup.cjs +0 -0
- package/dist/types.cjs +16 -0
- package/package.json +18 -16
- package/dist/check-dep-versions.js +0 -389
- package/dist/checkDeps.js +0 -26
- package/dist/exports.js +0 -33
- package/dist/extractor/accessSafe.js +0 -47
- package/dist/extractor/babelParse.js +0 -59
- package/dist/extractor/buildClassName.js +0 -72
- package/dist/extractor/bundle.js +0 -133
- package/dist/extractor/bundleConfig.js +0 -350
- package/dist/extractor/createExtractor.js +0 -1217
- package/dist/extractor/createLogger.js +0 -32
- package/dist/extractor/ensureImportingConcat.js +0 -50
- package/dist/extractor/esbuildAliasPlugin.js +0 -36
- package/dist/extractor/evaluateAstNode.js +0 -99
- package/dist/extractor/extractHelpers.js +0 -109
- package/dist/extractor/extractMediaStyle.js +0 -123
- package/dist/extractor/extractToClassNames.js +0 -291
- package/dist/extractor/extractToNative.js +0 -319
- package/dist/extractor/findTopmostFunction.js +0 -32
- package/dist/extractor/generatedUid.js +0 -42
- package/dist/extractor/getPrefixLogs.js +0 -23
- package/dist/extractor/getPropValueFromAttributes.js +0 -65
- package/dist/extractor/getSourceModule.js +0 -66
- package/dist/extractor/logLines.js +0 -30
- package/dist/extractor/regenerateConfig.js +0 -111
- package/dist/helpers/memoize.js +0 -33
- package/dist/helpers/requireTamaguiCore.js +0 -30
- package/dist/index.js +0 -30
- package/dist/registerRequire.js +0 -96
- package/dist/setup.js +0 -1
- package/dist/types.js +0 -14
- /package/dist/{check-dep-versions.js.map → check-dep-versions.cjs.map} +0 -0
- /package/dist/{checkDeps.js.map → checkDeps.cjs.map} +0 -0
- /package/dist/{constants.js.map → constants.cjs.map} +0 -0
- /package/dist/{exports.js.map → exports.cjs.map} +0 -0
- /package/dist/extractor/{accessSafe.js.map → accessSafe.cjs.map} +0 -0
- /package/dist/extractor/{babelParse.js.map → babelParse.cjs.map} +0 -0
- /package/dist/extractor/{buildClassName.js.map → buildClassName.cjs.map} +0 -0
- /package/dist/extractor/{bundle.js.map → bundle.cjs.map} +0 -0
- /package/dist/extractor/{bundleConfig.js.map → bundleConfig.cjs.map} +0 -0
- /package/dist/extractor/{createEvaluator.js.map → createEvaluator.cjs.map} +0 -0
- /package/dist/extractor/{createExtractor.js.map → createExtractor.cjs.map} +0 -0
- /package/dist/extractor/{createLogger.js.map → createLogger.cjs.map} +0 -0
- /package/dist/extractor/{ensureImportingConcat.js.map → ensureImportingConcat.cjs.map} +0 -0
- /package/dist/extractor/{esbuildAliasPlugin.js.map → esbuildAliasPlugin.cjs.map} +0 -0
- /package/dist/extractor/{evaluateAstNode.js.map → evaluateAstNode.cjs.map} +0 -0
- /package/dist/extractor/{extractHelpers.js.map → extractHelpers.cjs.map} +0 -0
- /package/dist/extractor/{extractMediaStyle.js.map → extractMediaStyle.cjs.map} +0 -0
- /package/dist/extractor/{extractToClassNames.js.map → extractToClassNames.cjs.map} +0 -0
- /package/dist/extractor/{extractToNative.js.map → extractToNative.cjs.map} +0 -0
- /package/dist/extractor/{findTopmostFunction.js.map → findTopmostFunction.cjs.map} +0 -0
- /package/dist/extractor/{generatedUid.js.map → generatedUid.cjs.map} +0 -0
- /package/dist/extractor/{getPrefixLogs.js.map → getPrefixLogs.cjs.map} +0 -0
- /package/dist/extractor/{getPropValueFromAttributes.js.map → getPropValueFromAttributes.cjs.map} +0 -0
- /package/dist/extractor/{getSourceModule.js.map → getSourceModule.cjs.map} +0 -0
- /package/dist/extractor/{getStaticBindingsForScope.js.map → getStaticBindingsForScope.cjs.map} +0 -0
- /package/dist/extractor/{getTamaguiConfigPathFromOptionsConfig.js.map → getTamaguiConfigPathFromOptionsConfig.cjs.map} +0 -0
- /package/dist/extractor/{hoistClassNames.js.map → hoistClassNames.cjs.map} +0 -0
- /package/dist/extractor/{literalToAst.js.map → literalToAst.cjs.map} +0 -0
- /package/dist/extractor/{loadFile.js.map → loadFile.cjs.map} +0 -0
- /package/dist/extractor/{loadTamagui.js.map → loadTamagui.cjs.map} +0 -0
- /package/dist/extractor/{logLines.js.map → logLines.cjs.map} +0 -0
- /package/dist/extractor/{normalizeTernaries.js.map → normalizeTernaries.cjs.map} +0 -0
- /package/dist/extractor/{propsToFontFamilyCache.js.map → propsToFontFamilyCache.cjs.map} +0 -0
- /package/dist/extractor/{regenerateConfig.js.map → regenerateConfig.cjs.map} +0 -0
- /package/dist/extractor/{removeUnusedHooks.js.map → removeUnusedHooks.cjs.map} +0 -0
- /package/dist/extractor/{timer.js.map → timer.cjs.map} +0 -0
- /package/dist/extractor/{validHTMLAttributes.js.map → validHTMLAttributes.cjs.map} +0 -0
- /package/dist/extractor/{watchTamaguiConfig.js.map → watchTamaguiConfig.cjs.map} +0 -0
- /package/dist/{getPragmaOptions.js.map → getPragmaOptions.cjs.map} +0 -0
- /package/dist/helpers/{memoize.js.map → memoize.cjs.map} +0 -0
- /package/dist/helpers/{requireTamaguiCore.js.map → requireTamaguiCore.cjs.map} +0 -0
- /package/dist/{index.js.map → index.cjs.map} +0 -0
- /package/dist/{registerRequire.js.map → registerRequire.cjs.map} +0 -0
- /package/dist/{server.js.map → server.cjs.map} +0 -0
- /package/dist/{setup.js.map → setup.cjs.map} +0 -0
- /package/dist/{types.js.map → types.cjs.map} +0 -0
@@ -0,0 +1,267 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
5
|
+
var __export = (target, all) => {
|
6
|
+
for (var name in all) __defProp(target, name, {
|
7
|
+
get: all[name],
|
8
|
+
enumerable: !0
|
9
|
+
});
|
10
|
+
},
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
13
|
+
get: () => from[key],
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
15
|
+
});
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
19
|
+
value: !0
|
20
|
+
}), mod);
|
21
|
+
var check_dep_versions_exports = {};
|
22
|
+
__export(check_dep_versions_exports, {
|
23
|
+
CDVC: () => CDVC
|
24
|
+
});
|
25
|
+
module.exports = __toCommonJS(check_dep_versions_exports);
|
26
|
+
var import_fast_glob = require("fast-glob"),
|
27
|
+
import_js_yaml = require("js-yaml"),
|
28
|
+
import_node_fs = require("node:fs"),
|
29
|
+
import_node_path = require("node:path");
|
30
|
+
function calculateVersionsForEachDependency(packages, depType = DEFAULT_DEP_TYPES) {
|
31
|
+
const dependenciesToVersionsSeen = /* @__PURE__ */new Map();
|
32
|
+
for (const package_ of packages) recordDependencyVersionsForPackageJson(dependenciesToVersionsSeen, package_, depType);
|
33
|
+
return dependenciesToVersionsSeen;
|
34
|
+
}
|
35
|
+
function recordDependencyVersionsForPackageJson(dependenciesToVersionsSeen, package_, depType) {
|
36
|
+
if (package_.packageJson.name && package_.packageJson.version && recordDependencyVersion(dependenciesToVersionsSeen, package_.packageJson.name, package_.packageJson.version, package_, !0), depType.includes("dependencies" /* dependencies */) && package_.packageJson.dependencies) for (const [dependency, dependencyVersion] of Object.entries(package_.packageJson.dependencies)) dependencyVersion && recordDependencyVersion(dependenciesToVersionsSeen, dependency, dependencyVersion, package_);
|
37
|
+
if (depType.includes("devDependencies" /* devDependencies */) && package_.packageJson.devDependencies) for (const [dependency, dependencyVersion] of Object.entries(package_.packageJson.devDependencies)) dependencyVersion && recordDependencyVersion(dependenciesToVersionsSeen, dependency, dependencyVersion, package_);
|
38
|
+
if (depType.includes("optionalDependencies" /* optionalDependencies */) && package_.packageJson.optionalDependencies) for (const [dependency, dependencyVersion] of Object.entries(package_.packageJson.optionalDependencies)) dependencyVersion && recordDependencyVersion(dependenciesToVersionsSeen, dependency, dependencyVersion, package_);
|
39
|
+
if (depType.includes("peerDependencies" /* peerDependencies */) && package_.packageJson.peerDependencies) for (const [dependency, dependencyVersion] of Object.entries(package_.packageJson.peerDependencies)) dependencyVersion && recordDependencyVersion(dependenciesToVersionsSeen, dependency, dependencyVersion, package_);
|
40
|
+
if (depType.includes("resolutions" /* resolutions */) && package_.packageJson.resolutions) for (const [dependency, dependencyVersion] of Object.entries(package_.packageJson.resolutions)) dependencyVersion && recordDependencyVersion(dependenciesToVersionsSeen, dependency, dependencyVersion, package_);
|
41
|
+
}
|
42
|
+
function recordDependencyVersion(dependenciesToVersionsSeen, dependency, version, package_, isLocalPackageVersion = !1) {
|
43
|
+
dependenciesToVersionsSeen.has(dependency) || dependenciesToVersionsSeen.set(dependency, []);
|
44
|
+
const list = dependenciesToVersionsSeen.get(dependency);
|
45
|
+
list && list.push({
|
46
|
+
package: package_,
|
47
|
+
version,
|
48
|
+
isLocalPackageVersion
|
49
|
+
});
|
50
|
+
}
|
51
|
+
function calculateDependenciesAndVersions(dependencyVersions) {
|
52
|
+
return [...dependencyVersions.entries()].sort((a, b) => a[0].localeCompare(b[0])).flatMap(([dependency, versionObjectsForDep]) => {
|
53
|
+
if (!versionObjectsForDep) return [];
|
54
|
+
let versions = versionObjectsForDep.filter(versionObject => !versionObject.isLocalPackageVersion).map(versionObject => versionObject.version);
|
55
|
+
const localPackageVersions = versionObjectsForDep.filter(versionObject => versionObject.isLocalPackageVersion).map(versionObject => versionObject.version),
|
56
|
+
allVersionsHaveWorkspacePrefix = versions.every(version => version.startsWith("workspace:")),
|
57
|
+
hasIncompatibilityWithLocalPackageVersion = versions.some(version => localPackageVersions[0] !== version);
|
58
|
+
localPackageVersions.length === 1 && !allVersionsHaveWorkspacePrefix && hasIncompatibilityWithLocalPackageVersion && (versions = [...versions, ...localPackageVersions]);
|
59
|
+
const uniqueVersions = [...new Set(versions)],
|
60
|
+
uniqueVersionsWithInfo = versionsObjectsWithSortedPackages(uniqueVersions, versionObjectsForDep);
|
61
|
+
return {
|
62
|
+
dependency,
|
63
|
+
versions: uniqueVersionsWithInfo
|
64
|
+
};
|
65
|
+
});
|
66
|
+
}
|
67
|
+
function versionsObjectsWithSortedPackages(versions, versionObjects) {
|
68
|
+
return versions.map(version => {
|
69
|
+
const matchingVersionObjects = versionObjects.filter(versionObject => versionObject.version === version);
|
70
|
+
return {
|
71
|
+
version,
|
72
|
+
packages: matchingVersionObjects.map(object => object.package).sort((a, b) => Package.comparator(a, b))
|
73
|
+
};
|
74
|
+
});
|
75
|
+
}
|
76
|
+
const HARDCODED_IGNORED_DEPENDENCIES = /* @__PURE__ */new Set(["//"
|
77
|
+
// May be used to add comments to package.json files.
|
78
|
+
]);
|
79
|
+
function filterOutIgnoredDependencies(mismatchingVersions, ignoredDependencies, includedDependencyPatterns) {
|
80
|
+
for (const ignoreDependency of ignoredDependencies) if (!mismatchingVersions.some(mismatchingVersion => mismatchingVersion.dependency === ignoreDependency)) throw new Error(`Specified option '--ignore-dep ${ignoreDependency}', but no version mismatches detected for this dependency.`);
|
81
|
+
return ignoredDependencies.length > 0 || includedDependencyPatterns.length > 0 || mismatchingVersions.some(mismatchingVersion => HARDCODED_IGNORED_DEPENDENCIES.has(mismatchingVersion.dependency)) ? mismatchingVersions.filter(mismatchingVersion => !ignoredDependencies.includes(mismatchingVersion.dependency) && includedDependencyPatterns.some(ignoreDependencyPattern => mismatchingVersion.dependency.match(ignoreDependencyPattern)) && !HARDCODED_IGNORED_DEPENDENCIES.has(mismatchingVersion.dependency)) : mismatchingVersions;
|
82
|
+
}
|
83
|
+
function getPackages(root, ignorePackages, ignorePackagePatterns, ignorePaths, ignorePathPatterns) {
|
84
|
+
if (!Package.exists(root)) throw new Error("No package.json found at provided path.");
|
85
|
+
const packages = accumulatePackages(root, ["."]);
|
86
|
+
for (const ignoredPackage of ignorePackages) if (!Package.some(packages, package_ => package_.name === ignoredPackage)) throw new Error(`Specified option '--ignore-package ${ignoredPackage}', but no such package detected in workspace.`);
|
87
|
+
for (const ignoredPackagePattern of ignorePackagePatterns) if (
|
88
|
+
// eslint-disable-next-line unicorn/no-array-method-this-argument,unicorn/no-array-callback-reference -- false positive
|
89
|
+
!Package.some(packages, package_ => ignoredPackagePattern.test(package_.name))) throw new Error(`Specified option '--ignore-package-pattern ${String(ignoredPackagePattern)}', but no matching packages detected in workspace.`);
|
90
|
+
for (const ignoredPath of ignorePaths) if (
|
91
|
+
// eslint-disable-next-line unicorn/no-array-method-this-argument,unicorn/no-array-callback-reference -- false positive
|
92
|
+
!Package.some(packages, package_ => package_.pathRelative.includes(ignoredPath))) throw new Error(`Specified option '--ignore-path ${ignoredPath}', but no matching paths detected in workspace.`);
|
93
|
+
for (const ignoredPathPattern of ignorePathPatterns) if (
|
94
|
+
// eslint-disable-next-line unicorn/no-array-method-this-argument,unicorn/no-array-callback-reference -- false positive
|
95
|
+
!Package.some(packages, package_ => ignoredPathPattern.test(package_.pathRelative))) throw new Error(`Specified option '--ignore-path-pattern ${String(ignoredPathPattern)}', but no matching paths detected in workspace.`);
|
96
|
+
return ignorePackages.length > 0 || ignorePackagePatterns.length > 0 || ignorePaths.length > 0 || ignorePathPatterns.length > 0 ? packages.filter(package_ => !ignorePackages.includes(package_.name) && !ignorePackagePatterns.some(ignorePackagePattern => package_.name.match(ignorePackagePattern)) && !ignorePaths.some(ignorePath => package_.pathRelative.includes(ignorePath)) && !ignorePathPatterns.some(ignorePathPattern => package_.pathRelative.match(ignorePathPattern))) : packages;
|
97
|
+
}
|
98
|
+
function expandWorkspaces(root, workspacePatterns) {
|
99
|
+
return workspacePatterns.flatMap(workspace => workspace.includes("*") ? (0, import_fast_glob.globSync)(workspace, {
|
100
|
+
onlyDirectories: !0,
|
101
|
+
cwd: root,
|
102
|
+
ignore: ["**/node_modules"]
|
103
|
+
}) : [workspace]);
|
104
|
+
}
|
105
|
+
function accumulatePackages(root, paths) {
|
106
|
+
const results = [];
|
107
|
+
for (const relativePath of paths) {
|
108
|
+
const path = (0, import_node_path.join)(root, relativePath);
|
109
|
+
if (Package.exists(path)) {
|
110
|
+
const package_ = new Package(path, root);
|
111
|
+
results.push(
|
112
|
+
// Add the current package.
|
113
|
+
package_, ...accumulatePackages(path, expandWorkspaces(path, package_.workspacePatterns)));
|
114
|
+
}
|
115
|
+
}
|
116
|
+
return results;
|
117
|
+
}
|
118
|
+
class Package {
|
119
|
+
/** Absolute path to package */
|
120
|
+
path;
|
121
|
+
/** Absolute path to workspace.*/
|
122
|
+
pathWorkspace;
|
123
|
+
/** Absolute path to package.json. */
|
124
|
+
pathPackageJson;
|
125
|
+
packageJson;
|
126
|
+
packageJsonEndsInNewline;
|
127
|
+
pnpmWorkspacePackages;
|
128
|
+
constructor(path, pathWorkspace) {
|
129
|
+
this.path = path, this.pathWorkspace = pathWorkspace, this.pathPackageJson = (0, import_node_path.join)(path, "package.json");
|
130
|
+
const packageJsonContents = (0, import_node_fs.readFileSync)(this.pathPackageJson, "utf8");
|
131
|
+
this.packageJsonEndsInNewline = packageJsonContents.endsWith(`
|
132
|
+
`), this.packageJson = JSON.parse(packageJsonContents);
|
133
|
+
const pnpmWorkspacePath = (0, import_node_path.join)(path, "pnpm-workspace.yaml");
|
134
|
+
if ((0, import_node_fs.existsSync)(pnpmWorkspacePath)) {
|
135
|
+
const pnpmWorkspaceContents = (0, import_node_fs.readFileSync)(pnpmWorkspacePath, "utf8"),
|
136
|
+
pnpmWorkspaceYaml = (0, import_js_yaml.load)(pnpmWorkspaceContents);
|
137
|
+
this.pnpmWorkspacePackages = pnpmWorkspaceYaml.packages;
|
138
|
+
}
|
139
|
+
}
|
140
|
+
get name() {
|
141
|
+
if (this.workspacePatterns.length > 0 && !this.packageJson.name) return "(Root)";
|
142
|
+
if (!this.packageJson.name) throw new Error(`${this.pathPackageJson} missing \`name\``);
|
143
|
+
return this.packageJson.name;
|
144
|
+
}
|
145
|
+
/** Relative to workspace root. */
|
146
|
+
get pathRelative() {
|
147
|
+
return (0, import_node_path.relative)(this.pathWorkspace, this.path);
|
148
|
+
}
|
149
|
+
get workspacePatterns() {
|
150
|
+
if (this.packageJson.workspaces) {
|
151
|
+
if (Array.isArray(this.packageJson.workspaces)) return this.packageJson.workspaces;
|
152
|
+
if (this.packageJson.workspaces.packages) {
|
153
|
+
if (!Array.isArray(this.packageJson.workspaces.packages)) throw new TypeError("package.json `workspaces.packages` is not a string array.");
|
154
|
+
return this.packageJson.workspaces.packages;
|
155
|
+
} else throw new TypeError("package.json `workspaces` is not a string array.");
|
156
|
+
}
|
157
|
+
if (this.pnpmWorkspacePackages) {
|
158
|
+
if (!Array.isArray(this.pnpmWorkspacePackages)) throw new TypeError("pnpm-workspace.yaml `packages` is not a string array.");
|
159
|
+
return this.pnpmWorkspacePackages;
|
160
|
+
}
|
161
|
+
return [];
|
162
|
+
}
|
163
|
+
static exists(path) {
|
164
|
+
const packageJsonPath = (0, import_node_path.join)(path, "package.json");
|
165
|
+
return (0, import_node_fs.existsSync)(packageJsonPath);
|
166
|
+
}
|
167
|
+
static some(packages, callback) {
|
168
|
+
return packages.some(package_ => callback(package_));
|
169
|
+
}
|
170
|
+
static comparator(package1, package2) {
|
171
|
+
return package1.name.localeCompare(package2.name);
|
172
|
+
}
|
173
|
+
}
|
174
|
+
var DEPENDENCY_TYPE = /* @__PURE__ */(DEPENDENCY_TYPE2 => (DEPENDENCY_TYPE2.dependencies = "dependencies", DEPENDENCY_TYPE2.devDependencies = "devDependencies", DEPENDENCY_TYPE2.optionalDependencies = "optionalDependencies", DEPENDENCY_TYPE2.peerDependencies = "peerDependencies", DEPENDENCY_TYPE2.resolutions = "resolutions", DEPENDENCY_TYPE2))(DEPENDENCY_TYPE || {});
|
175
|
+
const DEFAULT_DEP_TYPES = ["dependencies" /* dependencies */, "devDependencies" /* devDependencies */, "optionalDependencies" /* optionalDependencies */, "resolutions" /* resolutions */
|
176
|
+
// peerDependencies is not included by default, see discussion in: https://github.com/bmish/check-dependency-version-consistency/issues/402
|
177
|
+
];
|
178
|
+
function check(path) {
|
179
|
+
const options = {
|
180
|
+
includeDepPattern: ["tamagui", "react-native-web-lite", "react-native-web-internals"]
|
181
|
+
};
|
182
|
+
if (options && options.depType && options.depType.some(dt => !Object.keys(DEPENDENCY_TYPE).includes(dt))) throw new Error(`Invalid depType provided. Choices are: ${Object.keys(DEPENDENCY_TYPE).join(", ")}.`);
|
183
|
+
const optionsWithDefaults = {
|
184
|
+
fix: !1,
|
185
|
+
ignoreDep: [],
|
186
|
+
includeDepPattern: [],
|
187
|
+
ignorePackage: [],
|
188
|
+
ignorePackagePattern: [],
|
189
|
+
ignorePath: [],
|
190
|
+
ignorePathPattern: [],
|
191
|
+
...options,
|
192
|
+
// Fallback to default if no depType(s) provided.
|
193
|
+
depType: options && options.depType && options.depType.length > 0 ? options.depType : DEFAULT_DEP_TYPES
|
194
|
+
},
|
195
|
+
packages = getPackages(path, optionsWithDefaults.ignorePackage, optionsWithDefaults.ignorePackagePattern.map(s => new RegExp(s)), optionsWithDefaults.ignorePath, optionsWithDefaults.ignorePathPattern.map(s => new RegExp(s))),
|
196
|
+
dependencies = calculateVersionsForEachDependency(packages, optionsWithDefaults.depType.map(dt => DEPENDENCY_TYPE[dt])
|
197
|
+
// Convert string to enum.
|
198
|
+
),
|
199
|
+
dependenciesAndVersions = calculateDependenciesAndVersions(dependencies),
|
200
|
+
dependenciesAndVersionsWithMismatches = dependenciesAndVersions.filter(({
|
201
|
+
versions
|
202
|
+
}) => versions.length > 1),
|
203
|
+
dependenciesAndVersionsWithoutIgnored = filterOutIgnoredDependencies(dependenciesAndVersions, optionsWithDefaults.ignoreDep, optionsWithDefaults.includeDepPattern.map(s => new RegExp(s))),
|
204
|
+
dependenciesAndVersionsMismatchesWithoutIgnored = filterOutIgnoredDependencies(dependenciesAndVersionsWithMismatches, optionsWithDefaults.ignoreDep, optionsWithDefaults.includeDepPattern.map(s => new RegExp(s)));
|
205
|
+
return {
|
206
|
+
// Information about all dependencies.
|
207
|
+
dependencies: Object.fromEntries(dependenciesAndVersionsWithoutIgnored.map(({
|
208
|
+
dependency,
|
209
|
+
versions
|
210
|
+
}) => [dependency, {
|
211
|
+
isMismatching: dependenciesAndVersionsMismatchesWithoutIgnored.some(dep => dep.dependency === dependency),
|
212
|
+
versions
|
213
|
+
}]))
|
214
|
+
};
|
215
|
+
}
|
216
|
+
class CDVC {
|
217
|
+
/** An object mapping each dependency in the workspace to information including the versions found of it. */
|
218
|
+
dependencies;
|
219
|
+
/**
|
220
|
+
* @param path - path to the workspace root
|
221
|
+
* @param options
|
222
|
+
* @param options.fix - Whether to autofix inconsistencies (using latest version present)
|
223
|
+
* @param options.ignoreDep - Dependency(s) to ignore mismatches for
|
224
|
+
* @param options.includeDepPattern - RegExp(s) of dependency names to ignore mismatches for
|
225
|
+
* @param options.ignorePackage - Workspace package(s) to ignore mismatches for
|
226
|
+
* @param options.ignorePackagePattern - RegExp(s) of package names to ignore mismatches for
|
227
|
+
* @param options.ignorePath - Workspace-relative path(s) of packages to ignore mismatches for
|
228
|
+
* @param options.ignorePathPattern - RegExp(s) of workspace-relative path of packages to ignore mismatches for
|
229
|
+
*/
|
230
|
+
constructor(path) {
|
231
|
+
const {
|
232
|
+
dependencies
|
233
|
+
} = check(path);
|
234
|
+
this.dependencies = dependencies;
|
235
|
+
}
|
236
|
+
toMismatchSummary() {
|
237
|
+
return dependenciesToMismatchSummary(this.dependencies);
|
238
|
+
}
|
239
|
+
getDependencies() {
|
240
|
+
return Object.keys(this.dependencies).map(dependency => this.getDependency(dependency));
|
241
|
+
}
|
242
|
+
getDependency(name) {
|
243
|
+
return {
|
244
|
+
name,
|
245
|
+
isMismatching: this.dependencies[name].isMismatching,
|
246
|
+
versions: this.dependencies[name].versions.map(version => ({
|
247
|
+
version: version.version,
|
248
|
+
packages: version.packages.map(package_ => ({
|
249
|
+
pathRelative: package_.pathRelative
|
250
|
+
}))
|
251
|
+
}))
|
252
|
+
};
|
253
|
+
}
|
254
|
+
get hasMismatchingDependencies() {
|
255
|
+
return Object.values(this.dependencies).some(dep => dep.isMismatching);
|
256
|
+
}
|
257
|
+
}
|
258
|
+
function dependenciesToMismatchSummary(dependencies) {
|
259
|
+
const mismatchingDependencyVersions = Object.entries(dependencies).filter(([, value]) => value.isMismatching).map(([dependency, value]) => ({
|
260
|
+
dependency,
|
261
|
+
versions: value.versions
|
262
|
+
}));
|
263
|
+
if (mismatchingDependencyVersions.length === 0) return "";
|
264
|
+
const tables = mismatchingDependencyVersions.map(object => `${object.dependency} - ${object.versions.map(v => `${v.version}`).join(", ")}`).join("");
|
265
|
+
return [`Found ${mismatchingDependencyVersions.length} ${mismatchingDependencyVersions.length === 1 ? "dependency" : "dependencies"} with mismatching versions across the workspace.`, tables].join(`
|
266
|
+
`);
|
267
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
5
|
+
var __export = (target, all) => {
|
6
|
+
for (var name in all) __defProp(target, name, {
|
7
|
+
get: all[name],
|
8
|
+
enumerable: !0
|
9
|
+
});
|
10
|
+
},
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
13
|
+
get: () => from[key],
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
15
|
+
});
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
19
|
+
value: !0
|
20
|
+
}), mod);
|
21
|
+
var checkDeps_exports = {};
|
22
|
+
__export(checkDeps_exports, {
|
23
|
+
DEPENDENCY_TYPE: () => DEPENDENCY_TYPE,
|
24
|
+
checkDeps: () => checkDeps
|
25
|
+
});
|
26
|
+
module.exports = __toCommonJS(checkDeps_exports);
|
27
|
+
var import_check_dep_versions = require("./check-dep-versions.cjs"),
|
28
|
+
DEPENDENCY_TYPE = /* @__PURE__ */(DEPENDENCY_TYPE2 => (DEPENDENCY_TYPE2.dependencies = "dependencies", DEPENDENCY_TYPE2.devDependencies = "devDependencies", DEPENDENCY_TYPE2.optionalDependencies = "optionalDependencies", DEPENDENCY_TYPE2.peerDependencies = "peerDependencies", DEPENDENCY_TYPE2.resolutions = "resolutions", DEPENDENCY_TYPE2))(DEPENDENCY_TYPE || {});
|
29
|
+
async function checkDeps(root) {
|
30
|
+
const summary = new import_check_dep_versions.CDVC(root).toMismatchSummary();
|
31
|
+
summary || (console.info("Tamagui dependencies look good \u2705"), process.exit(0)), console.error(summary), process.exit(1);
|
32
|
+
}
|
@@ -2,24 +2,33 @@ var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
-
var __getProtoOf = Object.getPrototypeOf,
|
5
|
+
var __getProtoOf = Object.getPrototypeOf,
|
6
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
6
7
|
var __export = (target, all) => {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
for (var name in all) __defProp(target, name, {
|
9
|
+
get: all[name],
|
10
|
+
enumerable: !0
|
11
|
+
});
|
12
|
+
},
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
15
|
+
get: () => from[key],
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
17
|
+
});
|
18
|
+
return to;
|
19
|
+
};
|
15
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
16
21
|
// If the importer is in node compatibility mode or this is not an ESM
|
17
22
|
// file that has been converted to a CommonJS file using a Babel-
|
18
23
|
// compatible transform (i.e. "__esModule" has not been set), then set
|
19
24
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
21
|
-
|
22
|
-
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
26
|
+
value: mod,
|
27
|
+
enumerable: !0
|
28
|
+
}) : target, mod)),
|
29
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
30
|
+
value: !0
|
31
|
+
}), mod);
|
23
32
|
var constants_exports = {};
|
24
33
|
__export(constants_exports, {
|
25
34
|
CSS_FILE_NAME: () => CSS_FILE_NAME,
|
@@ -30,5 +39,11 @@ __export(constants_exports, {
|
|
30
39
|
});
|
31
40
|
module.exports = __toCommonJS(constants_exports);
|
32
41
|
var import_find_cache_dir = __toESM(require("find-cache-dir"));
|
33
|
-
const CSS_FILE_NAME = "__snack.css",
|
34
|
-
|
42
|
+
const CSS_FILE_NAME = "__snack.css",
|
43
|
+
MEDIA_SEP = "_",
|
44
|
+
cacheDir = (0, import_find_cache_dir.default)({
|
45
|
+
name: "tamagui",
|
46
|
+
create: !0
|
47
|
+
}),
|
48
|
+
FAILED_EVAL = Symbol("failed_style_eval"),
|
49
|
+
SHOULD_DEBUG = process.env.DEBUG === "*" || process.env.DEBUG?.startsWith("tamagui");
|
package/dist/exports.cjs
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
5
|
+
var __export = (target, all) => {
|
6
|
+
for (var name in all) __defProp(target, name, {
|
7
|
+
get: all[name],
|
8
|
+
enumerable: !0
|
9
|
+
});
|
10
|
+
},
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
13
|
+
get: () => from[key],
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
15
|
+
});
|
16
|
+
return to;
|
17
|
+
},
|
18
|
+
__reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
19
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
20
|
+
value: !0
|
21
|
+
}), mod);
|
22
|
+
var exports_exports = {};
|
23
|
+
__export(exports_exports, {
|
24
|
+
createExtractor: () => import_createExtractor.createExtractor,
|
25
|
+
literalToAst: () => import_literalToAst.literalToAst
|
26
|
+
});
|
27
|
+
module.exports = __toCommonJS(exports_exports);
|
28
|
+
__reExport(exports_exports, require("./checkDeps.cjs"), module.exports);
|
29
|
+
__reExport(exports_exports, require("./types.cjs"), module.exports);
|
30
|
+
var import_createExtractor = require("./extractor/createExtractor.cjs"),
|
31
|
+
import_literalToAst = require("./extractor/literalToAst.cjs");
|
32
|
+
__reExport(exports_exports, require("./constants.cjs"), module.exports);
|
33
|
+
__reExport(exports_exports, require("./extractor/extractToClassNames.cjs"), module.exports);
|
34
|
+
__reExport(exports_exports, require("./extractor/extractToNative.cjs"), module.exports);
|
35
|
+
__reExport(exports_exports, require("./extractor/extractHelpers.cjs"), module.exports);
|
36
|
+
__reExport(exports_exports, require("./extractor/loadTamagui.cjs"), module.exports);
|
37
|
+
__reExport(exports_exports, require("./extractor/watchTamaguiConfig.cjs"), module.exports);
|
38
|
+
__reExport(exports_exports, require("./extractor/createLogger.cjs"), module.exports);
|
39
|
+
__reExport(exports_exports, require("./registerRequire.cjs"), module.exports);
|
40
|
+
__reExport(exports_exports, require("./getPragmaOptions.cjs"), module.exports);
|
@@ -0,0 +1,46 @@
|
|
1
|
+
var __create = Object.create;
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __getProtoOf = Object.getPrototypeOf,
|
6
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
7
|
+
var __export = (target, all) => {
|
8
|
+
for (var name in all) __defProp(target, name, {
|
9
|
+
get: all[name],
|
10
|
+
enumerable: !0
|
11
|
+
});
|
12
|
+
},
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
15
|
+
get: () => from[key],
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
17
|
+
});
|
18
|
+
return to;
|
19
|
+
};
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
26
|
+
value: mod,
|
27
|
+
enumerable: !0
|
28
|
+
}) : target, mod)),
|
29
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
30
|
+
value: !0
|
31
|
+
}), mod);
|
32
|
+
var accessSafe_exports = {};
|
33
|
+
__export(accessSafe_exports, {
|
34
|
+
accessSafe: () => accessSafe
|
35
|
+
});
|
36
|
+
module.exports = __toCommonJS(accessSafe_exports);
|
37
|
+
var t = __toESM(require("@babel/types"));
|
38
|
+
function accessSafe(obj, member) {
|
39
|
+
return t.logicalExpression("&&", t.logicalExpression("&&",
|
40
|
+
// typeof obj === 'object
|
41
|
+
t.binaryExpression("===", t.unaryExpression("typeof", obj), t.stringLiteral("object")),
|
42
|
+
// obj !== null
|
43
|
+
t.binaryExpression("!==", obj, t.nullLiteral())),
|
44
|
+
// obj.member
|
45
|
+
t.memberExpression(obj, t.identifier(member), !1));
|
46
|
+
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
var __create = Object.create;
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __getProtoOf = Object.getPrototypeOf,
|
6
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
7
|
+
var __export = (target, all) => {
|
8
|
+
for (var name in all) __defProp(target, name, {
|
9
|
+
get: all[name],
|
10
|
+
enumerable: !0
|
11
|
+
});
|
12
|
+
},
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
15
|
+
get: () => from[key],
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
17
|
+
});
|
18
|
+
return to;
|
19
|
+
};
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
26
|
+
value: mod,
|
27
|
+
enumerable: !0
|
28
|
+
}) : target, mod)),
|
29
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
30
|
+
value: !0
|
31
|
+
}), mod);
|
32
|
+
var babelParse_exports = {};
|
33
|
+
__export(babelParse_exports, {
|
34
|
+
babelParse: () => babelParse,
|
35
|
+
parserOptions: () => parserOptions
|
36
|
+
});
|
37
|
+
module.exports = __toCommonJS(babelParse_exports);
|
38
|
+
var babelParser = __toESM(require("@babel/parser"));
|
39
|
+
const plugins = ["asyncGenerators", "classProperties", "dynamicImport", "functionBind", "jsx", "numericSeparator", "objectRestSpread", "optionalCatchBinding", "decorators-legacy", "typescript", "optionalChaining", "nullishCoalescingOperator"],
|
40
|
+
parserOptions = Object.freeze({
|
41
|
+
plugins,
|
42
|
+
sourceType: "module"
|
43
|
+
}),
|
44
|
+
parser = babelParser.parse.bind(babelParser);
|
45
|
+
function babelParse(code, fileName) {
|
46
|
+
const codeString = code.toString();
|
47
|
+
try {
|
48
|
+
return parser(codeString, parserOptions);
|
49
|
+
} catch (err) {
|
50
|
+
throw new Error(`Error parsing babel: ${err} in ${fileName}, code:
|
51
|
+
${codeString}
|
52
|
+
${err.stack}`);
|
53
|
+
}
|
54
|
+
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
var __create = Object.create;
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __getProtoOf = Object.getPrototypeOf,
|
6
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
7
|
+
var __export = (target, all) => {
|
8
|
+
for (var name in all) __defProp(target, name, {
|
9
|
+
get: all[name],
|
10
|
+
enumerable: !0
|
11
|
+
});
|
12
|
+
},
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
15
|
+
get: () => from[key],
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
17
|
+
});
|
18
|
+
return to;
|
19
|
+
};
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
26
|
+
value: mod,
|
27
|
+
enumerable: !0
|
28
|
+
}) : target, mod)),
|
29
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
30
|
+
value: !0
|
31
|
+
}), mod);
|
32
|
+
var buildClassName_exports = {};
|
33
|
+
__export(buildClassName_exports, {
|
34
|
+
buildClassName: () => buildClassName,
|
35
|
+
buildClassNameLogic: () => buildClassNameLogic
|
36
|
+
});
|
37
|
+
module.exports = __toCommonJS(buildClassName_exports);
|
38
|
+
var t = __toESM(require("@babel/types"));
|
39
|
+
const buildClassName = (objectsIn, extras = "") => {
|
40
|
+
let objects = buildClassNameLogic(objectsIn);
|
41
|
+
return objects ? (t.isStringLiteral(objects) ? objects.value = `${extras} ${objects.value}` : objects = t.binaryExpression("+", t.stringLiteral(extras), objects), objects) : null;
|
42
|
+
},
|
43
|
+
buildClassNameLogic = objects => objects.reduce((acc, val) => {
|
44
|
+
if (acc == null) return (
|
45
|
+
// pass conditional expressions through
|
46
|
+
t.isConditionalExpression(val) ||
|
47
|
+
// pass non-null literals through
|
48
|
+
t.isStringLiteral(val) || t.isNumericLiteral(val) ? val : t.logicalExpression("||", val, t.stringLiteral(""))
|
49
|
+
);
|
50
|
+
let inner;
|
51
|
+
if (t.isStringLiteral(val)) {
|
52
|
+
if (t.isStringLiteral(acc)) return t.stringLiteral(`${acc.value} ${val.value}`);
|
53
|
+
inner = t.stringLiteral(` ${val.value}`);
|
54
|
+
} else if (t.isLiteral(val)) inner = t.binaryExpression("+", t.stringLiteral(" "), val);else if (t.isConditionalExpression(val) || t.isBinaryExpression(val)) {
|
55
|
+
if (t.isStringLiteral(acc)) return t.binaryExpression("+", t.stringLiteral(`${acc.value} `), val);
|
56
|
+
inner = t.binaryExpression("+", t.stringLiteral(" "), val);
|
57
|
+
} else if (t.isIdentifier(val) || t.isMemberExpression(val)) inner = t.conditionalExpression(val, t.binaryExpression("+", t.stringLiteral(" "), val), t.stringLiteral(""));else {
|
58
|
+
if (t.isStringLiteral(acc)) return t.binaryExpression("+", t.stringLiteral(`${acc.value} `), t.logicalExpression("||", val, t.stringLiteral("")));
|
59
|
+
inner = t.binaryExpression("+", t.stringLiteral(" "), t.logicalExpression("||", val, t.stringLiteral("")));
|
60
|
+
}
|
61
|
+
return t.binaryExpression("+", acc, inner);
|
62
|
+
}, null);
|