@tamagui/static 3.0.0-beta.669.1 → 3.0.0-beta.719.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/check-dep-versions.cjs +0 -1
- package/dist/cjs/checkDeps.cjs +0 -1
- package/dist/cjs/compiler.cjs +0 -1
- package/dist/cjs/compilerHost.cjs +5 -6
- package/dist/cjs/constants.cjs +0 -1
- package/dist/cjs/domStructuralPass.cjs +0 -1
- package/dist/cjs/exports.cjs +0 -2
- package/dist/cjs/extractor/addLocalExports.cjs +0 -1
- package/dist/cjs/extractor/bundle.cjs +0 -1
- package/dist/cjs/extractor/bundleConfig.cjs +0 -1
- package/dist/cjs/extractor/concatClassName.cjs +0 -1
- package/dist/cjs/extractor/detectModuleFormat.cjs +0 -1
- package/dist/cjs/extractor/esbuildAliasPlugin.cjs +0 -1
- package/dist/cjs/extractor/esbuildTsconfigPaths.cjs +0 -1
- package/dist/cjs/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +0 -1
- package/dist/cjs/extractor/loadTamagui.cjs +0 -1
- package/dist/cjs/extractor/regenerateConfig.cjs +2 -3
- package/dist/cjs/extractor/watchTamaguiConfig.cjs +0 -1
- package/dist/cjs/getPragmaOptions.cjs +0 -1
- package/dist/cjs/helpers/memoize.cjs +0 -1
- package/dist/cjs/helpers/requireTamaguiCore.cjs +0 -1
- package/dist/cjs/index.cjs +0 -1
- package/dist/cjs/registerRequire.cjs +0 -1
- package/dist/cjs/server.cjs +0 -1
- package/dist/cjs/staticEvaluationIgnoredModules.cjs +0 -1
- package/dist/cjs/types.cjs +0 -1
- package/dist/cjs/zero/artifact.cjs +0 -1
- package/dist/cjs/zero/graph.cjs +0 -1
- package/dist/cjs/zero/identity.cjs +0 -1
- package/dist/cjs/zero/index.cjs +8 -1
- package/dist/cjs/zero/islands.cjs +5 -3
- package/dist/cjs/zero/options.cjs +0 -1
- package/dist/cjs/zero/ownership.cjs +0 -1
- package/dist/cjs/zero/theme.cjs +35 -14
- package/dist/cjs/zero/transform.cjs +7 -3
- package/dist/esm/check-dep-versions.mjs.map +1 -1
- package/dist/esm/checkDeps.mjs.map +1 -1
- package/dist/esm/compiler.mjs.map +1 -1
- package/dist/esm/compilerHost.mjs +2 -3
- package/dist/esm/compilerHost.mjs.map +1 -1
- package/dist/esm/domStructuralPass.mjs.map +1 -1
- package/dist/esm/exports.mjs +0 -2
- package/dist/esm/extractor/bundle.mjs.map +1 -1
- package/dist/esm/extractor/bundleConfig.mjs.map +1 -1
- package/dist/esm/extractor/esbuildAliasPlugin.mjs.map +1 -1
- package/dist/esm/extractor/esbuildTsconfigPaths.mjs.map +1 -1
- package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.mjs.map +1 -1
- package/dist/esm/extractor/loadTamagui.mjs.map +1 -1
- package/dist/esm/extractor/regenerateConfig.mjs +1 -1
- package/dist/esm/extractor/regenerateConfig.mjs.map +1 -1
- package/dist/esm/extractor/watchTamaguiConfig.mjs.map +1 -1
- package/dist/esm/getPragmaOptions.mjs.map +1 -1
- package/dist/esm/helpers/requireTamaguiCore.mjs.map +1 -1
- package/dist/esm/registerRequire.mjs.map +1 -1
- package/dist/esm/server.mjs.map +1 -1
- package/dist/esm/zero/artifact.mjs.map +1 -1
- package/dist/esm/zero/graph.mjs.map +1 -1
- package/dist/esm/zero/identity.mjs.map +1 -1
- package/dist/esm/zero/index.mjs +4 -0
- package/dist/esm/zero/islands.mjs +5 -2
- package/dist/esm/zero/islands.mjs.map +1 -1
- package/dist/esm/zero/options.mjs.map +1 -1
- package/dist/esm/zero/ownership.mjs.map +1 -1
- package/dist/esm/zero/theme.mjs +35 -13
- package/dist/esm/zero/theme.mjs.map +1 -1
- package/dist/esm/zero/transform.mjs +7 -2
- package/dist/esm/zero/transform.mjs.map +1 -1
- package/package.json +19 -19
- package/src/compilerHost.ts +1 -1
- package/src/exports.ts +0 -1
- package/src/extractor/regenerateConfig.ts +1 -1
- package/src/zero/index.ts +1 -0
- package/src/zero/islands.ts +5 -2
- package/src/zero/theme.ts +49 -17
- package/src/zero/transform.ts +13 -4
- package/types/exports.d.ts +0 -1
- package/types/exports.d.ts.map +1 -1
- package/types/zero/index.d.ts +1 -0
- package/types/zero/index.d.ts.map +1 -1
- package/types/zero/islands.d.ts.map +1 -1
- package/types/zero/theme.d.ts +2 -1
- package/types/zero/theme.d.ts.map +1 -1
- package/types/zero/transform.d.ts.map +1 -1
- package/dist/cjs/runtimeFeatures.cjs +0 -44
- package/dist/esm/runtimeFeatures.mjs +0 -20
- package/dist/esm/runtimeFeatures.mjs.map +0 -1
- package/src/runtimeFeatures.ts +0 -39
- package/types/runtimeFeatures.d.ts +0 -11
- package/types/runtimeFeatures.d.ts.map +0 -1
package/dist/cjs/checkDeps.cjs
CHANGED
package/dist/cjs/compiler.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -25,7 +24,7 @@ module.exports = __toCommonJS(compilerHost_exports);
|
|
|
25
24
|
var import_compiler_core = require("@tamagui/compiler-core");
|
|
26
25
|
var import_helpers = require("@tamagui/helpers");
|
|
27
26
|
var import_dom = require("@tamagui/dom");
|
|
28
|
-
var
|
|
27
|
+
var import_tooling = require("@tamagui/style-grammar/tooling");
|
|
29
28
|
var import_web = require("@tamagui/web");
|
|
30
29
|
var import_concatClassName = require("./extractor/concatClassName.cjs");
|
|
31
30
|
var import_requireTamaguiCore = require("./helpers/requireTamaguiCore.cjs");
|
|
@@ -669,7 +668,7 @@ function createTamaguiCompilerHost(options) {
|
|
|
669
668
|
const core = (0, import_requireTamaguiCore.requireTamaguiCore)(platform);
|
|
670
669
|
const firstThemeName = Object.keys(options.tamaguiConfig.themes ?? {})[0] ?? "";
|
|
671
670
|
const theme = options.tamaguiConfig.themes?.[firstThemeName] ?? {};
|
|
672
|
-
const modifierRegistry = (0,
|
|
671
|
+
const modifierRegistry = (0, import_tooling.createModifierRegistry)({
|
|
673
672
|
mediaNames: options.tamaguiConfig.media ?? {},
|
|
674
673
|
themeNames: options.tamaguiConfig.themes ?? {}
|
|
675
674
|
}).registry;
|
|
@@ -678,13 +677,13 @@ function createTamaguiCompilerHost(options) {
|
|
|
678
677
|
const resolveStaticCssTransition = (value, transitionPresets) => {
|
|
679
678
|
if (platform !== "web" || typeof value !== "string") return null;
|
|
680
679
|
const transitionPresetNames = new Set(Object.keys(transitionPresets));
|
|
681
|
-
const program = (0,
|
|
680
|
+
const program = (0, import_tooling.parseValue)(value, modifierRegistry);
|
|
682
681
|
if (!program.ok) return null;
|
|
683
682
|
const resolvedPayloads = [];
|
|
684
683
|
const payloads = [program.value.base, ...program.value.clauses.map((clause) => clause.payload)].filter((payload) => payload !== null);
|
|
685
684
|
if (payloads.length === 0) return null;
|
|
686
685
|
for (const payload of payloads) {
|
|
687
|
-
const transition = (0,
|
|
686
|
+
const transition = (0, import_tooling.parseTransition)(payload, transitionPresetNames);
|
|
688
687
|
if (!transition.ok) return null;
|
|
689
688
|
if (transition.value.kind === "global" || transition.value.entries.every((entry) => entry.timing.type === "css")) {
|
|
690
689
|
resolvedPayloads.push(payload);
|
|
@@ -693,7 +692,7 @@ function createTamaguiCompilerHost(options) {
|
|
|
693
692
|
if (transition.value.entries.length !== 1 || transition.value.entries[0].timing.type !== "preset") return null;
|
|
694
693
|
const preset = transitionPresets[transition.value.entries[0].timing.name];
|
|
695
694
|
if (typeof preset !== "string") return null;
|
|
696
|
-
const parsedPreset = (0,
|
|
695
|
+
const parsedPreset = (0, import_tooling.parseTransition)(preset);
|
|
697
696
|
if (!parsedPreset.ok || parsedPreset.value.kind !== "transition" || parsedPreset.value.entries.length !== 1 || parsedPreset.value.entries[0].property !== "all" || parsedPreset.value.entries[0].timing.type !== "css") return null;
|
|
698
697
|
resolvedPayloads.push(`all ${preset}`);
|
|
699
698
|
}
|
package/dist/cjs/constants.cjs
CHANGED
package/dist/cjs/exports.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -39,5 +38,4 @@ __reExport(exports_exports, require("./registerRequire.cjs"), module.exports);
|
|
|
39
38
|
var import_detectModuleFormat = require("./extractor/detectModuleFormat.cjs");
|
|
40
39
|
var import_bundle = require("./extractor/bundle.cjs");
|
|
41
40
|
__reExport(exports_exports, require("./getPragmaOptions.cjs"), module.exports);
|
|
42
|
-
__reExport(exports_exports, require("./runtimeFeatures.cjs"), module.exports);
|
|
43
41
|
__reExport(exports_exports, require("./zero/index.cjs"), module.exports);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -36,7 +35,7 @@ var import_node_path = require("node:path");
|
|
|
36
35
|
var import_node_module = require("node:module");
|
|
37
36
|
var import_generate_themes = require("@tamagui/generate-themes");
|
|
38
37
|
var import_helpers = require("@tamagui/helpers");
|
|
39
|
-
var
|
|
38
|
+
var import_tooling = require("@tamagui/style-grammar/tooling");
|
|
40
39
|
var import_fs_extra = __toESM(require("fs-extra"), 1);
|
|
41
40
|
var import_requireTamaguiCore = require("../helpers/requireTamaguiCore.cjs");
|
|
42
41
|
var import_bundleConfig = require("./bundleConfig.cjs");
|
|
@@ -103,7 +102,7 @@ function cloneDeepSafe(x, excludeKeys = {}) {
|
|
|
103
102
|
function buildPropCategories() {
|
|
104
103
|
const out = {};
|
|
105
104
|
const byPrefix = {};
|
|
106
|
-
for (const entry of
|
|
105
|
+
for (const entry of import_tooling.grammarEntries) {
|
|
107
106
|
if (entry.tokenCategory) out[entry.prop] = entry.tokenCategory;
|
|
108
107
|
if (entry.prefix) (byPrefix[entry.prefix] ||= /* @__PURE__ */ new Set()).add(entry.tokenCategory);
|
|
109
108
|
}
|
package/dist/cjs/index.cjs
CHANGED
package/dist/cjs/server.cjs
CHANGED
package/dist/cjs/types.cjs
CHANGED
package/dist/cjs/zero/graph.cjs
CHANGED
package/dist/cjs/zero/index.cjs
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
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: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
6
11
|
var __copyProps = (to, from, except, desc) => {
|
|
7
12
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
13
|
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
@@ -15,7 +20,9 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
20
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
16
21
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
17
22
|
var zero_exports = {};
|
|
23
|
+
__export(zero_exports, { isTamaguiSpecifier: () => import_compiler_core.isTamaguiSpecifier });
|
|
18
24
|
module.exports = __toCommonJS(zero_exports);
|
|
25
|
+
var import_compiler_core = require("@tamagui/compiler-core");
|
|
19
26
|
__reExport(zero_exports, require("./artifact.cjs"), module.exports);
|
|
20
27
|
__reExport(zero_exports, require("./graph.cjs"), module.exports);
|
|
21
28
|
__reExport(zero_exports, require("./identity.cjs"), module.exports);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -166,6 +165,7 @@ function generateIslandEntrySource(input) {
|
|
|
166
165
|
return `// generated by @tamagui/static zero-runtime. do not edit.
|
|
167
166
|
import * as React from 'react'
|
|
168
167
|
import { TamaguiProvider, Theme } from 'tamagui'
|
|
168
|
+
import { createThemeUpdateState } from '@tamagui/web/theme-update'
|
|
169
169
|
import config from ${JSON.stringify(importPath(entry, input.configPath))}
|
|
170
170
|
import IslandRoot from ${JSON.stringify(importPath(entry, input.island.module))}
|
|
171
171
|
|
|
@@ -181,8 +181,10 @@ export function Island(props) {
|
|
|
181
181
|
node = React.createElement(
|
|
182
182
|
Theme,
|
|
183
183
|
{
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
_themeUpdate: createThemeUpdateState(
|
|
185
|
+
layers[index].inlineValues,
|
|
186
|
+
layers[index].inlineClassName
|
|
187
|
+
),
|
|
186
188
|
forceClassName: true,
|
|
187
189
|
},
|
|
188
190
|
node
|
package/dist/cjs/zero/theme.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -30,6 +29,7 @@ module.exports = __toCommonJS(theme_exports);
|
|
|
30
29
|
var import_compiler_core = require("@tamagui/compiler-core");
|
|
31
30
|
var import_helpers = require("@tamagui/helpers");
|
|
32
31
|
var import_web = require("@tamagui/web");
|
|
32
|
+
var import_theme_update = require("@tamagui/web/theme-update");
|
|
33
33
|
const MAX_THEME_BRANCHES = 8;
|
|
34
34
|
const LOWERABLE_RESERVED_PROPS = /* @__PURE__ */ new Set([
|
|
35
35
|
"name",
|
|
@@ -111,7 +111,7 @@ function resolveThemeChain(chain, rootThemeName, config) {
|
|
|
111
111
|
}
|
|
112
112
|
return branches;
|
|
113
113
|
}
|
|
114
|
-
function readStaticTheme(element, id, source, config) {
|
|
114
|
+
function readStaticTheme(element, id, source, config, kind = "Theme") {
|
|
115
115
|
const moduleId = (0, import_compiler_core.resolvedModuleId)(id);
|
|
116
116
|
const violations = [];
|
|
117
117
|
const css = /* @__PURE__ */ new Map();
|
|
@@ -135,8 +135,8 @@ function readStaticTheme(element, id, source, config) {
|
|
|
135
135
|
rule: 1,
|
|
136
136
|
code: "local/unsafe-style-spread",
|
|
137
137
|
span: span(attribute),
|
|
138
|
-
component:
|
|
139
|
-
message: (0, import_compiler_core.zeroRuleMessage)(1, { component:
|
|
138
|
+
component: kind,
|
|
139
|
+
message: (0, import_compiler_core.zeroRuleMessage)(1, { component: kind })
|
|
140
140
|
});
|
|
141
141
|
continue;
|
|
142
142
|
}
|
|
@@ -144,7 +144,17 @@ function readStaticTheme(element, id, source, config) {
|
|
|
144
144
|
if (!key) continue;
|
|
145
145
|
const rawValue = (0, import_compiler_core.childNode)(attribute, "value");
|
|
146
146
|
const value = rawValue && rawValue.type === "JSXExpressionContainer" ? (0, import_compiler_core.childNode)(rawValue, "expression") : rawValue;
|
|
147
|
-
if (
|
|
147
|
+
if (kind === "ThemeUpdate" && import_helpers.reservedThemeProps[key]) {
|
|
148
|
+
violations.push({
|
|
149
|
+
rule: 4,
|
|
150
|
+
code: "local/unsupported-target",
|
|
151
|
+
span: span(attribute),
|
|
152
|
+
component: kind,
|
|
153
|
+
message: (0, import_compiler_core.zeroRuleMessage)(4, { detail: `the <ThemeUpdate ${key}> prop, which belongs on <Theme>,` })
|
|
154
|
+
});
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
if (kind === "Theme" && key === "name") {
|
|
148
158
|
const read = value ? readNameOptions(value, source, []) : null;
|
|
149
159
|
if (!read) {
|
|
150
160
|
violations.push({
|
|
@@ -159,7 +169,7 @@ function readStaticTheme(element, id, source, config) {
|
|
|
159
169
|
options = read;
|
|
160
170
|
continue;
|
|
161
171
|
}
|
|
162
|
-
if (import_helpers.reservedThemeProps[key]) {
|
|
172
|
+
if (kind === "Theme" && import_helpers.reservedThemeProps[key]) {
|
|
163
173
|
if (!LOWERABLE_RESERVED_PROPS.has(key)) {
|
|
164
174
|
violations.push({
|
|
165
175
|
rule: 4,
|
|
@@ -185,16 +195,26 @@ function readStaticTheme(element, id, source, config) {
|
|
|
185
195
|
if (key === "contain") contain = literal2;
|
|
186
196
|
continue;
|
|
187
197
|
}
|
|
198
|
+
if (kind === "Theme") {
|
|
199
|
+
violations.push({
|
|
200
|
+
rule: 4,
|
|
201
|
+
code: "local/unsupported-target",
|
|
202
|
+
span: span(attribute),
|
|
203
|
+
component: "Theme",
|
|
204
|
+
message: (0, import_compiler_core.zeroRuleMessage)(4, { detail: `the removed <Theme ${key}> inline-value spelling. Use <ThemeUpdate ${key}> around the subtree instead,` })
|
|
205
|
+
});
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
188
208
|
const literal = value ? literalOf(value) : void 0;
|
|
189
209
|
if (typeof literal !== "string" && typeof literal !== "number") {
|
|
190
210
|
violations.push({
|
|
191
211
|
rule: 3,
|
|
192
212
|
code: "local/dynamic-style-value",
|
|
193
213
|
span: span(attribute),
|
|
194
|
-
component:
|
|
214
|
+
component: kind,
|
|
195
215
|
message: (0, import_compiler_core.zeroRuleMessage)(3, {
|
|
196
216
|
prop: key,
|
|
197
|
-
component:
|
|
217
|
+
component: kind,
|
|
198
218
|
detail: value ? "a theme value must be a string or number literal at build time" : "a theme key needs a value"
|
|
199
219
|
})
|
|
200
220
|
});
|
|
@@ -202,7 +222,7 @@ function readStaticTheme(element, id, source, config) {
|
|
|
202
222
|
}
|
|
203
223
|
themeKeyProps[key] = literal;
|
|
204
224
|
}
|
|
205
|
-
if (reset && options.some((option) => option.name !== void 0)) {
|
|
225
|
+
if (kind === "Theme" && reset && options.some((option) => option.name !== void 0)) {
|
|
206
226
|
violations.push({
|
|
207
227
|
rule: 4,
|
|
208
228
|
code: "local/unsupported-target",
|
|
@@ -217,25 +237,25 @@ function readStaticTheme(element, id, source, config) {
|
|
|
217
237
|
code: "local/unsupported-target",
|
|
218
238
|
span: span(element),
|
|
219
239
|
component: "Theme",
|
|
220
|
-
message: (0, import_compiler_core.zeroRuleMessage)(4, { detail:
|
|
240
|
+
message: (0, import_compiler_core.zeroRuleMessage)(4, { detail: `a self-closing <${kind}>, which has no subtree to theme,` })
|
|
221
241
|
});
|
|
222
242
|
}
|
|
223
243
|
const issues = [];
|
|
224
|
-
const inlineValues = Object.keys(themeKeyProps).length ? (0,
|
|
244
|
+
const inlineValues = kind === "ThemeUpdate" && Object.keys(themeKeyProps).length ? (0, import_theme_update.getInlineValuesFromProps)(themeKeyProps, config, (issue) => issues.push(issue)) : null;
|
|
225
245
|
for (const issue of issues) {
|
|
226
246
|
violations.push({
|
|
227
247
|
rule: 3,
|
|
228
248
|
code: "local/dynamic-style-value",
|
|
229
249
|
span: span(opening),
|
|
230
|
-
component:
|
|
250
|
+
component: kind,
|
|
231
251
|
message: (0, import_compiler_core.zeroRuleMessage)(3, {
|
|
232
252
|
prop: issue.key,
|
|
233
|
-
component:
|
|
253
|
+
component: kind,
|
|
234
254
|
detail: issue.message
|
|
235
255
|
})
|
|
236
256
|
});
|
|
237
257
|
}
|
|
238
|
-
const inlineCSS = inlineValues ? (0,
|
|
258
|
+
const inlineCSS = inlineValues ? (0, import_theme_update.getVariablesCSSRules)(inlineValues, config) : null;
|
|
239
259
|
if (inlineCSS) css.set(inlineCSS.identifier, inlineCSS.rules.join(""));
|
|
240
260
|
if (violations.length) return {
|
|
241
261
|
node: null,
|
|
@@ -244,6 +264,7 @@ function readStaticTheme(element, id, source, config) {
|
|
|
244
264
|
};
|
|
245
265
|
return {
|
|
246
266
|
node: {
|
|
267
|
+
kind,
|
|
247
268
|
element,
|
|
248
269
|
opening,
|
|
249
270
|
closing,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -50,6 +49,7 @@ function transformZeroModule(input) {
|
|
|
50
49
|
const bridges = /* @__PURE__ */ new Map();
|
|
51
50
|
const bridgeCSS = /* @__PURE__ */ new Map();
|
|
52
51
|
let themeLocal = null;
|
|
52
|
+
let themeUpdateLocal = null;
|
|
53
53
|
const islandLocals = /* @__PURE__ */ new Map();
|
|
54
54
|
for (const statement of (0, import_compiler_core.childNodes)(program, "body")) {
|
|
55
55
|
if (statement.type !== "ImportDeclaration") continue;
|
|
@@ -67,6 +67,7 @@ function transformZeroModule(input) {
|
|
|
67
67
|
if (!input.isTamaguiSpecifier(specifier)) continue;
|
|
68
68
|
const imported = (0, import_compiler_core.childNode)(importSpecifier, "imported");
|
|
69
69
|
if (imported && imported.name === "Theme") themeLocal = local;
|
|
70
|
+
if (imported && imported.name === "ThemeUpdate") themeUpdateLocal = local;
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
73
|
const parents = /* @__PURE__ */ new Map();
|
|
@@ -75,10 +76,13 @@ function transformZeroModule(input) {
|
|
|
75
76
|
if (parent) parents.set(node, parent);
|
|
76
77
|
if (node.type === "JSXElement") elements.push(node);
|
|
77
78
|
});
|
|
78
|
-
const themeElements =
|
|
79
|
+
const themeElements = elements.filter((element) => {
|
|
80
|
+
const name = jsxNameOf(element);
|
|
81
|
+
return name === themeLocal || name === themeUpdateLocal;
|
|
82
|
+
});
|
|
79
83
|
const themeNodes = /* @__PURE__ */ new Map();
|
|
80
84
|
for (const element of themeElements) {
|
|
81
|
-
const read = (0, import_theme.readStaticTheme)(element, id, source, config);
|
|
85
|
+
const read = (0, import_theme.readStaticTheme)(element, id, source, config, jsxNameOf(element) === themeUpdateLocal ? "ThemeUpdate" : "Theme");
|
|
82
86
|
for (const [identifier, rules] of read.css) bridgeCSS.set(identifier, rules);
|
|
83
87
|
violations.push(...read.violations);
|
|
84
88
|
if (read.node) themeNodes.set(element, read.node);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-dep-versions.js","names":[],"sources":["esm/check-dep-versions.js"],"sourcesContent":["import FastGlob from \"fast-glob\";\nimport { load } from \"js-yaml\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join, relative } from \"node:path\";\nfunction calculateVersionsForEachDependency(packages, depType = DEFAULT_DEP_TYPES) {\n const dependenciesToVersionsSeen = /* @__PURE__ */ new Map();\n for (const package_ of packages) {\n recordDependencyVersionsForPackageJson(dependenciesToVersionsSeen, package_, depType);\n }\n return dependenciesToVersionsSeen;\n}\nfunction recordDependencyVersionsForPackageJson(dependenciesToVersionsSeen, package_, depType) {\n if (package_.packageJson.name && package_.packageJson.version) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n package_.packageJson.name,\n package_.packageJson.version,\n package_,\n true\n );\n }\n if (depType.includes(\"dependencies\" /* dependencies */) && package_.packageJson.dependencies) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.dependencies\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n if (depType.includes(\"devDependencies\" /* devDependencies */) && package_.packageJson.devDependencies) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.devDependencies\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n if (depType.includes(\"optionalDependencies\" /* optionalDependencies */) && package_.packageJson.optionalDependencies) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.optionalDependencies\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n if (depType.includes(\"peerDependencies\" /* peerDependencies */) && package_.packageJson.peerDependencies) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.peerDependencies\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n if (depType.includes(\"resolutions\" /* resolutions */) && package_.packageJson.resolutions) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.resolutions\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n}\nfunction recordDependencyVersion(dependenciesToVersionsSeen, dependency, version, package_, isLocalPackageVersion = false) {\n if (!dependenciesToVersionsSeen.has(dependency)) {\n dependenciesToVersionsSeen.set(dependency, []);\n }\n const list = dependenciesToVersionsSeen.get(dependency);\n if (list) {\n list.push({ package: package_, version, isLocalPackageVersion });\n }\n}\nfunction calculateDependenciesAndVersions(dependencyVersions) {\n return [...dependencyVersions.entries()].sort((a, b) => a[0].localeCompare(b[0])).flatMap(([dependency, versionObjectsForDep]) => {\n if (!versionObjectsForDep) {\n return [];\n }\n let versions = versionObjectsForDep.filter((versionObject) => !versionObject.isLocalPackageVersion).map((versionObject) => versionObject.version);\n const localPackageVersions = versionObjectsForDep.filter((versionObject) => versionObject.isLocalPackageVersion).map((versionObject) => versionObject.version);\n const allVersionsHaveWorkspacePrefix = versions.every(\n (version) => version.startsWith(\"workspace:\")\n );\n const hasIncompatibilityWithLocalPackageVersion = versions.some(\n (version) => localPackageVersions[0] !== version\n );\n if (localPackageVersions.length === 1 && !allVersionsHaveWorkspacePrefix && hasIncompatibilityWithLocalPackageVersion) {\n versions = [...versions, ...localPackageVersions];\n }\n const uniqueVersions = [...new Set(versions)];\n const uniqueVersionsWithInfo = versionsObjectsWithSortedPackages(\n uniqueVersions,\n versionObjectsForDep\n );\n return {\n dependency,\n versions: uniqueVersionsWithInfo\n };\n });\n}\nfunction versionsObjectsWithSortedPackages(versions, versionObjects) {\n return versions.map((version) => {\n const matchingVersionObjects = versionObjects.filter(\n (versionObject) => versionObject.version === version\n );\n return {\n version,\n packages: matchingVersionObjects.map((object) => object.package).sort((a, b) => Package.comparator(a, b))\n };\n });\n}\nconst HARDCODED_IGNORED_DEPENDENCIES = /* @__PURE__ */ new Set([\n \"//\"\n // May be used to add comments to package.json files.\n]);\nfunction filterOutIgnoredDependencies(mismatchingVersions, ignoredDependencies, includedDependencyPatterns) {\n for (const ignoreDependency of ignoredDependencies) {\n if (!mismatchingVersions.some(\n (mismatchingVersion) => mismatchingVersion.dependency === ignoreDependency\n )) {\n throw new Error(\n `Specified option '--ignore-dep ${ignoreDependency}', but no version mismatches detected for this dependency.`\n );\n }\n }\n if (ignoredDependencies.length > 0 || includedDependencyPatterns.length > 0 || mismatchingVersions.some(\n (mismatchingVersion) => HARDCODED_IGNORED_DEPENDENCIES.has(mismatchingVersion.dependency)\n )) {\n return mismatchingVersions.filter(\n (mismatchingVersion) => !ignoredDependencies.includes(mismatchingVersion.dependency) && includedDependencyPatterns.some(\n (ignoreDependencyPattern) => mismatchingVersion.dependency.match(ignoreDependencyPattern)\n ) && !HARDCODED_IGNORED_DEPENDENCIES.has(mismatchingVersion.dependency)\n );\n }\n return mismatchingVersions;\n}\nfunction getPackages(root, ignorePackages, ignorePackagePatterns, ignorePaths, ignorePathPatterns) {\n if (!Package.exists(root)) {\n throw new Error(\"No package.json found at provided path.\");\n }\n const packages = accumulatePackages(root, [\".\"]);\n for (const ignoredPackage of ignorePackages) {\n if (!Package.some(packages, (package_) => package_.name === ignoredPackage)) {\n throw new Error(\n `Specified option '--ignore-package ${ignoredPackage}', but no such package detected in workspace.`\n );\n }\n }\n for (const ignoredPackagePattern of ignorePackagePatterns) {\n if (\n // eslint-disable-next-line unicorn/no-array-method-this-argument,unicorn/no-array-callback-reference -- false positive\n !Package.some(packages, (package_) => ignoredPackagePattern.test(package_.name))\n ) {\n throw new Error(\n `Specified option '--ignore-package-pattern ${String(\n ignoredPackagePattern\n )}', but no matching packages detected in workspace.`\n );\n }\n }\n for (const ignoredPath of ignorePaths) {\n if (\n // eslint-disable-next-line unicorn/no-array-method-this-argument,unicorn/no-array-callback-reference -- false positive\n !Package.some(packages, (package_) => package_.pathRelative.includes(ignoredPath))\n ) {\n throw new Error(\n `Specified option '--ignore-path ${ignoredPath}', but no matching paths detected in workspace.`\n );\n }\n }\n for (const ignoredPathPattern of ignorePathPatterns) {\n if (\n // eslint-disable-next-line unicorn/no-array-method-this-argument,unicorn/no-array-callback-reference -- false positive\n !Package.some(\n packages,\n (package_) => ignoredPathPattern.test(package_.pathRelative)\n )\n ) {\n throw new Error(\n `Specified option '--ignore-path-pattern ${String(\n ignoredPathPattern\n )}', but no matching paths detected in workspace.`\n );\n }\n }\n if (ignorePackages.length > 0 || ignorePackagePatterns.length > 0 || ignorePaths.length > 0 || ignorePathPatterns.length > 0) {\n return packages.filter(\n (package_) => !ignorePackages.includes(package_.name) && !ignorePackagePatterns.some(\n (ignorePackagePattern) => package_.name.match(ignorePackagePattern)\n ) && !ignorePaths.some((ignorePath) => package_.pathRelative.includes(ignorePath)) && !ignorePathPatterns.some(\n (ignorePathPattern) => package_.pathRelative.match(ignorePathPattern)\n )\n );\n }\n return packages;\n}\nfunction expandWorkspaces(root, workspacePatterns) {\n return workspacePatterns.flatMap((workspace) => {\n if (!workspace.includes(\"*\")) {\n return [workspace];\n }\n return FastGlob.globSync(workspace, {\n onlyDirectories: true,\n cwd: root,\n ignore: [\"**/node_modules\"]\n });\n });\n}\nfunction accumulatePackages(root, paths) {\n const results = [];\n for (const relativePath of paths) {\n const path = join(root, relativePath);\n if (Package.exists(path)) {\n const package_ = new Package(path, root);\n results.push(\n // Add the current package.\n package_,\n ...accumulatePackages(path, expandWorkspaces(path, package_.workspacePatterns))\n );\n }\n }\n return results;\n}\nclass Package {\n /** Absolute path to package */\n path;\n /** Absolute path to workspace.*/\n pathWorkspace;\n /** Absolute path to package.json. */\n pathPackageJson;\n packageJson;\n packageJsonEndsInNewline;\n pnpmWorkspacePackages;\n constructor(path, pathWorkspace) {\n this.path = path;\n this.pathWorkspace = pathWorkspace;\n this.pathPackageJson = join(path, \"package.json\");\n const packageJsonContents = readFileSync(this.pathPackageJson, \"utf8\");\n this.packageJsonEndsInNewline = packageJsonContents.endsWith(\"\\n\");\n this.packageJson = JSON.parse(packageJsonContents);\n const pnpmWorkspacePath = join(path, \"pnpm-workspace.yaml\");\n if (existsSync(pnpmWorkspacePath)) {\n const pnpmWorkspaceContents = readFileSync(pnpmWorkspacePath, \"utf8\");\n const pnpmWorkspaceYaml = load(pnpmWorkspaceContents);\n this.pnpmWorkspacePackages = pnpmWorkspaceYaml.packages;\n }\n }\n get name() {\n if (this.workspacePatterns.length > 0 && !this.packageJson.name) {\n return \"(Root)\";\n }\n if (!this.packageJson.name) {\n throw new Error(`${this.pathPackageJson} missing \\`name\\``);\n }\n return this.packageJson.name;\n }\n /** Relative to workspace root. */\n get pathRelative() {\n return relative(this.pathWorkspace, this.path);\n }\n get workspacePatterns() {\n if (this.packageJson.workspaces) {\n if (Array.isArray(this.packageJson.workspaces)) {\n return this.packageJson.workspaces;\n } else if (this.packageJson.workspaces.packages) {\n if (!Array.isArray(this.packageJson.workspaces.packages)) {\n throw new TypeError(\"package.json `workspaces.packages` is not a string array.\");\n }\n return this.packageJson.workspaces.packages;\n } else {\n throw new TypeError(\"package.json `workspaces` is not a string array.\");\n }\n }\n if (this.pnpmWorkspacePackages) {\n if (!Array.isArray(this.pnpmWorkspacePackages)) {\n throw new TypeError(\"pnpm-workspace.yaml `packages` is not a string array.\");\n }\n return this.pnpmWorkspacePackages;\n }\n return [];\n }\n static exists(path) {\n const packageJsonPath = join(path, \"package.json\");\n return existsSync(packageJsonPath);\n }\n static some(packages, callback) {\n return packages.some((package_) => callback(package_));\n }\n static comparator(package1, package2) {\n return package1.name.localeCompare(package2.name);\n }\n}\nvar DEPENDENCY_TYPE = /* @__PURE__ */ ((DEPENDENCY_TYPE2) => {\n DEPENDENCY_TYPE2[\"dependencies\"] = \"dependencies\";\n DEPENDENCY_TYPE2[\"devDependencies\"] = \"devDependencies\";\n DEPENDENCY_TYPE2[\"optionalDependencies\"] = \"optionalDependencies\";\n DEPENDENCY_TYPE2[\"peerDependencies\"] = \"peerDependencies\";\n DEPENDENCY_TYPE2[\"resolutions\"] = \"resolutions\";\n return DEPENDENCY_TYPE2;\n})(DEPENDENCY_TYPE || {});\nconst DEFAULT_DEP_TYPES = [\n \"dependencies\" /* dependencies */,\n \"devDependencies\" /* devDependencies */,\n \"optionalDependencies\" /* optionalDependencies */,\n \"resolutions\" /* resolutions */\n // peerDependencies is not included by default, see discussion in: https://github.com/bmish/check-dependency-version-consistency/issues/402\n];\nfunction check(path) {\n const options = {\n includeDepPattern: [\"tamagui\", \"react-native-web-lite\", \"react-native-web-internals\"]\n };\n if (options && options.depType && options.depType.some((dt) => !Object.keys(DEPENDENCY_TYPE).includes(dt))) {\n throw new Error(\n `Invalid depType provided. Choices are: ${Object.keys(DEPENDENCY_TYPE).join(\", \")}.`\n );\n }\n const optionsWithDefaults = {\n fix: false,\n ignoreDep: [],\n includeDepPattern: [],\n ignorePackage: [],\n ignorePackagePattern: [],\n ignorePath: [],\n ignorePathPattern: [],\n ...options,\n // Fallback to default if no depType(s) provided.\n depType: options && options.depType && options.depType.length > 0 ? options.depType : DEFAULT_DEP_TYPES\n };\n const packages = getPackages(\n path,\n optionsWithDefaults.ignorePackage,\n optionsWithDefaults.ignorePackagePattern.map((s) => new RegExp(s)),\n optionsWithDefaults.ignorePath,\n optionsWithDefaults.ignorePathPattern.map((s) => new RegExp(s))\n );\n const dependencies = calculateVersionsForEachDependency(\n packages,\n optionsWithDefaults.depType.map((dt) => DEPENDENCY_TYPE[dt])\n // Convert string to enum.\n );\n const dependenciesAndVersions = calculateDependenciesAndVersions(dependencies);\n const dependenciesAndVersionsWithMismatches = dependenciesAndVersions.filter(\n ({ versions }) => versions.length > 1\n );\n const dependenciesAndVersionsWithoutIgnored = filterOutIgnoredDependencies(\n dependenciesAndVersions,\n optionsWithDefaults.ignoreDep,\n optionsWithDefaults.includeDepPattern.map((s) => new RegExp(s))\n );\n const dependenciesAndVersionsMismatchesWithoutIgnored = filterOutIgnoredDependencies(\n dependenciesAndVersionsWithMismatches,\n optionsWithDefaults.ignoreDep,\n optionsWithDefaults.includeDepPattern.map((s) => new RegExp(s))\n );\n return {\n // Information about all dependencies.\n dependencies: Object.fromEntries(\n dependenciesAndVersionsWithoutIgnored.map(({ dependency, versions }) => {\n return [\n dependency,\n {\n isMismatching: dependenciesAndVersionsMismatchesWithoutIgnored.some(\n (dep) => dep.dependency === dependency\n ),\n versions\n }\n ];\n })\n )\n };\n}\nclass CDVC {\n /** An object mapping each dependency in the workspace to information including the versions found of it. */\n dependencies;\n /**\n * @param path - path to the workspace root\n * @param options\n * @param options.fix - Whether to autofix inconsistencies (using latest version present)\n * @param options.ignoreDep - Dependency(s) to ignore mismatches for\n * @param options.includeDepPattern - RegExp(s) of dependency names to ignore mismatches for\n * @param options.ignorePackage - Workspace package(s) to ignore mismatches for\n * @param options.ignorePackagePattern - RegExp(s) of package names to ignore mismatches for\n * @param options.ignorePath - Workspace-relative path(s) of packages to ignore mismatches for\n * @param options.ignorePathPattern - RegExp(s) of workspace-relative path of packages to ignore mismatches for\n */\n constructor(path) {\n const { dependencies } = check(path);\n this.dependencies = dependencies;\n }\n toMismatchSummary() {\n return dependenciesToMismatchSummary(this.dependencies);\n }\n getDependencies() {\n return Object.keys(this.dependencies).map(\n (dependency) => this.getDependency(dependency)\n );\n }\n getDependency(name) {\n return {\n name,\n isMismatching: this.dependencies[name].isMismatching,\n versions: this.dependencies[name].versions.map((version) => ({\n version: version.version,\n packages: version.packages.map((package_) => ({\n pathRelative: package_.pathRelative\n }))\n }))\n };\n }\n get hasMismatchingDependencies() {\n return Object.values(this.dependencies).some((dep) => dep.isMismatching);\n }\n}\nfunction dependenciesToMismatchSummary(dependencies) {\n const mismatchingDependencyVersions = Object.entries(dependencies).filter(([, value]) => value.isMismatching).map(([dependency, value]) => ({ dependency, versions: value.versions }));\n if (mismatchingDependencyVersions.length === 0) {\n return \"\";\n }\n const tables = mismatchingDependencyVersions.map((object) => {\n return `${object.dependency} - ${object.versions.map((v) => `${v.version}`).join(\", \")}`;\n }).join(\"\");\n return [\n `Found ${mismatchingDependencyVersions.length} ${mismatchingDependencyVersions.length === 1 ? \"dependency\" : \"dependencies\"} with mismatching versions across the workspace.`,\n tables\n ].join(\"\\n\");\n}\nexport {\n CDVC\n};\n//# sourceMappingURL=check-dep-versions.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-dep-versions.js","names":[],"sources":["esm/check-dep-versions.js"],"sourcesContent":["import FastGlob from \"fast-glob\";\nimport { load } from \"js-yaml\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join, relative } from \"node:path\";\nfunction calculateVersionsForEachDependency(packages, depType = DEFAULT_DEP_TYPES) {\n const dependenciesToVersionsSeen = /* @__PURE__ */ new Map();\n for (const package_ of packages) {\n recordDependencyVersionsForPackageJson(dependenciesToVersionsSeen, package_, depType);\n }\n return dependenciesToVersionsSeen;\n}\nfunction recordDependencyVersionsForPackageJson(dependenciesToVersionsSeen, package_, depType) {\n if (package_.packageJson.name && package_.packageJson.version) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n package_.packageJson.name,\n package_.packageJson.version,\n package_,\n true\n );\n }\n if (depType.includes(\"dependencies\" /* dependencies */) && package_.packageJson.dependencies) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.dependencies\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n if (depType.includes(\"devDependencies\" /* devDependencies */) && package_.packageJson.devDependencies) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.devDependencies\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n if (depType.includes(\"optionalDependencies\" /* optionalDependencies */) && package_.packageJson.optionalDependencies) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.optionalDependencies\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n if (depType.includes(\"peerDependencies\" /* peerDependencies */) && package_.packageJson.peerDependencies) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.peerDependencies\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n if (depType.includes(\"resolutions\" /* resolutions */) && package_.packageJson.resolutions) {\n for (const [dependency, dependencyVersion] of Object.entries(\n package_.packageJson.resolutions\n )) {\n if (dependencyVersion) {\n recordDependencyVersion(\n dependenciesToVersionsSeen,\n dependency,\n dependencyVersion,\n package_\n );\n }\n }\n }\n}\nfunction recordDependencyVersion(dependenciesToVersionsSeen, dependency, version, package_, isLocalPackageVersion = false) {\n if (!dependenciesToVersionsSeen.has(dependency)) {\n dependenciesToVersionsSeen.set(dependency, []);\n }\n const list = dependenciesToVersionsSeen.get(dependency);\n if (list) {\n list.push({ package: package_, version, isLocalPackageVersion });\n }\n}\nfunction calculateDependenciesAndVersions(dependencyVersions) {\n return [...dependencyVersions.entries()].sort((a, b) => a[0].localeCompare(b[0])).flatMap(([dependency, versionObjectsForDep]) => {\n if (!versionObjectsForDep) {\n return [];\n }\n let versions = versionObjectsForDep.filter((versionObject) => !versionObject.isLocalPackageVersion).map((versionObject) => versionObject.version);\n const localPackageVersions = versionObjectsForDep.filter((versionObject) => versionObject.isLocalPackageVersion).map((versionObject) => versionObject.version);\n const allVersionsHaveWorkspacePrefix = versions.every(\n (version) => version.startsWith(\"workspace:\")\n );\n const hasIncompatibilityWithLocalPackageVersion = versions.some(\n (version) => localPackageVersions[0] !== version\n );\n if (localPackageVersions.length === 1 && !allVersionsHaveWorkspacePrefix && hasIncompatibilityWithLocalPackageVersion) {\n versions = [...versions, ...localPackageVersions];\n }\n const uniqueVersions = [...new Set(versions)];\n const uniqueVersionsWithInfo = versionsObjectsWithSortedPackages(\n uniqueVersions,\n versionObjectsForDep\n );\n return {\n dependency,\n versions: uniqueVersionsWithInfo\n };\n });\n}\nfunction versionsObjectsWithSortedPackages(versions, versionObjects) {\n return versions.map((version) => {\n const matchingVersionObjects = versionObjects.filter(\n (versionObject) => versionObject.version === version\n );\n return {\n version,\n packages: matchingVersionObjects.map((object) => object.package).sort((a, b) => Package.comparator(a, b))\n };\n });\n}\nconst HARDCODED_IGNORED_DEPENDENCIES = /* @__PURE__ */ new Set([\n \"//\"\n // May be used to add comments to package.json files.\n]);\nfunction filterOutIgnoredDependencies(mismatchingVersions, ignoredDependencies, includedDependencyPatterns) {\n for (const ignoreDependency of ignoredDependencies) {\n if (!mismatchingVersions.some(\n (mismatchingVersion) => mismatchingVersion.dependency === ignoreDependency\n )) {\n throw new Error(\n `Specified option '--ignore-dep ${ignoreDependency}', but no version mismatches detected for this dependency.`\n );\n }\n }\n if (ignoredDependencies.length > 0 || includedDependencyPatterns.length > 0 || mismatchingVersions.some(\n (mismatchingVersion) => HARDCODED_IGNORED_DEPENDENCIES.has(mismatchingVersion.dependency)\n )) {\n return mismatchingVersions.filter(\n (mismatchingVersion) => !ignoredDependencies.includes(mismatchingVersion.dependency) && includedDependencyPatterns.some(\n (ignoreDependencyPattern) => mismatchingVersion.dependency.match(ignoreDependencyPattern)\n ) && !HARDCODED_IGNORED_DEPENDENCIES.has(mismatchingVersion.dependency)\n );\n }\n return mismatchingVersions;\n}\nfunction getPackages(root, ignorePackages, ignorePackagePatterns, ignorePaths, ignorePathPatterns) {\n if (!Package.exists(root)) {\n throw new Error(\"No package.json found at provided path.\");\n }\n const packages = accumulatePackages(root, [\".\"]);\n for (const ignoredPackage of ignorePackages) {\n if (!Package.some(packages, (package_) => package_.name === ignoredPackage)) {\n throw new Error(\n `Specified option '--ignore-package ${ignoredPackage}', but no such package detected in workspace.`\n );\n }\n }\n for (const ignoredPackagePattern of ignorePackagePatterns) {\n if (\n // eslint-disable-next-line unicorn/no-array-method-this-argument,unicorn/no-array-callback-reference -- false positive\n !Package.some(packages, (package_) => ignoredPackagePattern.test(package_.name))\n ) {\n throw new Error(\n `Specified option '--ignore-package-pattern ${String(\n ignoredPackagePattern\n )}', but no matching packages detected in workspace.`\n );\n }\n }\n for (const ignoredPath of ignorePaths) {\n if (\n // eslint-disable-next-line unicorn/no-array-method-this-argument,unicorn/no-array-callback-reference -- false positive\n !Package.some(packages, (package_) => package_.pathRelative.includes(ignoredPath))\n ) {\n throw new Error(\n `Specified option '--ignore-path ${ignoredPath}', but no matching paths detected in workspace.`\n );\n }\n }\n for (const ignoredPathPattern of ignorePathPatterns) {\n if (\n // eslint-disable-next-line unicorn/no-array-method-this-argument,unicorn/no-array-callback-reference -- false positive\n !Package.some(\n packages,\n (package_) => ignoredPathPattern.test(package_.pathRelative)\n )\n ) {\n throw new Error(\n `Specified option '--ignore-path-pattern ${String(\n ignoredPathPattern\n )}', but no matching paths detected in workspace.`\n );\n }\n }\n if (ignorePackages.length > 0 || ignorePackagePatterns.length > 0 || ignorePaths.length > 0 || ignorePathPatterns.length > 0) {\n return packages.filter(\n (package_) => !ignorePackages.includes(package_.name) && !ignorePackagePatterns.some(\n (ignorePackagePattern) => package_.name.match(ignorePackagePattern)\n ) && !ignorePaths.some((ignorePath) => package_.pathRelative.includes(ignorePath)) && !ignorePathPatterns.some(\n (ignorePathPattern) => package_.pathRelative.match(ignorePathPattern)\n )\n );\n }\n return packages;\n}\nfunction expandWorkspaces(root, workspacePatterns) {\n return workspacePatterns.flatMap((workspace) => {\n if (!workspace.includes(\"*\")) {\n return [workspace];\n }\n return FastGlob.globSync(workspace, {\n onlyDirectories: true,\n cwd: root,\n ignore: [\"**/node_modules\"]\n });\n });\n}\nfunction accumulatePackages(root, paths) {\n const results = [];\n for (const relativePath of paths) {\n const path = join(root, relativePath);\n if (Package.exists(path)) {\n const package_ = new Package(path, root);\n results.push(\n // Add the current package.\n package_,\n ...accumulatePackages(path, expandWorkspaces(path, package_.workspacePatterns))\n );\n }\n }\n return results;\n}\nclass Package {\n /** Absolute path to package */\n path;\n /** Absolute path to workspace.*/\n pathWorkspace;\n /** Absolute path to package.json. */\n pathPackageJson;\n packageJson;\n packageJsonEndsInNewline;\n pnpmWorkspacePackages;\n constructor(path, pathWorkspace) {\n this.path = path;\n this.pathWorkspace = pathWorkspace;\n this.pathPackageJson = join(path, \"package.json\");\n const packageJsonContents = readFileSync(this.pathPackageJson, \"utf8\");\n this.packageJsonEndsInNewline = packageJsonContents.endsWith(\"\\n\");\n this.packageJson = JSON.parse(packageJsonContents);\n const pnpmWorkspacePath = join(path, \"pnpm-workspace.yaml\");\n if (existsSync(pnpmWorkspacePath)) {\n const pnpmWorkspaceContents = readFileSync(pnpmWorkspacePath, \"utf8\");\n const pnpmWorkspaceYaml = load(pnpmWorkspaceContents);\n this.pnpmWorkspacePackages = pnpmWorkspaceYaml.packages;\n }\n }\n get name() {\n if (this.workspacePatterns.length > 0 && !this.packageJson.name) {\n return \"(Root)\";\n }\n if (!this.packageJson.name) {\n throw new Error(`${this.pathPackageJson} missing \\`name\\``);\n }\n return this.packageJson.name;\n }\n /** Relative to workspace root. */\n get pathRelative() {\n return relative(this.pathWorkspace, this.path);\n }\n get workspacePatterns() {\n if (this.packageJson.workspaces) {\n if (Array.isArray(this.packageJson.workspaces)) {\n return this.packageJson.workspaces;\n } else if (this.packageJson.workspaces.packages) {\n if (!Array.isArray(this.packageJson.workspaces.packages)) {\n throw new TypeError(\"package.json `workspaces.packages` is not a string array.\");\n }\n return this.packageJson.workspaces.packages;\n } else {\n throw new TypeError(\"package.json `workspaces` is not a string array.\");\n }\n }\n if (this.pnpmWorkspacePackages) {\n if (!Array.isArray(this.pnpmWorkspacePackages)) {\n throw new TypeError(\"pnpm-workspace.yaml `packages` is not a string array.\");\n }\n return this.pnpmWorkspacePackages;\n }\n return [];\n }\n static exists(path) {\n const packageJsonPath = join(path, \"package.json\");\n return existsSync(packageJsonPath);\n }\n static some(packages, callback) {\n return packages.some((package_) => callback(package_));\n }\n static comparator(package1, package2) {\n return package1.name.localeCompare(package2.name);\n }\n}\nvar DEPENDENCY_TYPE = /* @__PURE__ */ ((DEPENDENCY_TYPE2) => {\n DEPENDENCY_TYPE2[\"dependencies\"] = \"dependencies\";\n DEPENDENCY_TYPE2[\"devDependencies\"] = \"devDependencies\";\n DEPENDENCY_TYPE2[\"optionalDependencies\"] = \"optionalDependencies\";\n DEPENDENCY_TYPE2[\"peerDependencies\"] = \"peerDependencies\";\n DEPENDENCY_TYPE2[\"resolutions\"] = \"resolutions\";\n return DEPENDENCY_TYPE2;\n})(DEPENDENCY_TYPE || {});\nconst DEFAULT_DEP_TYPES = [\n \"dependencies\" /* dependencies */,\n \"devDependencies\" /* devDependencies */,\n \"optionalDependencies\" /* optionalDependencies */,\n \"resolutions\" /* resolutions */\n // peerDependencies is not included by default, see discussion in: https://github.com/bmish/check-dependency-version-consistency/issues/402\n];\nfunction check(path) {\n const options = {\n includeDepPattern: [\"tamagui\", \"react-native-web-lite\", \"react-native-web-internals\"]\n };\n if (options && options.depType && options.depType.some((dt) => !Object.keys(DEPENDENCY_TYPE).includes(dt))) {\n throw new Error(\n `Invalid depType provided. Choices are: ${Object.keys(DEPENDENCY_TYPE).join(\", \")}.`\n );\n }\n const optionsWithDefaults = {\n fix: false,\n ignoreDep: [],\n includeDepPattern: [],\n ignorePackage: [],\n ignorePackagePattern: [],\n ignorePath: [],\n ignorePathPattern: [],\n ...options,\n // Fallback to default if no depType(s) provided.\n depType: options && options.depType && options.depType.length > 0 ? options.depType : DEFAULT_DEP_TYPES\n };\n const packages = getPackages(\n path,\n optionsWithDefaults.ignorePackage,\n optionsWithDefaults.ignorePackagePattern.map((s) => new RegExp(s)),\n optionsWithDefaults.ignorePath,\n optionsWithDefaults.ignorePathPattern.map((s) => new RegExp(s))\n );\n const dependencies = calculateVersionsForEachDependency(\n packages,\n optionsWithDefaults.depType.map((dt) => DEPENDENCY_TYPE[dt])\n // Convert string to enum.\n );\n const dependenciesAndVersions = calculateDependenciesAndVersions(dependencies);\n const dependenciesAndVersionsWithMismatches = dependenciesAndVersions.filter(\n ({ versions }) => versions.length > 1\n );\n const dependenciesAndVersionsWithoutIgnored = filterOutIgnoredDependencies(\n dependenciesAndVersions,\n optionsWithDefaults.ignoreDep,\n optionsWithDefaults.includeDepPattern.map((s) => new RegExp(s))\n );\n const dependenciesAndVersionsMismatchesWithoutIgnored = filterOutIgnoredDependencies(\n dependenciesAndVersionsWithMismatches,\n optionsWithDefaults.ignoreDep,\n optionsWithDefaults.includeDepPattern.map((s) => new RegExp(s))\n );\n return {\n // Information about all dependencies.\n dependencies: Object.fromEntries(\n dependenciesAndVersionsWithoutIgnored.map(({ dependency, versions }) => {\n return [\n dependency,\n {\n isMismatching: dependenciesAndVersionsMismatchesWithoutIgnored.some(\n (dep) => dep.dependency === dependency\n ),\n versions\n }\n ];\n })\n )\n };\n}\nclass CDVC {\n /** An object mapping each dependency in the workspace to information including the versions found of it. */\n dependencies;\n /**\n * @param path - path to the workspace root\n * @param options\n * @param options.fix - Whether to autofix inconsistencies (using latest version present)\n * @param options.ignoreDep - Dependency(s) to ignore mismatches for\n * @param options.includeDepPattern - RegExp(s) of dependency names to ignore mismatches for\n * @param options.ignorePackage - Workspace package(s) to ignore mismatches for\n * @param options.ignorePackagePattern - RegExp(s) of package names to ignore mismatches for\n * @param options.ignorePath - Workspace-relative path(s) of packages to ignore mismatches for\n * @param options.ignorePathPattern - RegExp(s) of workspace-relative path of packages to ignore mismatches for\n */\n constructor(path) {\n const { dependencies } = check(path);\n this.dependencies = dependencies;\n }\n toMismatchSummary() {\n return dependenciesToMismatchSummary(this.dependencies);\n }\n getDependencies() {\n return Object.keys(this.dependencies).map(\n (dependency) => this.getDependency(dependency)\n );\n }\n getDependency(name) {\n return {\n name,\n isMismatching: this.dependencies[name].isMismatching,\n versions: this.dependencies[name].versions.map((version) => ({\n version: version.version,\n packages: version.packages.map((package_) => ({\n pathRelative: package_.pathRelative\n }))\n }))\n };\n }\n get hasMismatchingDependencies() {\n return Object.values(this.dependencies).some((dep) => dep.isMismatching);\n }\n}\nfunction dependenciesToMismatchSummary(dependencies) {\n const mismatchingDependencyVersions = Object.entries(dependencies).filter(([, value]) => value.isMismatching).map(([dependency, value]) => ({ dependency, versions: value.versions }));\n if (mismatchingDependencyVersions.length === 0) {\n return \"\";\n }\n const tables = mismatchingDependencyVersions.map((object) => {\n return `${object.dependency} - ${object.versions.map((v) => `${v.version}`).join(\", \")}`;\n }).join(\"\");\n return [\n `Found ${mismatchingDependencyVersions.length} ${mismatchingDependencyVersions.length === 1 ? \"dependency\" : \"dependencies\"} with mismatching versions across the workspace.`,\n tables\n ].join(\"\\n\");\n}\nexport {\n CDVC\n};\n//# sourceMappingURL=check-dep-versions.js.map\n"],"mappings":"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"}
|