@blotch/dolan 22.2.3 → 22.2.5

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 (227) hide show
  1. package/dist/commands/add.js +9 -1
  2. package/dist/commands/add.js.map +1 -1
  3. package/dist/commands/add.test.js +38 -3
  4. package/dist/commands/add.test.js.map +1 -1
  5. package/dist/commands/doctor.js +258 -21
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/commands/doctor.test.js +425 -11
  8. package/dist/commands/doctor.test.js.map +1 -1
  9. package/dist/commands/init.d.ts +2 -2
  10. package/dist/commands/init.js +38 -18
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/init.test.js +105 -2
  13. package/dist/commands/init.test.js.map +1 -1
  14. package/dist/commands/theme.js +1 -1
  15. package/dist/commands/theme.js.map +1 -1
  16. package/dist/commands/update.d.ts +7 -0
  17. package/dist/commands/update.js +194 -50
  18. package/dist/commands/update.js.map +1 -1
  19. package/dist/commands/update.test.js +570 -3
  20. package/dist/commands/update.test.js.map +1 -1
  21. package/dist/lockfile.d.ts +17 -0
  22. package/dist/lockfile.js +56 -1
  23. package/dist/lockfile.js.map +1 -1
  24. package/dist/lockfile.test.d.ts +1 -0
  25. package/dist/lockfile.test.js +65 -0
  26. package/dist/lockfile.test.js.map +1 -0
  27. package/dist/registry.d.ts +6 -0
  28. package/dist/registry.js +119 -11
  29. package/dist/registry.js.map +1 -1
  30. package/dist/registry.test.js +61 -6
  31. package/dist/registry.test.js.map +1 -1
  32. package/dist/test-utils.d.ts +27 -0
  33. package/dist/test-utils.js +45 -1
  34. package/dist/test-utils.js.map +1 -1
  35. package/dist/testing/fire-lynx-event.d.ts +14 -0
  36. package/dist/testing/fire-lynx-event.js +19 -0
  37. package/dist/testing/fire-lynx-event.js.map +1 -0
  38. package/dist/testing/fire-lynx-event.test.d.ts +1 -0
  39. package/dist/testing/fire-lynx-event.test.js +44 -0
  40. package/dist/testing/fire-lynx-event.test.js.map +1 -0
  41. package/dist/testing/lynx-main-thread.d.ts +22 -0
  42. package/dist/testing/lynx-main-thread.js +11 -0
  43. package/dist/testing/lynx-main-thread.js.map +1 -0
  44. package/dist/testing/lynx-main-thread.test.d.ts +1 -0
  45. package/dist/testing/lynx-main-thread.test.js +24 -0
  46. package/dist/testing/lynx-main-thread.test.js.map +1 -0
  47. package/dist/testing/set-input-signal.d.ts +5 -4
  48. package/dist/testing/set-input-signal.js +5 -4
  49. package/dist/testing/set-input-signal.js.map +1 -1
  50. package/dist/ui/boolean-inputs.test.ts +76 -0
  51. package/dist/ui/components/accordion/accordion.test.ts +158 -144
  52. package/dist/ui/components/accordion/accordion.ts +19 -14
  53. package/dist/ui/components/action-sheet/action-sheet.test.ts +637 -183
  54. package/dist/ui/components/action-sheet/action-sheet.ts +339 -55
  55. package/dist/ui/components/action-sheet/index.ts +1 -0
  56. package/dist/ui/components/alert/alert.test.ts +67 -19
  57. package/dist/ui/components/alert/alert.ts +14 -16
  58. package/dist/ui/components/alert-dialog/alert-dialog.test.ts +740 -129
  59. package/dist/ui/components/alert-dialog/alert-dialog.ts +672 -58
  60. package/dist/ui/components/alert-dialog/index.ts +5 -0
  61. package/dist/ui/components/area-chart/area-chart.test.ts +81 -1
  62. package/dist/ui/components/area-chart/area-chart.ts +3 -2
  63. package/dist/ui/components/avatar/avatar.test.ts +89 -45
  64. package/dist/ui/components/badge/badge.test.ts +57 -23
  65. package/dist/ui/components/badge/badge.ts +14 -15
  66. package/dist/ui/components/bar-chart/bar-chart.test.ts +82 -1
  67. package/dist/ui/components/bottom-sheet/bottom-sheet.test.ts +1314 -273
  68. package/dist/ui/components/bottom-sheet/bottom-sheet.ts +1046 -119
  69. package/dist/ui/components/bottom-sheet/index.ts +7 -1
  70. package/dist/ui/components/button/button.test.ts +646 -2
  71. package/dist/ui/components/button/button.ts +443 -64
  72. package/dist/ui/components/button/index.ts +2 -0
  73. package/dist/ui/components/button-group/button-group.test.ts +528 -2
  74. package/dist/ui/components/button-group/button-group.ts +428 -70
  75. package/dist/ui/components/button-group/index.ts +3 -0
  76. package/dist/ui/components/candlestick-chart/candlestick-chart.test.ts +82 -1
  77. package/dist/ui/components/card/card.test.ts +97 -61
  78. package/dist/ui/components/card/card.ts +2 -1
  79. package/dist/ui/components/chart/chart-presets.test.ts +197 -1
  80. package/dist/ui/components/chart/chart-presets.ts +14 -7
  81. package/dist/ui/components/chart/chart-theme.ts +12 -0
  82. package/dist/ui/components/chart/chart.test.ts +1031 -0
  83. package/dist/ui/components/chart/chart.ts +66 -46
  84. package/dist/ui/components/checkbox/checkbox.test.ts +124 -42
  85. package/dist/ui/components/checkbox/checkbox.ts +25 -24
  86. package/dist/ui/components/collapsible/collapsible.test.ts +158 -81
  87. package/dist/ui/components/collapsible/collapsible.ts +21 -15
  88. package/dist/ui/components/context-menu/context-menu.test.ts +224 -0
  89. package/dist/ui/components/context-menu/context-menu.ts +110 -0
  90. package/dist/ui/components/context-menu/index.ts +1 -0
  91. package/dist/ui/components/dialog/dialog.test.ts +210 -152
  92. package/dist/ui/components/dialog/dialog.ts +35 -29
  93. package/dist/ui/components/dock/dock-scroll.test.ts +130 -0
  94. package/dist/ui/components/dock/dock-scroll.ts +142 -0
  95. package/dist/ui/components/dock/dock-search.test.ts +594 -0
  96. package/dist/ui/components/dock/dock.test.ts +752 -0
  97. package/dist/ui/components/dock/dock.ts +1438 -0
  98. package/dist/ui/components/dock/index.ts +2 -0
  99. package/dist/ui/components/dynamic-color/dynamic-color.test.ts +144 -0
  100. package/dist/ui/components/dynamic-color/dynamic-color.ts +146 -0
  101. package/dist/ui/components/dynamic-color/index.ts +5 -0
  102. package/dist/ui/components/empty-state/empty-state.test.ts +28 -39
  103. package/dist/ui/components/glass/concentric-radius.test.ts +13 -0
  104. package/dist/ui/components/glass/concentric-radius.ts +17 -0
  105. package/dist/ui/components/glass/glass-design.test.ts +78 -0
  106. package/dist/ui/components/glass/glass-design.ts +119 -0
  107. package/dist/ui/components/glass/glass.test.ts +376 -0
  108. package/dist/ui/components/glass/glass.ts +430 -0
  109. package/dist/ui/components/glass/index.ts +19 -0
  110. package/dist/ui/components/icon/icon-theme.test.ts +64 -0
  111. package/dist/ui/components/icon/icon-theme.ts +70 -16
  112. package/dist/ui/components/icon/icon.test.ts +52 -41
  113. package/dist/ui/components/input/input.test.ts +178 -101
  114. package/dist/ui/components/input/input.ts +17 -13
  115. package/dist/ui/components/label/label.test.ts +11 -24
  116. package/dist/ui/components/label/label.ts +8 -2
  117. package/dist/ui/components/line-chart/line-chart.test.ts +76 -1
  118. package/dist/ui/components/line-chart/line-chart.ts +3 -2
  119. package/dist/ui/components/list/list.test.ts +80 -49
  120. package/dist/ui/components/list/list.ts +5 -4
  121. package/dist/ui/components/menu/index.ts +25 -0
  122. package/dist/ui/components/menu/menu-placement.test.ts +153 -0
  123. package/dist/ui/components/menu/menu-placement.ts +159 -0
  124. package/dist/ui/components/menu/menu-popup.test.ts +636 -0
  125. package/dist/ui/components/menu/menu-popup.ts +565 -0
  126. package/dist/ui/components/menu/menu.test.ts +523 -0
  127. package/dist/ui/components/menu/menu.ts +455 -0
  128. package/dist/ui/components/nav-drawer/nav-drawer.test.ts +425 -260
  129. package/dist/ui/components/nav-drawer/nav-drawer.ts +75 -58
  130. package/dist/ui/components/navigation-bar/index.ts +1 -0
  131. package/dist/ui/components/navigation-bar/navigation-bar.test.ts +425 -0
  132. package/dist/ui/components/navigation-bar/navigation-bar.ts +411 -0
  133. package/dist/ui/components/pagination/pagination.test.ts +136 -86
  134. package/dist/ui/components/popover/index.ts +9 -0
  135. package/dist/ui/components/popover/popover-panel.test.ts +735 -0
  136. package/dist/ui/components/popover/popover-panel.ts +603 -0
  137. package/dist/ui/components/popover/popover.test.ts +286 -0
  138. package/dist/ui/components/popover/popover.ts +207 -0
  139. package/dist/ui/components/progress/progress.test.ts +102 -46
  140. package/dist/ui/components/progress/progress.ts +54 -55
  141. package/dist/ui/components/radio-group/radio-group.test.ts +128 -83
  142. package/dist/ui/components/radio-group/radio-group.ts +26 -25
  143. package/dist/ui/components/scatter-chart/scatter-chart.test.ts +74 -1
  144. package/dist/ui/components/scroll-area/scroll-area.test.ts +72 -36
  145. package/dist/ui/components/scroll-area/scroll-area.ts +4 -3
  146. package/dist/ui/components/search-field/index.ts +15 -0
  147. package/dist/ui/components/search-field/keyboard.test.ts +147 -0
  148. package/dist/ui/components/search-field/keyboard.ts +123 -0
  149. package/dist/ui/components/search-field/search-field.test.ts +549 -0
  150. package/dist/ui/components/search-field/search-field.ts +628 -0
  151. package/dist/ui/components/segmented-control/index.ts +8 -0
  152. package/dist/ui/components/segmented-control/segmented-control.test.ts +861 -0
  153. package/dist/ui/components/segmented-control/segmented-control.ts +884 -0
  154. package/dist/ui/components/select/select.test.ts +138 -78
  155. package/dist/ui/components/select/select.ts +19 -12
  156. package/dist/ui/components/separator/separator.test.ts +18 -17
  157. package/dist/ui/components/sheet/sheet.test.ts +151 -11
  158. package/dist/ui/components/sheet/sheet.ts +68 -5
  159. package/dist/ui/components/skeleton/skeleton.test.ts +24 -7
  160. package/dist/ui/components/skeleton/skeleton.ts +10 -16
  161. package/dist/ui/components/slider/index.ts +1 -0
  162. package/dist/ui/components/slider/slider.test.ts +695 -0
  163. package/dist/ui/components/slider/slider.ts +901 -0
  164. package/dist/ui/components/spinner/spinner.test.ts +64 -46
  165. package/dist/ui/components/spinner/spinner.ts +16 -19
  166. package/dist/ui/components/switch/index.ts +1 -1
  167. package/dist/ui/components/switch/switch.test.ts +534 -48
  168. package/dist/ui/components/switch/switch.ts +613 -48
  169. package/dist/ui/components/tab-bar/index.ts +1 -0
  170. package/dist/ui/components/tab-bar/tab-bar.test.ts +280 -0
  171. package/dist/ui/components/tab-bar/tab-bar.ts +230 -0
  172. package/dist/ui/components/tabs/index.ts +7 -1
  173. package/dist/ui/components/tabs/tabs.test.ts +484 -150
  174. package/dist/ui/components/tabs/tabs.ts +344 -149
  175. package/dist/ui/components/textarea/textarea.test.ts +206 -100
  176. package/dist/ui/components/textarea/textarea.ts +16 -13
  177. package/dist/ui/components/toast/toast.test.ts +434 -350
  178. package/dist/ui/components/toast/toast.ts +42 -51
  179. package/dist/ui/components/toggle/index.ts +1 -0
  180. package/dist/ui/components/toggle/toggle.test.ts +559 -146
  181. package/dist/ui/components/toggle/toggle.ts +241 -26
  182. package/dist/ui/components/toolbar/bar-scroll.test.ts +310 -0
  183. package/dist/ui/components/toolbar/bar-scroll.ts +372 -0
  184. package/dist/ui/components/toolbar/index.ts +12 -0
  185. package/dist/ui/components/toolbar/toolbar.test.ts +438 -0
  186. package/dist/ui/components/toolbar/toolbar.ts +535 -0
  187. package/dist/ui/theme/chart-colors.test.ts +8 -3
  188. package/dist/ui/theme/dark.css +38 -2
  189. package/dist/ui/theme/default.css +55 -7
  190. package/dist/ui/theme/icon-colors.test.ts +8 -3
  191. package/dist/ui/theme/rgb-channels.test.ts +84 -0
  192. package/dist/ui/theme/tailwind-build.test.ts +114 -0
  193. package/dist/ui/theme/tailwind-css.test.ts +83 -0
  194. package/dist/ui/theme/tailwind-plugin.test.ts +42 -2
  195. package/dist/ui/theme/tailwind-plugin.ts +93 -29
  196. package/dist/ui/theme/tailwind.css +113 -0
  197. package/dist/ui/utils/animate.test.ts +13 -1
  198. package/dist/utils/analyze.d.ts +19 -0
  199. package/dist/utils/analyze.js +16 -0
  200. package/dist/utils/analyze.js.map +1 -1
  201. package/dist/utils/analyze.test.js +14 -1
  202. package/dist/utils/analyze.test.js.map +1 -1
  203. package/dist/utils/installed.d.ts +25 -1
  204. package/dist/utils/installed.js +33 -0
  205. package/dist/utils/installed.js.map +1 -1
  206. package/dist/utils/installed.test.js +55 -1
  207. package/dist/utils/installed.test.js.map +1 -1
  208. package/dist/utils/resolve-paths.d.ts +4 -4
  209. package/dist/utils/resolve-paths.js +5 -7
  210. package/dist/utils/resolve-paths.js.map +1 -1
  211. package/dist/utils/resolve-paths.test.js +9 -5
  212. package/dist/utils/resolve-paths.test.js.map +1 -1
  213. package/dist/utils/tailwind.d.ts +45 -0
  214. package/dist/utils/tailwind.js +90 -0
  215. package/dist/utils/tailwind.js.map +1 -0
  216. package/dist/utils/tailwind.test.d.ts +1 -0
  217. package/dist/utils/tailwind.test.js +134 -0
  218. package/dist/utils/tailwind.test.js.map +1 -0
  219. package/package.json +9 -1
  220. package/dist/ui/components/area-chart/area-chart-render.test.ts +0 -63
  221. package/dist/ui/components/bar-chart/bar-chart-render.test.ts +0 -58
  222. package/dist/ui/components/button/button-render.test.ts +0 -132
  223. package/dist/ui/components/button-group/button-group-render.test.ts +0 -146
  224. package/dist/ui/components/candlestick-chart/candlestick-chart-render.test.ts +0 -59
  225. package/dist/ui/components/chart/chart-render.test.ts +0 -730
  226. package/dist/ui/components/line-chart/line-chart-render.test.ts +0 -83
  227. package/dist/ui/components/scatter-chart/scatter-chart-render.test.ts +0 -64
@@ -1,11 +1,12 @@
1
1
  import * as p from '@clack/prompts';
2
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, } from 'node:fs';
3
3
  import { resolve, join } from 'node:path';
4
4
  import pc from 'picocolors';
5
5
  import { configExists, readConfig } from '../config.js';
6
6
  import { getComponentNames, getEntry, resolveDependencies, } from '../registry.js';
7
7
  import { getComponentFiles, getComponentSourceDir, rewriteImports, } from '../utils/resolve-paths.js';
8
8
  import { formatContent } from '../utils/format.js';
9
+ import { droppedFiles } from '../utils/installed.js';
9
10
  import { isInteractive } from '../utils/interactive.js';
10
11
  import { copiesTests, TESTING_LIBRARY } from '../utils/packages.js';
11
12
  import { installComponentPackages } from './install-packages.js';
@@ -121,6 +122,13 @@ export const addCommand = async (components, options = {}) => {
121
122
  if (!lockfile.components[name]) {
122
123
  lockfile.components[name] = {};
123
124
  }
125
+ // Overwriting a component makes it upstream's version, which no longer
126
+ // has these files, so they go with their lockfile entries. Left behind,
127
+ // a stale spec broke the app's `ng test` until `remove` and `add` again.
128
+ for (const file of droppedFiles(name, lockfile)) {
129
+ rmSync(join(destDir, file), { force: true });
130
+ delete lockfile.components[name][file];
131
+ }
124
132
  const files = getComponentFiles(name, { tests });
125
133
  for (const file of files) {
126
134
  // Read from the registry source, then rewrite cross-component imports.
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
2
  import { existsSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import { createFixture, DEFAULT_CONFIG } from '../test-utils';
5
+ import { hashContent } from '../lockfile';
5
6
  const spinnerMock = { start: vi.fn(), stop: vi.fn() };
6
7
  vi.mock('@clack/prompts', () => ({
7
8
  intro: vi.fn(),
@@ -61,6 +62,7 @@ describe('addCommand', () => {
61
62
  fixture = createFixture({
62
63
  config: DEFAULT_CONFIG,
63
64
  uiSource: {
65
+ icon: { 'icon.ts': 'export const UiIcon = {};' },
64
66
  chart: { 'chart.ts': 'export const UiChart = {};' },
65
67
  'line-chart': { 'line-chart.ts': 'export const UiLineChart = {};' },
66
68
  },
@@ -69,6 +71,7 @@ describe('addCommand', () => {
69
71
  const { addCommand } = await import('./add');
70
72
  await addCommand(['line-chart']);
71
73
  expect(installComponentPackages).toHaveBeenCalledWith(fixture.dir, [
74
+ 'icon',
72
75
  'chart',
73
76
  'line-chart',
74
77
  ]);
@@ -106,13 +109,15 @@ describe('addCommand', () => {
106
109
  expect(p.log.info).toHaveBeenCalledWith(expect.stringContaining('Available:'));
107
110
  });
108
111
  it('surfaces auto-added transitive dependencies', async () => {
109
- // button depends on spinner, and spinner on icon (registry.ts) — requesting
110
- // only "button" should pull both in automatically and announce them.
112
+ // button depends on spinner, glass and icon, and spinner and glass on
113
+ // icon (registry.ts) — requesting only "button" should pull them all in
114
+ // automatically and announce them.
111
115
  fixture = createFixture({
112
116
  config: DEFAULT_CONFIG,
113
117
  uiSource: {
114
118
  button: { 'button.ts': 'export const Button = {};' },
115
119
  spinner: { 'spinner.ts': 'export const Spinner = {};' },
120
+ glass: { 'glass.ts': 'export const Glass = {};' },
116
121
  icon: { 'icon.ts': 'export const Icon = {};' },
117
122
  },
118
123
  });
@@ -126,6 +131,7 @@ describe('addCommand', () => {
126
131
  // loosely with a regex instead of relying on literal adjacency.
127
132
  expect(p.log.info).toHaveBeenCalledWith(expect.stringMatching(/Adding dependencies:.*spinner/));
128
133
  expect(readInstalledFile(fixture.dir, 'spinner', 'spinner.ts')).toBeDefined();
134
+ expect(readInstalledFile(fixture.dir, 'glass', 'glass.ts')).toBeDefined();
129
135
  expect(readInstalledFile(fixture.dir, 'icon', 'icon.ts')).toBeDefined();
130
136
  });
131
137
  it('does not announce dependencies when they were already explicitly requested', async () => {
@@ -134,12 +140,13 @@ describe('addCommand', () => {
134
140
  uiSource: {
135
141
  button: { 'button.ts': 'export const Button = {};' },
136
142
  spinner: { 'spinner.ts': 'export const Spinner = {};' },
143
+ glass: { 'glass.ts': 'export const Glass = {};' },
137
144
  icon: { 'icon.ts': 'export const Icon = {};' },
138
145
  },
139
146
  });
140
147
  vi.spyOn(process, 'cwd').mockReturnValue(fixture.dir);
141
148
  const { addCommand } = await import('./add');
142
- await addCommand(['button', 'spinner', 'icon']);
149
+ await addCommand(['button', 'spinner', 'glass', 'icon']);
143
150
  const p = await import('@clack/prompts');
144
151
  expect(p.log.info).not.toHaveBeenCalledWith(expect.stringContaining('Adding dependencies'));
145
152
  });
@@ -251,6 +258,34 @@ describe('addCommand', () => {
251
258
  expect(p.confirm).not.toHaveBeenCalled();
252
259
  expect(readInstalledFile(fixture.dir, 'card', 'card.ts')).toBe(upstream);
253
260
  });
261
+ it('deletes the files upstream no longer ships when it overwrites a component', async () => {
262
+ // An older release copied card-render.test.ts; this one doesn't ship it.
263
+ // Left behind, the stale spec broke the app's `ng test`.
264
+ const card = 'export const Card = {};';
265
+ const stale = "import '../../../test-utils/set-input-signal';";
266
+ fixture = createFixture({
267
+ config: DEFAULT_CONFIG,
268
+ lockfile: {
269
+ version: 1,
270
+ components: {
271
+ card: {
272
+ 'card.ts': { hash: hashContent(card) },
273
+ 'card-render.test.ts': { hash: hashContent(stale) },
274
+ },
275
+ },
276
+ theme: {},
277
+ },
278
+ components: { card: { 'card.ts': card, 'card-render.test.ts': stale } },
279
+ uiSource: { card: { 'card.ts': card } },
280
+ });
281
+ vi.spyOn(process, 'cwd').mockReturnValue(fixture.dir);
282
+ const { addCommand } = await import('./add');
283
+ await addCommand(['card'], { force: true });
284
+ expect(existsSync(join(fixture.dir, DEFAULT_CONFIG.aliases.components, 'card', 'card-render.test.ts'))).toBe(false);
285
+ expect(readLockfile(fixture.dir).components.card).toEqual({
286
+ 'card.ts': { hash: hashContent(card) },
287
+ });
288
+ });
254
289
  // CI, agents and scripts: a question there would wait for input that never
255
290
  // comes.
256
291
  describe('without a terminal', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"add.test.js","sourceRoot":"","sources":["../../src/commands/add.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.test.js","sourceRoot":"","sources":["../../src/commands/add.test.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,11 @@ import pc from 'picocolors';
5
5
  import { configExists, readConfig } from '../config.js';
6
6
  import { getOrCreateLockfile } from '../lockfile.js';
7
7
  import { getEntry, resolvePackages } from '../registry.js';
8
+ import { droppedThemeFiles } from '../utils/installed.js';
8
9
  import { copiesTests, detectPackageManager, installCommand, missingPackages, packageName, TESTING_LIBRARY, } from '../utils/packages.js';
9
- import { getComponentFiles } from '../utils/resolve-paths.js';
10
+ import { getComponentFiles, getUiSourceDir } from '../utils/resolve-paths.js';
11
+ import { installedTailwindVersion, majorVersion, tailwindConfigFile, themeFilesFor, usesTailwind4, } from '../utils/tailwind.js';
12
+ import { globalStylesheet } from './init.js';
10
13
  /**
11
14
  * Runs a battery of project health checks similar to `npm doctor` or
12
15
  * `shadcn doctor`. Each check uses a pass/warn/fail tracker so the command
@@ -47,10 +50,12 @@ export const doctorCommand = async () => {
47
50
  checkDirectories(cwd, config, pass, fail);
48
51
  // --- 3. Required files ---
49
52
  checkRequiredFiles(cwd, config, pass, warn);
53
+ checkThemeChannels(cwd, config, pass, warn);
54
+ checkComponentColors(cwd, config, pass, warn);
50
55
  // --- 4. Tailwind integration ---
51
- checkTailwind(cwd, pass, warn);
56
+ checkTailwind(cwd, config, pass, warn);
52
57
  // --- 5. Package dependencies ---
53
- checkPackageDeps(cwd, pass, warn, fail);
58
+ checkPackageDeps(cwd, pass, fail);
54
59
  // --- 6. Component health ---
55
60
  checkComponentHealth(cwd, config, pass, warn, fail);
56
61
  // --- Summary ---
@@ -114,11 +119,14 @@ const checkDirectories = (cwd, config, pass, fail) => {
114
119
  };
115
120
  const checkRequiredFiles = (cwd, config, pass, warn) => {
116
121
  const themeDir = resolve(cwd, config.aliases.theme);
117
- if (existsSync(join(themeDir, 'tailwind-plugin.ts'))) {
118
- pass(`${pc.cyan('tailwind-plugin.ts')} found in theme`);
122
+ // What maps the colors to Tailwind's utilities: tailwind.css for
123
+ // Tailwind 4, tailwind-plugin.ts for Tailwind 3.
124
+ const tailwindFile = themeFilesFor(cwd)[2];
125
+ if (existsSync(join(themeDir, tailwindFile))) {
126
+ pass(`${pc.cyan(tailwindFile)} found in theme`);
119
127
  }
120
128
  else {
121
- warn(`${pc.cyan('tailwind-plugin.ts')} missing from ${pc.dim(config.aliases.theme)}`);
129
+ warn(`${pc.cyan(tailwindFile)} missing from ${pc.dim(config.aliases.theme)}`);
122
130
  }
123
131
  const hasThemeCss = existsSync(join(themeDir, 'default.css')) ||
124
132
  existsSync(join(themeDir, 'dark.css'));
@@ -129,23 +137,258 @@ const checkRequiredFiles = (cwd, config, pass, warn) => {
129
137
  warn(`No theme CSS files in ${pc.dim(config.aliases.theme)}`);
130
138
  }
131
139
  };
132
- const checkTailwind = (cwd, pass, warn) => {
133
- const candidates = ['tailwind.config.ts', 'tailwind.config.js'];
134
- const found = candidates.find((f) => existsSync(resolve(cwd, f)));
135
- if (!found) {
136
- warn('No Tailwind config found');
140
+ /**
141
+ * A stylesheet's custom properties, by name. Comments are skipped.
142
+ */
143
+ const cssVariables = (css) => new Map([
144
+ ...css
145
+ .replace(/\/\*[\s\S]*?\*\//g, '')
146
+ .matchAll(/(--[\w-]+)\s*:\s*([^;{}]+);/g),
147
+ ].map((match) => [match[1], match[2].trim()]));
148
+ /**
149
+ * A color's red, green and blue as an `--x-rgb` variable writes them
150
+ * (`24, 24, 27`), from `rgb()`/`rgba()` or a hex color. Undefined for any
151
+ * other form, such as `hsl()`, which this check doesn't convert.
152
+ */
153
+ const colorChannels = (color) => {
154
+ const rgb = /^rgba?\(\s*(\d+)[\s,]+(\d+)[\s,]+(\d+)\s*([,/][^)]*)?\)$/.exec(color);
155
+ if (rgb)
156
+ return `${rgb[1]}, ${rgb[2]}, ${rgb[3]}`;
157
+ const hex = /^#([\da-f]{3}|[\da-f]{6})$/i.exec(color);
158
+ if (!hex)
159
+ return undefined;
160
+ const digits = hex[1].length === 3 ? hex[1].replace(/./g, '$&$&') : hex[1];
161
+ return [0, 2, 4].map((i) => parseInt(digits.slice(i, i + 2), 16)).join(', ');
162
+ };
163
+ /**
164
+ * Opacity modifiers on theme colors (`bg-primary/50`) read the color's
165
+ * channels from an `--x-rgb` twin, and they draw nothing without it, or the
166
+ * wrong color when it no longer matches the color. Neither shows an error.
167
+ * Themes copied before the twins existed don't have them, and `dolan update`
168
+ * keeps a theme the app edited, so this points them out. The colors that
169
+ * need twins are the ones the app's own plugin maps with `themeColor()`, or
170
+ * its `tailwind.css` maps (see themeColorNames): an older plugin maps none,
171
+ * and its modifiers never worked.
172
+ */
173
+ /**
174
+ * Whether a color is `rgba()` with an alpha below 1.
175
+ */
176
+ const isTranslucent = (color) => {
177
+ const alpha = /^rgba\(.*,\s*([\d.]+)\s*\)$/.exec(color)?.[1];
178
+ return alpha !== undefined && Number(alpha) < 1;
179
+ };
180
+ /**
181
+ * The theme colors that take opacity modifiers: the ones the plugin maps with
182
+ * `themeColor()` (Tailwind 3), or the variables `tailwind.css` maps a
183
+ * `--color-*` to (Tailwind 4), where the build reads a modifier's channels
184
+ * from the variable's `-rgb` twin.
185
+ */
186
+ const themeColorNames = (themeDir) => {
187
+ const pluginPath = join(themeDir, 'tailwind-plugin.ts');
188
+ const cssPath = join(themeDir, 'tailwind.css');
189
+ const [source, pattern] = existsSync(pluginPath)
190
+ ? [pluginPath, /themeColor\(\s*['"]([\w-]+)['"]\s*\)/g]
191
+ : [cssPath, /--color-[\w-]+\s*:\s*var\(\s*--([\w-]+)\s*\)/g];
192
+ if (!existsSync(source))
193
+ return [];
194
+ return [
195
+ ...new Set([...readFileSync(source, 'utf-8').matchAll(pattern)].map((match) => match[1])),
196
+ ];
197
+ };
198
+ const checkThemeChannels = (cwd, config, pass, warn) => {
199
+ const themeDir = resolve(cwd, config.aliases.theme);
200
+ const names = themeColorNames(themeDir);
201
+ if (names.length === 0)
137
202
  return;
203
+ let healthy = true;
204
+ for (const file of readdirSync(themeDir).filter((f) => f.endsWith('.css'))) {
205
+ const vars = cssVariables(readFileSync(join(themeDir, file), 'utf-8'));
206
+ // Only the colors this file sets: a theme may override a few. A color
207
+ // that's translucent already, such as --destructive-subtle, has no twin.
208
+ const set = names.filter((name) => vars.has(`--${name}`) && !isTranslucent(vars.get(`--${name}`)));
209
+ const missing = set.filter((name) => !vars.has(`--${name}-rgb`));
210
+ const differing = set.filter((name) => {
211
+ const channels = colorChannels(vars.get(`--${name}`));
212
+ const twin = vars.get(`--${name}-rgb`);
213
+ return (channels !== undefined &&
214
+ twin !== undefined &&
215
+ // Spaces don't matter, commas do: rgba() takes the list as three
216
+ // arguments only when they're comma-separated.
217
+ twin.replace(/\s+/g, '') !== channels.replace(/\s+/g, ''));
218
+ });
219
+ if (missing.length > 0) {
220
+ const example = missing[0];
221
+ const channels = colorChannels(vars.get(`--${example}`)) ?? 'r, g, b';
222
+ warn(`${pc.cyan(file)} has no channels for ${missing.map((name) => pc.cyan(`--${name}`)).join(', ')}, so opacity modifiers such as ${pc.cyan(`bg-${example}/50`)} draw nothing. Add each color's red, green and blue: ${pc.bold(`--${example}-rgb: ${channels};`)}`);
223
+ healthy = false;
224
+ }
225
+ if (differing.length > 0) {
226
+ warn(`${pc.cyan(file)}: ${differing.map((name) => pc.cyan(`--${name}-rgb`)).join(', ')} ${differing.length === 1 ? "doesn't" : "don't"} hold the color's red, green and blue, comma-separated, so opacity modifiers draw a different color from the plain class, or nothing.`);
227
+ healthy = false;
228
+ }
138
229
  }
139
- pass(`Tailwind config found (${pc.dim(found)})`);
140
- const content = readFileSync(resolve(cwd, found), 'utf-8');
230
+ if (healthy) {
231
+ pass('Theme colors have the channels opacity modifiers need');
232
+ }
233
+ };
234
+ /**
235
+ * The theme colors the installed components read that the theme gained after
236
+ * an app may have copied it, such as the glass colors: the component's
237
+ * classes draw nothing without them, and nothing says why. `dolan update`
238
+ * merges them into a theme the app left alone, and keeps one it edited, so
239
+ * this lists the variables a theme file lacks, with the lines dolan's own
240
+ * theme has for them, and the colors the Tailwind mapping doesn't map.
241
+ */
242
+ const checkComponentColors = (cwd, config, pass, warn) => {
243
+ const componentsDir = resolve(cwd, config.aliases.components);
244
+ // checkDirectories() reports a components path that isn't a folder.
245
+ const installed = existsSync(componentsDir) && statSync(componentsDir).isDirectory()
246
+ ? readdirSync(componentsDir)
247
+ : [];
248
+ // Each color an installed component reads, with that component.
249
+ const reads = installed.flatMap((name) => (getEntry(name)?.themeColors ?? []).map((color) => ({ color, name })));
250
+ if (reads.length === 0)
251
+ return;
252
+ const colors = [...new Set(reads.map(({ color }) => color))];
253
+ const readers = (missing) => [
254
+ ...new Set(reads
255
+ .filter(({ color }) => missing.includes(color))
256
+ .map(({ name }) => pc.cyan(name))),
257
+ ].join(', ');
258
+ const themeDir = resolve(cwd, config.aliases.theme);
259
+ let healthy = true;
260
+ for (const file of ['default.css', 'dark.css']) {
261
+ const path = join(themeDir, file);
262
+ if (!existsSync(path))
263
+ continue;
264
+ const vars = cssVariables(readFileSync(path, 'utf-8'));
265
+ const missing = colors.filter((color) => !vars.has(`--${color}`));
266
+ if (missing.length === 0)
267
+ continue;
268
+ healthy = false;
269
+ // The lines dolan's own theme has for them, channels included.
270
+ const bundledPath = join(getUiSourceDir(), 'theme', file);
271
+ const bundled = existsSync(bundledPath)
272
+ ? cssVariables(readFileSync(bundledPath, 'utf-8'))
273
+ : new Map();
274
+ const lines = missing
275
+ .flatMap((color) => [`--${color}`, `--${color}-rgb`])
276
+ .filter((name) => bundled.has(name))
277
+ .map((name) => `${name}: ${bundled.get(name)};`);
278
+ warn(`${pc.cyan(file)} lacks theme colors that ${readers(missing)} read: ${missing.map((color) => pc.cyan(`--${color}`)).join(', ')}. Classes that use them draw nothing. Run ${pc.bold('dolan update')}, which adds them to a theme you haven't edited${lines.length > 0 ? `, or add:\n${lines.join('\n')}` : '.'}`);
279
+ }
280
+ // The Tailwind mapping names each color: themeColor('glass-tint') or
281
+ // 'var(--glass-dim)' in the plugin, var(--glass-tint) in tailwind.css.
282
+ const tailwindFile = themeFilesFor(cwd)[2];
283
+ const tailwindPath = join(themeDir, tailwindFile);
284
+ if (existsSync(tailwindPath)) {
285
+ const source = readFileSync(tailwindPath, 'utf-8');
286
+ const unmapped = colors.filter((color) => !new RegExp(`['"]${color}['"]|--${color}\\)`).test(source));
287
+ if (unmapped.length > 0) {
288
+ healthy = false;
289
+ warn(`${pc.cyan(tailwindFile)} doesn't map theme colors that ${readers(unmapped)} read to classes: ${unmapped.map((color) => pc.cyan(color)).join(', ')}. Run ${pc.bold('dolan update')}, or map them as dolan's theme does.`);
290
+ }
291
+ }
292
+ if (healthy) {
293
+ pass('Theme has the colors your components read');
294
+ }
295
+ };
296
+ /**
297
+ * Which Tailwind CSS the project has, and whether it's set up for it. The
298
+ * version is the `tailwindcss` the project resolves (see
299
+ * installedTailwindVersion), which its package.json may not list: a
300
+ * workspace root or `@tailwindcss/postcss` can bring it. A Tailwind config
301
+ * means a Tailwind 3 setup (see usesTailwind4), so the mismatches are
302
+ * Tailwind 4 with a config and Tailwind 3 without one. A matching setup gets
303
+ * the checks of the theme files the other version leaves, and of what maps
304
+ * the theme to classes: the stylesheet's `tailwind.css` import on Tailwind 4,
305
+ * `blotchPlugin` in the config on Tailwind 3.
306
+ */
307
+ const checkTailwind = (cwd, config, pass, warn) => {
308
+ const version = installedTailwindVersion(cwd);
309
+ if (version === undefined) {
310
+ warn(`${pc.cyan('tailwindcss')} not found — required if using dolan UI components. Install it with ${pc.bold(installCommand(detectPackageManager(cwd), ['tailwindcss']).join(' '))}, or set it up with ${pc.bold('ng generate @blotch/angular-lynx:add-tailwind')}`);
311
+ return;
312
+ }
313
+ const found = `${pc.cyan(`tailwindcss ${version}`)} found`;
314
+ const tailwind4 = majorVersion(version) >= 4;
315
+ const configFile = tailwindConfigFile(cwd);
316
+ if (tailwind4 && configFile) {
317
+ // The build warns about a config Tailwind 4 doesn't run, in these words.
318
+ // dolan still reads it as a Tailwind 3 setup, and gives the theme the
319
+ // Tailwind 3 plugin.
320
+ warn(`Found ${pc.dim(configFile)}, but Tailwind CSS ${version} is installed, which doesn't run from a Tailwind config file. While it's there, dolan sets the theme up for Tailwind 3. Move its settings into your stylesheet and delete it, then run ${pc.bold('dolan update')} for the theme's ${pc.cyan('tailwind.css')}.`);
321
+ }
322
+ else if (tailwind4) {
323
+ pass(`${found}, set up for Tailwind 4`);
324
+ checkLeftoverThemeFiles(cwd, config, warn);
325
+ checkTailwind4Theme(cwd, pass, warn);
326
+ }
327
+ else if (configFile) {
328
+ pass(`${found}, set up for Tailwind 3 (${pc.dim(configFile)})`);
329
+ checkLeftoverThemeFiles(cwd, config, warn);
330
+ checkBlotchPlugin(cwd, configFile, pass, warn);
331
+ }
332
+ else {
333
+ warn(`${found}, but no Tailwind config: the build runs Tailwind 3 only from a ${pc.dim('tailwind.config.*')}. Add one with ${pc.bold('ng generate @blotch/angular-lynx:add-tailwind --tailwind-version=3')}`);
334
+ }
335
+ };
336
+ /**
337
+ * Tailwind 3 takes the theme's plugin in its config.
338
+ */
339
+ const checkBlotchPlugin = (cwd, config, pass, warn) => {
340
+ const content = readFileSync(resolve(cwd, config), 'utf-8');
141
341
  if (content.includes('blotchPlugin')) {
142
342
  pass(`${pc.cyan('blotchPlugin')} referenced in Tailwind config`);
143
343
  }
144
344
  else {
145
- warn(`${pc.cyan('blotchPlugin')} not found in ${pc.dim(found)} — add it to your plugins array`);
345
+ warn(`${pc.cyan('blotchPlugin')} not found in ${pc.dim(config)} — add it to your plugins array`);
146
346
  }
147
347
  };
148
- const checkPackageDeps = (cwd, pass, warn, fail) => {
348
+ /**
349
+ * Tailwind 4 has no config: the stylesheet imports the theme's tailwind.css.
350
+ */
351
+ const checkTailwind4Theme = (cwd, pass, warn) => {
352
+ const stylesheet = globalStylesheet(cwd);
353
+ const path = resolve(cwd, stylesheet);
354
+ const content = existsSync(path) ? readFileSync(path, 'utf-8') : '';
355
+ if (/@import\s+['"][^'"]*\/tailwind\.css['"]/.test(content)) {
356
+ pass(`${pc.cyan('tailwind.css')} imported in ${pc.dim(stylesheet)}`);
357
+ }
358
+ else {
359
+ warn(`${pc.cyan('tailwind.css')} not imported in ${pc.dim(stylesheet)} — import it after Tailwind, as dolan init shows`);
360
+ }
361
+ };
362
+ /**
363
+ * The theme files for the Tailwind version the app doesn't use: the plugin
364
+ * and its test in a Tailwind 4 app, or `tailwind.css` in a Tailwind 3 one. A
365
+ * move between the two leaves them in the theme folder, where nothing uses
366
+ * them, and the plugin is an uncovered file in the app's coverage report.
367
+ * `dolan update` deletes the ones dolan tracks (asking first about an edited
368
+ * one), so only those get that advice: one the app chose to keep, or edited
369
+ * before dolan recorded it, is the app's own. checkTailwind runs it once the
370
+ * app is set up for the Tailwind it has: without Tailwind, neither version's
371
+ * files are left over, and a mismatch has its own warning.
372
+ */
373
+ const checkLeftoverThemeFiles = (cwd, config, warn) => {
374
+ const tailwind4 = usesTailwind4(cwd);
375
+ const takes = themeFilesFor(cwd, { tests: true });
376
+ const themeDir = resolve(cwd, config.aliases.theme);
377
+ const leftover = [
378
+ 'tailwind.css',
379
+ 'tailwind-plugin.ts',
380
+ 'tailwind-plugin.test.ts',
381
+ ].filter((file) => !takes.includes(file) && existsSync(join(themeDir, file)));
382
+ if (leftover.length === 0)
383
+ return;
384
+ const them = leftover.length === 1 ? 'it' : 'them';
385
+ const dropped = droppedThemeFiles(cwd, themeDir, getOrCreateLockfile(cwd));
386
+ const advice = leftover.every((file) => dropped.includes(file))
387
+ ? `Run ${pc.bold('dolan update')} to delete ${them}, or delete ${them}.`
388
+ : `Delete ${them}, unless your own code uses ${them}.`;
389
+ warn(`Found ${leftover.map((file) => pc.cyan(file)).join(', ')} in ${pc.dim(config.aliases.theme)}, but the app uses Tailwind ${tailwind4 ? 4 : 3}, which takes the theme's classes from ${pc.cyan(takes[2])}. ${advice}`);
390
+ };
391
+ const checkPackageDeps = (cwd, pass, fail) => {
149
392
  const pkgPath = resolve(cwd, 'package.json');
150
393
  if (!existsSync(pkgPath)) {
151
394
  fail(`${pc.cyan('package.json')} not found`);
@@ -174,12 +417,6 @@ const checkPackageDeps = (cwd, pass, warn, fail) => {
174
417
  else {
175
418
  fail(`Missing packages: ${missingRequired.map((d) => pc.cyan(d)).join(', ')}`);
176
419
  }
177
- if (deps['tailwindcss']) {
178
- pass(`${pc.cyan('tailwindcss')} found`);
179
- }
180
- else {
181
- warn(`${pc.cyan('tailwindcss')} not found — required if using dolan UI components`);
182
- }
183
420
  };
184
421
  const checkComponentHealth = (cwd, config, pass, warn, fail) => {
185
422
  const componentsDir = resolve(cwd, config.aliases.components);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}