@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.
Files changed (89) hide show
  1. package/dist/cjs/check-dep-versions.cjs +0 -1
  2. package/dist/cjs/checkDeps.cjs +0 -1
  3. package/dist/cjs/compiler.cjs +0 -1
  4. package/dist/cjs/compilerHost.cjs +5 -6
  5. package/dist/cjs/constants.cjs +0 -1
  6. package/dist/cjs/domStructuralPass.cjs +0 -1
  7. package/dist/cjs/exports.cjs +0 -2
  8. package/dist/cjs/extractor/addLocalExports.cjs +0 -1
  9. package/dist/cjs/extractor/bundle.cjs +0 -1
  10. package/dist/cjs/extractor/bundleConfig.cjs +0 -1
  11. package/dist/cjs/extractor/concatClassName.cjs +0 -1
  12. package/dist/cjs/extractor/detectModuleFormat.cjs +0 -1
  13. package/dist/cjs/extractor/esbuildAliasPlugin.cjs +0 -1
  14. package/dist/cjs/extractor/esbuildTsconfigPaths.cjs +0 -1
  15. package/dist/cjs/extractor/getTamaguiConfigPathFromOptionsConfig.cjs +0 -1
  16. package/dist/cjs/extractor/loadTamagui.cjs +0 -1
  17. package/dist/cjs/extractor/regenerateConfig.cjs +2 -3
  18. package/dist/cjs/extractor/watchTamaguiConfig.cjs +0 -1
  19. package/dist/cjs/getPragmaOptions.cjs +0 -1
  20. package/dist/cjs/helpers/memoize.cjs +0 -1
  21. package/dist/cjs/helpers/requireTamaguiCore.cjs +0 -1
  22. package/dist/cjs/index.cjs +0 -1
  23. package/dist/cjs/registerRequire.cjs +0 -1
  24. package/dist/cjs/server.cjs +0 -1
  25. package/dist/cjs/staticEvaluationIgnoredModules.cjs +0 -1
  26. package/dist/cjs/types.cjs +0 -1
  27. package/dist/cjs/zero/artifact.cjs +0 -1
  28. package/dist/cjs/zero/graph.cjs +0 -1
  29. package/dist/cjs/zero/identity.cjs +0 -1
  30. package/dist/cjs/zero/index.cjs +8 -1
  31. package/dist/cjs/zero/islands.cjs +5 -3
  32. package/dist/cjs/zero/options.cjs +0 -1
  33. package/dist/cjs/zero/ownership.cjs +0 -1
  34. package/dist/cjs/zero/theme.cjs +35 -14
  35. package/dist/cjs/zero/transform.cjs +7 -3
  36. package/dist/esm/check-dep-versions.mjs.map +1 -1
  37. package/dist/esm/checkDeps.mjs.map +1 -1
  38. package/dist/esm/compiler.mjs.map +1 -1
  39. package/dist/esm/compilerHost.mjs +2 -3
  40. package/dist/esm/compilerHost.mjs.map +1 -1
  41. package/dist/esm/domStructuralPass.mjs.map +1 -1
  42. package/dist/esm/exports.mjs +0 -2
  43. package/dist/esm/extractor/bundle.mjs.map +1 -1
  44. package/dist/esm/extractor/bundleConfig.mjs.map +1 -1
  45. package/dist/esm/extractor/esbuildAliasPlugin.mjs.map +1 -1
  46. package/dist/esm/extractor/esbuildTsconfigPaths.mjs.map +1 -1
  47. package/dist/esm/extractor/getTamaguiConfigPathFromOptionsConfig.mjs.map +1 -1
  48. package/dist/esm/extractor/loadTamagui.mjs.map +1 -1
  49. package/dist/esm/extractor/regenerateConfig.mjs +1 -1
  50. package/dist/esm/extractor/regenerateConfig.mjs.map +1 -1
  51. package/dist/esm/extractor/watchTamaguiConfig.mjs.map +1 -1
  52. package/dist/esm/getPragmaOptions.mjs.map +1 -1
  53. package/dist/esm/helpers/requireTamaguiCore.mjs.map +1 -1
  54. package/dist/esm/registerRequire.mjs.map +1 -1
  55. package/dist/esm/server.mjs.map +1 -1
  56. package/dist/esm/zero/artifact.mjs.map +1 -1
  57. package/dist/esm/zero/graph.mjs.map +1 -1
  58. package/dist/esm/zero/identity.mjs.map +1 -1
  59. package/dist/esm/zero/index.mjs +4 -0
  60. package/dist/esm/zero/islands.mjs +5 -2
  61. package/dist/esm/zero/islands.mjs.map +1 -1
  62. package/dist/esm/zero/options.mjs.map +1 -1
  63. package/dist/esm/zero/ownership.mjs.map +1 -1
  64. package/dist/esm/zero/theme.mjs +35 -13
  65. package/dist/esm/zero/theme.mjs.map +1 -1
  66. package/dist/esm/zero/transform.mjs +7 -2
  67. package/dist/esm/zero/transform.mjs.map +1 -1
  68. package/package.json +19 -19
  69. package/src/compilerHost.ts +1 -1
  70. package/src/exports.ts +0 -1
  71. package/src/extractor/regenerateConfig.ts +1 -1
  72. package/src/zero/index.ts +1 -0
  73. package/src/zero/islands.ts +5 -2
  74. package/src/zero/theme.ts +49 -17
  75. package/src/zero/transform.ts +13 -4
  76. package/types/exports.d.ts +0 -1
  77. package/types/exports.d.ts.map +1 -1
  78. package/types/zero/index.d.ts +1 -0
  79. package/types/zero/index.d.ts.map +1 -1
  80. package/types/zero/islands.d.ts.map +1 -1
  81. package/types/zero/theme.d.ts +2 -1
  82. package/types/zero/theme.d.ts.map +1 -1
  83. package/types/zero/transform.d.ts.map +1 -1
  84. package/dist/cjs/runtimeFeatures.cjs +0 -44
  85. package/dist/esm/runtimeFeatures.mjs +0 -20
  86. package/dist/esm/runtimeFeatures.mjs.map +0 -1
  87. package/src/runtimeFeatures.ts +0 -39
  88. package/types/runtimeFeatures.d.ts +0 -11
  89. package/types/runtimeFeatures.d.ts.map +0 -1
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -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 import_style_grammar = require("@tamagui/style-grammar");
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, import_style_grammar.createModifierRegistry)({
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, import_style_grammar.parseValue)(value, modifierRegistry);
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, import_style_grammar.parseTransition)(payload, transitionPresetNames);
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, import_style_grammar.parseTransition)(preset);
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
  }
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -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 __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -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 import_style_grammar = require("@tamagui/style-grammar");
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 import_style_grammar.grammarEntries) {
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
  }
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
-
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -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
- inlineValues: layers[index].inlineValues,
185
- inlineClassName: layers[index].inlineClassName,
184
+ _themeUpdate: createThemeUpdateState(
185
+ layers[index].inlineValues,
186
+ layers[index].inlineClassName
187
+ ),
186
188
  forceClassName: true,
187
189
  },
188
190
  node
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
-
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -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: "Theme",
139
- message: (0, import_compiler_core.zeroRuleMessage)(1, { component: "Theme" })
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 (key === "name") {
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: "Theme",
214
+ component: kind,
195
215
  message: (0, import_compiler_core.zeroRuleMessage)(3, {
196
216
  prop: key,
197
- component: "Theme",
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: "a self-closing <Theme>, which has no subtree to theme," })
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, import_web.getInlineValuesFromProps)(themeKeyProps, config, (issue) => issues.push(issue)) : null;
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: "Theme",
250
+ component: kind,
231
251
  message: (0, import_compiler_core.zeroRuleMessage)(3, {
232
252
  prop: issue.key,
233
- component: "Theme",
253
+ component: kind,
234
254
  detail: issue.message
235
255
  })
236
256
  });
237
257
  }
238
- const inlineCSS = inlineValues ? (0, import_web.getVariablesCSSRules)(inlineValues, config) : null;
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 = themeLocal ? elements.filter((element) => jsxNameOf(element) === themeLocal) : [];
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":";;;;;;AAIA,SAAS,mCAAmC,UAAU,UAAU,mBAAmB;CACjF,MAAM,6CAA6C,IAAI,IAAI;CAC3D,KAAK,MAAM,YAAY,UAAU;EAC/B,uCAAuC,4BAA4B,UAAU,OAAO;CACtF;CACA,OAAO;AACT;AACA,SAAS,uCAAuC,4BAA4B,UAAU,SAAS;CAC7F,IAAI,SAAS,YAAY,QAAQ,SAAS,YAAY,SAAS;EAC7D,wBACE,4BACA,SAAS,YAAY,MACrB,SAAS,YAAY,SACrB,UACA,IACF;CACF;CACA,IAAI,QAAQ,SAAS,cAAiC,KAAK,SAAS,YAAY,cAAc;EAC5F,KAAK,MAAM,CAAC,YAAY,sBAAsB,OAAO,QACnD,SAAS,YAAY,YACvB,GAAG;GACD,IAAI,mBAAmB;IACrB,wBACE,4BACA,YACA,mBACA,QACF;GACF;EACF;CACF;CACA,IAAI,QAAQ,SAAS,iBAAuC,KAAK,SAAS,YAAY,iBAAiB;EACrG,KAAK,MAAM,CAAC,YAAY,sBAAsB,OAAO,QACnD,SAAS,YAAY,eACvB,GAAG;GACD,IAAI,mBAAmB;IACrB,wBACE,4BACA,YACA,mBACA,QACF;GACF;EACF;CACF;CACA,IAAI,QAAQ,SAAS,sBAAiD,KAAK,SAAS,YAAY,sBAAsB;EACpH,KAAK,MAAM,CAAC,YAAY,sBAAsB,OAAO,QACnD,SAAS,YAAY,oBACvB,GAAG;GACD,IAAI,mBAAmB;IACrB,wBACE,4BACA,YACA,mBACA,QACF;GACF;EACF;CACF;CACA,IAAI,QAAQ,SAAS,kBAAyC,KAAK,SAAS,YAAY,kBAAkB;EACxG,KAAK,MAAM,CAAC,YAAY,sBAAsB,OAAO,QACnD,SAAS,YAAY,gBACvB,GAAG;GACD,IAAI,mBAAmB;IACrB,wBACE,4BACA,YACA,mBACA,QACF;GACF;EACF;CACF;CACA,IAAI,QAAQ,SAAS,aAA+B,KAAK,SAAS,YAAY,aAAa;EACzF,KAAK,MAAM,CAAC,YAAY,sBAAsB,OAAO,QACnD,SAAS,YAAY,WACvB,GAAG;GACD,IAAI,mBAAmB;IACrB,wBACE,4BACA,YACA,mBACA,QACF;GACF;EACF;CACF;AACF;AACA,SAAS,wBAAwB,4BAA4B,YAAY,SAAS,UAAU,wBAAwB,OAAO;CACzH,IAAI,CAAC,2BAA2B,IAAI,UAAU,GAAG;EAC/C,2BAA2B,IAAI,YAAY,CAAC,CAAC;CAC/C;CACA,MAAM,OAAO,2BAA2B,IAAI,UAAU;CACtD,IAAI,MAAM;EACR,KAAK,KAAK;GAAE,SAAS;GAAU;GAAS;EAAsB,CAAC;CACjE;AACF;AACA,SAAS,iCAAiC,oBAAoB;CAC5D,OAAO,CAAC,GAAG,mBAAmB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,YAAY,0BAA0B;EAChI,IAAI,CAAC,sBAAsB;GACzB,OAAO,CAAC;EACV;EACA,IAAI,WAAW,qBAAqB,QAAQ,kBAAkB,CAAC,cAAc,qBAAqB,EAAE,KAAK,kBAAkB,cAAc,OAAO;EAChJ,MAAM,uBAAuB,qBAAqB,QAAQ,kBAAkB,cAAc,qBAAqB,EAAE,KAAK,kBAAkB,cAAc,OAAO;EAC7J,MAAM,iCAAiC,SAAS,OAC7C,YAAY,QAAQ,WAAW,YAAY,CAC9C;EACA,MAAM,4CAA4C,SAAS,MACxD,YAAY,qBAAqB,OAAO,OAC3C;EACA,IAAI,qBAAqB,WAAW,KAAK,CAAC,kCAAkC,2CAA2C;GACrH,WAAW,CAAC,GAAG,UAAU,GAAG,oBAAoB;EAClD;EACA,MAAM,iBAAiB,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC;EAC5C,MAAM,yBAAyB,kCAC7B,gBACA,oBACF;EACA,OAAO;GACL;GACA,UAAU;EACZ;CACF,CAAC;AACH;AACA,SAAS,kCAAkC,UAAU,gBAAgB;CACnE,OAAO,SAAS,KAAK,YAAY;EAC/B,MAAM,yBAAyB,eAAe,QAC3C,kBAAkB,cAAc,YAAY,OAC/C;EACA,OAAO;GACL;GACA,UAAU,uBAAuB,KAAK,WAAW,OAAO,OAAO,EAAE,MAAM,GAAG,MAAM,QAAQ,WAAW,GAAG,CAAC,CAAC;EAC1G;CACF,CAAC;AACH;AACA,MAAM,iDAAiD,IAAI,IAAI,CAC7D,IAEF,CAAC;AACD,SAAS,6BAA6B,qBAAqB,qBAAqB,4BAA4B;CAC1G,KAAK,MAAM,oBAAoB,qBAAqB;EAClD,IAAI,CAAC,oBAAoB,MACtB,uBAAuB,mBAAmB,eAAe,gBAC5D,GAAG;GACD,MAAM,IAAI,MACR,kCAAkC,iBAAiB,2DACrD;EACF;CACF;CACA,IAAI,oBAAoB,SAAS,KAAK,2BAA2B,SAAS,KAAK,oBAAoB,MAChG,uBAAuB,+BAA+B,IAAI,mBAAmB,UAAU,CAC1F,GAAG;EACD,OAAO,oBAAoB,QACxB,uBAAuB,CAAC,oBAAoB,SAAS,mBAAmB,UAAU,KAAK,2BAA2B,MAChH,4BAA4B,mBAAmB,WAAW,MAAM,uBAAuB,CAC1F,KAAK,CAAC,+BAA+B,IAAI,mBAAmB,UAAU,CACxE;CACF;CACA,OAAO;AACT;AACA,SAAS,YAAY,MAAM,gBAAgB,uBAAuB,aAAa,oBAAoB;CACjG,IAAI,CAAC,QAAQ,OAAO,IAAI,GAAG;EACzB,MAAM,IAAI,MAAM,yCAAyC;CAC3D;CACA,MAAM,WAAW,mBAAmB,MAAM,CAAC,GAAG,CAAC;CAC/C,KAAK,MAAM,kBAAkB,gBAAgB;EAC3C,IAAI,CAAC,QAAQ,KAAK,WAAW,aAAa,SAAS,SAAS,cAAc,GAAG;GAC3E,MAAM,IAAI,MACR,sCAAsC,eAAe,8CACvD;EACF;CACF;CACA,KAAK,MAAM,yBAAyB,uBAAuB;EACzD,IAEE,CAAC,QAAQ,KAAK,WAAW,aAAa,sBAAsB,KAAK,SAAS,IAAI,CAAC,GAC/E;GACA,MAAM,IAAI,MACR,8CAA8C,OAC5C,qBACF,EAAE,mDACJ;EACF;CACF;CACA,KAAK,MAAM,eAAe,aAAa;EACrC,IAEE,CAAC,QAAQ,KAAK,WAAW,aAAa,SAAS,aAAa,SAAS,WAAW,CAAC,GACjF;GACA,MAAM,IAAI,MACR,mCAAmC,YAAY,gDACjD;EACF;CACF;CACA,KAAK,MAAM,sBAAsB,oBAAoB;EACnD,IAEE,CAAC,QAAQ,KACP,WACC,aAAa,mBAAmB,KAAK,SAAS,YAAY,CAC7D,GACA;GACA,MAAM,IAAI,MACR,2CAA2C,OACzC,kBACF,EAAE,gDACJ;EACF;CACF;CACA,IAAI,eAAe,SAAS,KAAK,sBAAsB,SAAS,KAAK,YAAY,SAAS,KAAK,mBAAmB,SAAS,GAAG;EAC5H,OAAO,SAAS,QACb,aAAa,CAAC,eAAe,SAAS,SAAS,IAAI,KAAK,CAAC,sBAAsB,MAC7E,yBAAyB,SAAS,KAAK,MAAM,oBAAoB,CACpE,KAAK,CAAC,YAAY,MAAM,eAAe,SAAS,aAAa,SAAS,UAAU,CAAC,KAAK,CAAC,mBAAmB,MACvG,sBAAsB,SAAS,aAAa,MAAM,iBAAiB,CACtE,CACF;CACF;CACA,OAAO;AACT;AACA,SAAS,iBAAiB,MAAM,mBAAmB;CACjD,OAAO,kBAAkB,SAAS,cAAc;EAC9C,IAAI,CAAC,UAAU,SAAS,GAAG,GAAG;GAC5B,OAAO,CAAC,SAAS;EACnB;EACA,OAAO,SAAS,SAAS,WAAW;GAClC,iBAAiB;GACjB,KAAK;GACL,QAAQ,CAAC,iBAAiB;EAC5B,CAAC;CACH,CAAC;AACH;AACA,SAAS,mBAAmB,MAAM,OAAO;CACvC,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,gBAAgB,OAAO;EAChC,MAAM,OAAO,KAAK,MAAM,YAAY;EACpC,IAAI,QAAQ,OAAO,IAAI,GAAG;GACxB,MAAM,WAAW,IAAI,QAAQ,MAAM,IAAI;GACvC,QAAQ,KAEN,UACA,GAAG,mBAAmB,MAAM,iBAAiB,MAAM,SAAS,iBAAiB,CAAC,CAChF;EACF;CACF;CACA,OAAO;AACT;AACA,IAAM,UAAN,MAAc;;CAEZ;;CAEA;;CAEA;CACA;CACA;CACA;CACA,YAAY,MAAM,eAAe;EAC/B,KAAK,OAAO;EACZ,KAAK,gBAAgB;EACrB,KAAK,kBAAkB,KAAK,MAAM,cAAc;EAChD,MAAM,sBAAsB,aAAa,KAAK,iBAAiB,MAAM;EACrE,KAAK,2BAA2B,oBAAoB,SAAS,IAAI;EACjE,KAAK,cAAc,KAAK,MAAM,mBAAmB;EACjD,MAAM,oBAAoB,KAAK,MAAM,qBAAqB;EAC1D,IAAI,WAAW,iBAAiB,GAAG;GACjC,MAAM,wBAAwB,aAAa,mBAAmB,MAAM;GACpE,MAAM,oBAAoB,KAAK,qBAAqB;GACpD,KAAK,wBAAwB,kBAAkB;EACjD;CACF;CACA,IAAI,OAAO;EACT,IAAI,KAAK,kBAAkB,SAAS,KAAK,CAAC,KAAK,YAAY,MAAM;GAC/D,OAAO;EACT;EACA,IAAI,CAAC,KAAK,YAAY,MAAM;GAC1B,MAAM,IAAI,MAAM,GAAG,KAAK,gBAAgB,kBAAkB;EAC5D;EACA,OAAO,KAAK,YAAY;CAC1B;;CAEA,IAAI,eAAe;EACjB,OAAO,SAAS,KAAK,eAAe,KAAK,IAAI;CAC/C;CACA,IAAI,oBAAoB;EACtB,IAAI,KAAK,YAAY,YAAY;GAC/B,IAAI,MAAM,QAAQ,KAAK,YAAY,UAAU,GAAG;IAC9C,OAAO,KAAK,YAAY;GAC1B,OAAO,IAAI,KAAK,YAAY,WAAW,UAAU;IAC/C,IAAI,CAAC,MAAM,QAAQ,KAAK,YAAY,WAAW,QAAQ,GAAG;KACxD,MAAM,IAAI,UAAU,2DAA2D;IACjF;IACA,OAAO,KAAK,YAAY,WAAW;GACrC,OAAO;IACL,MAAM,IAAI,UAAU,kDAAkD;GACxE;EACF;EACA,IAAI,KAAK,uBAAuB;GAC9B,IAAI,CAAC,MAAM,QAAQ,KAAK,qBAAqB,GAAG;IAC9C,MAAM,IAAI,UAAU,uDAAuD;GAC7E;GACA,OAAO,KAAK;EACd;EACA,OAAO,CAAC;CACV;CACA,OAAO,OAAO,MAAM;EAClB,MAAM,kBAAkB,KAAK,MAAM,cAAc;EACjD,OAAO,WAAW,eAAe;CACnC;CACA,OAAO,KAAK,UAAU,UAAU;EAC9B,OAAO,SAAS,MAAM,aAAa,SAAS,QAAQ,CAAC;CACvD;CACA,OAAO,WAAW,UAAU,UAAU;EACpC,OAAO,SAAS,KAAK,cAAc,SAAS,IAAI;CAClD;AACF;AACA,IAAI,kBAAkC,kBAAE,qBAAqB;CAC3D,iBAAiB,kBAAkB;CACnC,iBAAiB,qBAAqB;CACtC,iBAAiB,0BAA0B;CAC3C,iBAAiB,sBAAsB;CACvC,iBAAiB,iBAAiB;CAClC,OAAO;AACT,GAAG,mBAAmB,CAAC,CAAC;AACxB,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;AAEF;AACA,SAAS,MAAM,MAAM;CACnB,MAAM,UAAU,EACd,mBAAmB;EAAC;EAAW;EAAyB;CAA4B,EACtF;CACA,IAAI,WAAW,QAAQ,WAAW,QAAQ,QAAQ,MAAM,OAAO,CAAC,OAAO,KAAK,eAAe,EAAE,SAAS,EAAE,CAAC,GAAG;EAC1G,MAAM,IAAI,MACR,0CAA0C,OAAO,KAAK,eAAe,EAAE,KAAK,IAAI,EAAE,EACpF;CACF;CACA,MAAM,sBAAsB;EAC1B,KAAK;EACL,WAAW,CAAC;EACZ,mBAAmB,CAAC;EACpB,eAAe,CAAC;EAChB,sBAAsB,CAAC;EACvB,YAAY,CAAC;EACb,mBAAmB,CAAC;EACpB,GAAG;EAEH,SAAS,WAAW,QAAQ,WAAW,QAAQ,QAAQ,SAAS,IAAI,QAAQ,UAAU;CACxF;CACA,MAAM,WAAW,YACf,MACA,oBAAoB,eACpB,oBAAoB,qBAAqB,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,GACjE,oBAAoB,YACpB,oBAAoB,kBAAkB,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,CAChE;CACA,MAAM,eAAe,mCACnB,UACA,oBAAoB,QAAQ,KAAK,OAAO,gBAAgB,GAAG,CAE7D;CACA,MAAM,0BAA0B,iCAAiC,YAAY;CAC7E,MAAM,wCAAwC,wBAAwB,QACnE,EAAE,eAAe,SAAS,SAAS,CACtC;CACA,MAAM,wCAAwC,6BAC5C,yBACA,oBAAoB,WACpB,oBAAoB,kBAAkB,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,CAChE;CACA,MAAM,kDAAkD,6BACtD,uCACA,oBAAoB,WACpB,oBAAoB,kBAAkB,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,CAChE;CACA,OAAO,EAEL,cAAc,OAAO,YACnB,sCAAsC,KAAK,EAAE,YAAY,eAAe;EACtE,OAAO,CACL,YACA;GACE,eAAe,gDAAgD,MAC5D,QAAQ,IAAI,eAAe,UAC9B;GACA;EACF,CACF;CACF,CAAC,CACH,EACF;AACF;AACA,IAAM,OAAN,MAAW;;CAET;;;;;;;;;;;;CAYA,YAAY,MAAM;EAChB,MAAM,EAAE,iBAAiB,MAAM,IAAI;EACnC,KAAK,eAAe;CACtB;CACA,oBAAoB;EAClB,OAAO,8BAA8B,KAAK,YAAY;CACxD;CACA,kBAAkB;EAChB,OAAO,OAAO,KAAK,KAAK,YAAY,EAAE,KACnC,eAAe,KAAK,cAAc,UAAU,CAC/C;CACF;CACA,cAAc,MAAM;EAClB,OAAO;GACL;GACA,eAAe,KAAK,aAAa,MAAM;GACvC,UAAU,KAAK,aAAa,MAAM,SAAS,KAAK,aAAa;IAC3D,SAAS,QAAQ;IACjB,UAAU,QAAQ,SAAS,KAAK,cAAc,EAC5C,cAAc,SAAS,aACzB,EAAE;GACJ,EAAE;EACJ;CACF;CACA,IAAI,6BAA6B;EAC/B,OAAO,OAAO,OAAO,KAAK,YAAY,EAAE,MAAM,QAAQ,IAAI,aAAa;CACzE;AACF;AACA,SAAS,8BAA8B,cAAc;CACnD,MAAM,gCAAgC,OAAO,QAAQ,YAAY,EAAE,QAAQ,GAAG,WAAW,MAAM,aAAa,EAAE,KAAK,CAAC,YAAY,YAAY;EAAE;EAAY,UAAU,MAAM;CAAS,EAAE;CACrL,IAAI,8BAA8B,WAAW,GAAG;EAC9C,OAAO;CACT;CACA,MAAM,SAAS,8BAA8B,KAAK,WAAW;EAC3D,OAAO,GAAG,OAAO,WAAW,KAAK,OAAO,SAAS,KAAK,MAAM,GAAG,EAAE,SAAS,EAAE,KAAK,IAAI;CACvF,CAAC,EAAE,KAAK,EAAE;CACV,OAAO,CACL,SAAS,8BAA8B,OAAO,GAAG,8BAA8B,WAAW,IAAI,eAAe,eAAe,mDAC5H,MACF,EAAE,KAAK,IAAI;AACb"}
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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"}