zard-cli 1.1.0-alpha.0 → 1.1.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 (234) hide show
  1. package/README.md +122 -60
  2. package/commands/add/component-installer.d.ts +2 -1
  3. package/commands/add/component-installer.d.ts.map +1 -1
  4. package/commands/add/component-installer.js +25 -7
  5. package/commands/add/component-installer.js.map +1 -1
  6. package/commands/add/component-selector.d.ts +3 -3
  7. package/commands/add/component-selector.js +4 -4
  8. package/commands/add/dark-mode-setup.d.ts +2 -0
  9. package/commands/add/dark-mode-setup.d.ts.map +1 -1
  10. package/commands/add/dark-mode-setup.js +15 -1
  11. package/commands/add/dark-mode-setup.js.map +1 -1
  12. package/commands/add/dependency-resolver.d.ts +8 -1
  13. package/commands/add/dependency-resolver.d.ts.map +1 -1
  14. package/commands/add/dependency-resolver.js +87 -16
  15. package/commands/add/dependency-resolver.js.map +1 -1
  16. package/commands/add/index.d.ts.map +1 -1
  17. package/commands/add/index.js +55 -29
  18. package/commands/add/index.js.map +1 -1
  19. package/commands/add/stylesheet-setup.d.ts +3 -0
  20. package/commands/add/stylesheet-setup.d.ts.map +1 -0
  21. package/commands/add/stylesheet-setup.js +92 -0
  22. package/commands/add/stylesheet-setup.js.map +1 -0
  23. package/commands/add/wizard.d.ts +12 -8
  24. package/commands/add/wizard.d.ts.map +1 -1
  25. package/commands/add/wizard.js +12 -2
  26. package/commands/add/wizard.js.map +1 -1
  27. package/commands/init/config-prompter.d.ts +36 -16
  28. package/commands/init/config-prompter.d.ts.map +1 -1
  29. package/commands/init/config-prompter.js +37 -17
  30. package/commands/init/config-prompter.js.map +1 -1
  31. package/commands/init/dependencies.d.ts.map +1 -1
  32. package/commands/init/dependencies.js +35 -23
  33. package/commands/init/dependencies.js.map +1 -1
  34. package/commands/init/index.d.ts.map +1 -1
  35. package/commands/init/index.js +74 -23
  36. package/commands/init/index.js.map +1 -1
  37. package/commands/init/library-peers.d.ts +28 -0
  38. package/commands/init/library-peers.d.ts.map +1 -0
  39. package/commands/init/library-peers.js +61 -0
  40. package/commands/init/library-peers.js.map +1 -0
  41. package/commands/init/project-kind.d.ts +39 -39
  42. package/commands/init/project-kind.d.ts.map +1 -1
  43. package/commands/init/project-kind.js +45 -45
  44. package/commands/init/project-kind.js.map +1 -1
  45. package/commands/init/rtl-setup.d.ts +12 -0
  46. package/commands/init/rtl-setup.d.ts.map +1 -0
  47. package/commands/init/rtl-setup.js +42 -0
  48. package/commands/init/rtl-setup.js.map +1 -0
  49. package/commands/init/steps.d.ts +3 -4
  50. package/commands/init/steps.d.ts.map +1 -1
  51. package/commands/init/steps.js +100 -39
  52. package/commands/init/steps.js.map +1 -1
  53. package/commands/init/tailwind-setup.d.ts +5 -5
  54. package/commands/init/tailwind-setup.d.ts.map +1 -1
  55. package/commands/init/tailwind-setup.js +29 -15
  56. package/commands/init/tailwind-setup.js.map +1 -1
  57. package/commands/init/tsconfig-updater.d.ts +4 -4
  58. package/commands/init/tsconfig-updater.js +12 -12
  59. package/commands/init/tsconfig-updater.js.map +1 -1
  60. package/commands/init/update-angular-config.js +4 -4
  61. package/commands/init/vite-setup.d.ts +5 -4
  62. package/commands/init/vite-setup.d.ts.map +1 -1
  63. package/commands/init/vite-setup.js +11 -10
  64. package/commands/init/vite-setup.js.map +1 -1
  65. package/commands/init/wizard.d.ts +10 -7
  66. package/commands/init/wizard.d.ts.map +1 -1
  67. package/commands/init/wizard.js +73 -46
  68. package/commands/init/wizard.js.map +1 -1
  69. package/constants/app.constants.d.ts +17 -0
  70. package/constants/app.constants.d.ts.map +1 -1
  71. package/constants/app.constants.js +39 -16
  72. package/constants/app.constants.js.map +1 -1
  73. package/core/icons/families.d.ts +38 -0
  74. package/core/icons/families.d.ts.map +1 -0
  75. package/core/icons/families.js +26 -0
  76. package/core/icons/families.js.map +1 -0
  77. package/core/icons/icon-map.d.ts +24 -0
  78. package/core/icons/icon-map.d.ts.map +1 -0
  79. package/core/icons/icon-map.js +150 -0
  80. package/core/icons/icon-map.js.map +1 -0
  81. package/core/icons/index.d.ts +107 -0
  82. package/core/icons/index.d.ts.map +1 -0
  83. package/core/icons/index.js +183 -0
  84. package/core/icons/index.js.map +1 -0
  85. package/core/registry/registry-data.d.ts.map +1 -1
  86. package/core/registry/registry-data.js +545 -63
  87. package/core/registry/registry-data.js.map +1 -1
  88. package/core/themes/index.d.ts +1 -1
  89. package/core/themes/index.js +1 -1
  90. package/core/themes/theme-definitions.d.ts.map +1 -1
  91. package/core/themes/theme-definitions.js +61 -72
  92. package/core/themes/theme-definitions.js.map +1 -1
  93. package/index.js +3 -2
  94. package/index.js.map +1 -1
  95. package/package.json +56 -58
  96. package/ui/blocks.d.ts +29 -28
  97. package/ui/blocks.d.ts.map +1 -1
  98. package/ui/blocks.js +27 -27
  99. package/ui/blocks.js.map +1 -1
  100. package/ui/brand.d.ts +5 -5
  101. package/ui/brand.d.ts.map +1 -1
  102. package/ui/brand.js +6 -6
  103. package/ui/brand.js.map +1 -1
  104. package/ui/engine/animation/index.d.ts +2 -3
  105. package/ui/engine/animation/index.d.ts.map +1 -1
  106. package/ui/engine/animation/index.js +2 -3
  107. package/ui/engine/animation/index.js.map +1 -1
  108. package/ui/engine/ansi/index.d.ts +10 -11
  109. package/ui/engine/ansi/index.d.ts.map +1 -1
  110. package/ui/engine/ansi/index.js +6 -7
  111. package/ui/engine/ansi/index.js.map +1 -1
  112. package/ui/engine/components/index.d.ts +3 -3
  113. package/ui/engine/components/index.js +4 -4
  114. package/ui/engine/cursor/index.d.ts +3 -4
  115. package/ui/engine/cursor/index.d.ts.map +1 -1
  116. package/ui/engine/cursor/index.js +2 -3
  117. package/ui/engine/cursor/index.js.map +1 -1
  118. package/ui/engine/diff/index.d.ts +2 -3
  119. package/ui/engine/diff/index.d.ts.map +1 -1
  120. package/ui/engine/diff/index.js +5 -6
  121. package/ui/engine/diff/index.js.map +1 -1
  122. package/ui/engine/events/index.d.ts +2 -2
  123. package/ui/engine/events/index.js +3 -3
  124. package/ui/engine/events/index.js.map +1 -1
  125. package/ui/engine/focus/index.d.ts +2 -2
  126. package/ui/engine/focus/index.js +2 -2
  127. package/ui/engine/frame/index.d.ts +4 -4
  128. package/ui/engine/frame/index.js +0 -0
  129. package/ui/engine/index.d.ts +7 -7
  130. package/ui/engine/index.js +7 -7
  131. package/ui/engine/input/index.d.ts +2 -2
  132. package/ui/engine/input/index.js +11 -11
  133. package/ui/engine/input/index.js.map +1 -1
  134. package/ui/engine/layout/index.d.ts +3 -3
  135. package/ui/engine/layout/index.js +7 -7
  136. package/ui/engine/layout/index.js.map +1 -1
  137. package/ui/engine/renderer/index.d.ts +4 -4
  138. package/ui/engine/renderer/index.d.ts.map +1 -1
  139. package/ui/engine/renderer/index.js +3 -3
  140. package/ui/engine/scheduler/index.d.ts +3 -3
  141. package/ui/engine/scheduler/index.js +5 -5
  142. package/ui/engine/scheduler/index.js.map +1 -1
  143. package/ui/engine/screen/index.d.ts +5 -5
  144. package/ui/engine/screen/index.d.ts.map +1 -1
  145. package/ui/engine/screen/index.js +7 -7
  146. package/ui/engine/screen/index.js.map +1 -1
  147. package/ui/engine/terminal/index.d.ts +49 -3
  148. package/ui/engine/terminal/index.d.ts.map +1 -1
  149. package/ui/engine/terminal/index.js +149 -18
  150. package/ui/engine/terminal/index.js.map +1 -1
  151. package/ui/engine/testing/index.d.ts +4 -4
  152. package/ui/engine/testing/index.d.ts.map +1 -1
  153. package/ui/engine/testing/index.js +2 -2
  154. package/ui/engine/theme/index.d.ts +2 -3
  155. package/ui/engine/theme/index.d.ts.map +1 -1
  156. package/ui/engine/theme/index.js +3 -4
  157. package/ui/engine/theme/index.js.map +1 -1
  158. package/ui/engine/utils/index.d.ts +2 -2
  159. package/ui/engine/utils/index.js +4 -4
  160. package/ui/engine/utils/index.js.map +1 -1
  161. package/ui/gate.d.ts +7 -7
  162. package/ui/gate.d.ts.map +1 -1
  163. package/ui/gate.js +5 -5
  164. package/ui/index.d.ts +3 -3
  165. package/ui/index.js +3 -3
  166. package/ui/log-sink.d.ts +9 -9
  167. package/ui/log-sink.d.ts.map +1 -1
  168. package/ui/log-sink.js +9 -9
  169. package/ui/log-sink.js.map +1 -1
  170. package/ui/output.d.ts +6 -6
  171. package/ui/output.d.ts.map +1 -1
  172. package/ui/output.js +6 -6
  173. package/ui/output.js.map +1 -1
  174. package/ui/report.d.ts +8 -8
  175. package/ui/report.d.ts.map +1 -1
  176. package/ui/report.js +7 -7
  177. package/ui/report.js.map +1 -1
  178. package/ui/runner.d.ts +31 -22
  179. package/ui/runner.d.ts.map +1 -1
  180. package/ui/runner.js +41 -25
  181. package/ui/runner.js.map +1 -1
  182. package/ui/style.d.ts +7 -7
  183. package/ui/style.d.ts.map +1 -1
  184. package/ui/style.js +8 -8
  185. package/ui/style.js.map +1 -1
  186. package/ui/testing/fake-tty.d.ts +4 -4
  187. package/ui/testing/fake-tty.js +4 -4
  188. package/ui/text-input.d.ts +15 -14
  189. package/ui/text-input.d.ts.map +1 -1
  190. package/ui/text-input.js +15 -13
  191. package/ui/text-input.js.map +1 -1
  192. package/ui/theme.d.ts +4 -4
  193. package/ui/theme.js +4 -4
  194. package/utils/angular-compat.d.ts +21 -0
  195. package/utils/angular-compat.d.ts.map +1 -0
  196. package/utils/angular-compat.js +52 -0
  197. package/utils/angular-compat.js.map +1 -0
  198. package/utils/config.d.ts +16 -9
  199. package/utils/config.d.ts.map +1 -1
  200. package/utils/config.js +35 -13
  201. package/utils/config.js.map +1 -1
  202. package/utils/errors.d.ts +11 -0
  203. package/utils/errors.d.ts.map +1 -1
  204. package/utils/errors.js +14 -0
  205. package/utils/errors.js.map +1 -1
  206. package/utils/get-project-info.d.ts +6 -6
  207. package/utils/get-project-info.d.ts.map +1 -1
  208. package/utils/get-project-info.js +106 -36
  209. package/utils/get-project-info.js.map +1 -1
  210. package/utils/http-client.d.ts.map +1 -1
  211. package/utils/http-client.js +20 -5
  212. package/utils/http-client.js.map +1 -1
  213. package/utils/icon-catalog.d.ts +34 -0
  214. package/utils/icon-catalog.d.ts.map +1 -0
  215. package/utils/icon-catalog.js +63 -0
  216. package/utils/icon-catalog.js.map +1 -0
  217. package/utils/logger.d.ts +3 -3
  218. package/utils/logger.js +9 -9
  219. package/utils/logger.js.map +1 -1
  220. package/utils/package-manager.d.ts +25 -25
  221. package/utils/package-manager.js +50 -50
  222. package/utils/package-manager.js.map +1 -1
  223. package/utils/registry.d.ts +100 -6
  224. package/utils/registry.d.ts.map +1 -1
  225. package/utils/registry.js +141 -22
  226. package/utils/registry.js.map +1 -1
  227. package/utils/schema-version.d.ts +21 -0
  228. package/utils/schema-version.d.ts.map +1 -0
  229. package/utils/schema-version.js +28 -0
  230. package/utils/schema-version.js.map +1 -0
  231. package/utils/source-file.d.ts +21 -21
  232. package/utils/source-file.d.ts.map +1 -1
  233. package/utils/source-file.js +24 -24
  234. package/utils/source-file.js.map +1 -1
@@ -1,11 +1,14 @@
1
- import { installComponent } from '../../commands/add/component-installer.js';
2
- import { installDependencies } from '../../commands/init/dependencies.js';
3
- import { bundlerFor, isLibraryKind, projectRootOf, tsconfigFileFor } from '../../commands/init/project-kind.js';
4
- import { applyThemeToStyles, createPostCssConfig } from '../../commands/init/tailwind-setup.js';
5
- import { updateTsConfig } from '../../commands/init/tsconfig-updater.js';
6
- import { updateAngularConfig } from '../../commands/init/update-angular-config.js';
7
- import { setupVitePlugin } from '../../commands/init/vite-setup.js';
1
+ import { installComponent } from '../add/component-installer.js';
2
+ import { installDependencies } from './dependencies.js';
3
+ import { bundlerFor, indexHtmlFor, isLibraryKind, projectRootOf, tsconfigFileFor, } from './project-kind.js';
4
+ import { setupRtlDirection } from './rtl-setup.js';
5
+ import { applyThemeToStyles, createPostCssConfig } from './tailwind-setup.js';
6
+ import { updateTsConfig } from './tsconfig-updater.js';
7
+ import { updateAngularConfig } from './update-angular-config.js';
8
+ import { setupVitePlugin } from './vite-setup.js';
9
+ import { iconFamily } from '../../core/icons/index.js';
8
10
  import { resolveConfigPaths } from '../../utils/config.js';
11
+ import { iconCatalog } from '../../utils/icon-catalog.js';
9
12
  import { logger } from '../../utils/logger.js';
10
13
  import { existsSync } from 'node:fs';
11
14
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
@@ -25,16 +28,16 @@ export function buildInitSteps(cwd, config, projectInfo, isReInitializing) {
25
28
  },
26
29
  {
27
30
  label: 'dependencies',
28
- note: 'CDK, CVA, tailwind-merge, ng-icons',
31
+ note: `CDK, CVA, tailwind-merge, ng-icons (${iconFamily(config.icons, iconCatalog())?.label ?? config.icons})`,
29
32
  run: () => installDependencies(cwd, config, projectInfo),
30
33
  },
31
34
  ];
32
- // Providers de aplicação não são da biblioteca: quem os registra é o app que
33
- // a consome, e numa lib não existe app.config.ts para escrever.
35
+ // Application providers do not belong to the library: the app consuming it
36
+ // registers them, and a library has no app.config.ts to write into.
34
37
  if (!isLibrary) {
35
38
  steps.push({
36
39
  label: config.appConfigFile,
37
- note: 'ZardUI providers',
40
+ note: 'zard/ui providers',
38
41
  run: () => updateAngularConfig(cwd, config),
39
42
  });
40
43
  steps.push(tailwindPipelineStep(cwd, projectRoot, kind, projectInfo, isReInitializing));
@@ -51,6 +54,18 @@ export function buildInitSteps(cwd, config, projectInfo, isReInitializing) {
51
54
  run: () => registerStylesAsset(cwd, config),
52
55
  });
53
56
  }
57
+ // Libraries have no index.html (the consuming app owns it), so there is
58
+ // nothing to set there; `rtl: true` in components.json is still recorded.
59
+ if (config.rtl && !isLibrary) {
60
+ const indexFile = indexHtmlOf(config, projectInfo);
61
+ steps.push({
62
+ label: indexFile,
63
+ note: 'dir="rtl" on <html>',
64
+ run: async () => {
65
+ await setupRtlDirection(cwd, indexFile);
66
+ },
67
+ });
68
+ }
54
69
  steps.push({
55
70
  label: tsconfigFile,
56
71
  note: 'import path aliases',
@@ -63,13 +78,24 @@ export function buildInitSteps(cwd, config, projectInfo, isReInitializing) {
63
78
  return steps;
64
79
  }
65
80
  /**
66
- * Como o Tailwind entra no build da aplicação.
81
+ * The app's index.html: the one its build target declares, else the layout's default.
67
82
  *
68
- * No Analog quem compila é o Vite, e o Tailwind é um plugin dele — um
69
- * `.postcssrc.json` ali não seria lido por ninguém. Nos demais o build do
70
- * Angular carrega o PostCSS, e o arquivo vai para a raiz do projeto: num
71
- * workspace com vários apps, escrevê-lo na raiz do repositório configuraria
72
- * todos eles de uma vez.
83
+ * The declared `index` wins because it is what the build really reads; the default
84
+ * is only a guess from the project type and where app.config lives.
85
+ */
86
+ function indexHtmlOf(config, projectInfo) {
87
+ const root = projectRootOf(config.baseUrl);
88
+ const declared = projectInfo.projects.find(project => (project.root || '.') === root)?.index;
89
+ return declared ?? indexHtmlFor(config.projectType, config.baseUrl);
90
+ }
91
+ /**
92
+ * How Tailwind enters the application build.
93
+ *
94
+ * In Analog it is Vite that compiles, and Tailwind is one of its plugins — a
95
+ * `.postcssrc.json` there would be read by nobody. Everywhere else the Angular
96
+ * build loads PostCSS, and the file goes to the project root: in a workspace
97
+ * with several apps, writing it at the repository root would configure all of
98
+ * them at once.
73
99
  */
74
100
  function tailwindPipelineStep(cwd, projectRoot, kind, projectInfo, isReInitializing) {
75
101
  if (bundlerFor(kind) === 'vite') {
@@ -83,51 +109,86 @@ function tailwindPipelineStep(cwd, projectRoot, kind, projectInfo, isReInitializ
83
109
  return {
84
110
  label: relative,
85
111
  note: 'Tailwind PostCSS plugin',
86
- // Reinicializar reescreve o arquivo de propósito: é a chance de corrigir um
87
- // `.postcssrc.json` que ficou de uma configuração anterior.
112
+ // Re-initializing rewrites the file on purpose: it is the chance to correct a
113
+ // `.postcssrc.json` left over from an earlier setup.
88
114
  run: () => !projectInfo.hasTailwind || isReInitializing || !existsSync(path.resolve(cwd, relative))
89
115
  ? createPostCssConfig(cwd, projectRoot)
90
116
  : Promise.resolve(),
91
117
  };
92
118
  }
93
119
  /**
94
- * Declara o CSS de tema como asset da biblioteca.
120
+ * Declares the theme CSS as a library asset.
95
121
  *
96
- * O ng-packagr só publica o que o ponto de entrada alcança; um `.css` solto em
97
- * `src/` fica de fora do pacote. Sem esta entrada, o arquivo que a etapa
98
- * anterior escreveu existiria só no repositório e nunca chegaria a quem
99
- * instala a lib.
122
+ * ng-packagr only publishes what the entry point reaches; a loose `.css` in
123
+ * `src/` stays out of the package. Without this entry, the file the previous
124
+ * step wrote would exist only in the repository and never reach whoever
125
+ * installs the library.
100
126
  *
101
- * O asset é declarado com `output: '/'` para cair na raiz do pacote. Listá-lo
102
- * como caminho simples preserva a pasta de origem, e o consumidor acabaria
103
- * importando `<lib>/src/styles.css` — um `src/` que é detalhe do repositório da
104
- * lib, não algo que quem a instala deva conhecer.
127
+ * The asset is declared with `output: '/'` so it lands at the package root.
128
+ * Listing it as a plain path preserves the source folder, and the consumer would
129
+ * end up importing `<lib>/src/styles.css` — a `src/` that is a detail of the
130
+ * library's repository, not something whoever installs it should know.
105
131
  */
106
132
  async function registerStylesAsset(cwd, config) {
107
133
  const libraryRoot = path.resolve(cwd, projectRootOf(config.baseUrl));
108
134
  const ngPackagePath = path.join(libraryRoot, 'ng-package.json');
109
135
  if (!existsSync(ngPackagePath)) {
110
- // Uma lib Nx só ganha ng-package.json quando é publicável; nas demais não
111
- // há pacote a montar, e o CSS é consumido direto do código-fonte.
136
+ // An Nx library only gets an ng-package.json when it is publishable; in the
137
+ // others there is no package to assemble and the CSS is consumed straight
138
+ // from the source.
112
139
  logger.warn(`ng-package.json not found in ${path.relative(cwd, libraryRoot)}; skipping the theme asset.`);
113
140
  return;
114
141
  }
115
142
  const relative = path.relative(libraryRoot, path.resolve(cwd, config.tailwind.css)).split(path.sep).join('/');
116
143
  const input = path.posix.dirname(relative);
117
- const glob = path.posix.basename(relative);
118
- const entry = { glob, input, output: '/' };
144
+ // Every stylesheet under the theme's folder, not just the theme: it imports
145
+ // the core's `zard.css` from `lib/shared/core/css`, and `add` writes
146
+ // `typeset.css` and `utilities.css` beside it. Shipping the theme alone left
147
+ // the published package with imports pointing at files it did not contain.
148
+ const entry = { glob: '**/*.css', input, output: '/' };
119
149
  const ngPackage = JSON.parse(await readFile(ngPackagePath, 'utf8'));
120
150
  const assets = Array.isArray(ngPackage.assets) ? ngPackage.assets : [];
121
- // Entradas antigas apontando para o mesmo arquivo são substituídas, e não
122
- // acumuladas: um init repetido publicaria o CSS duas vezes, em dois lugares.
123
- const others = assets.filter(asset => !describesSameFile(asset, relative, entry));
151
+ // Old entries pointing at the same files are replaced, not accumulated: a
152
+ // repeated init would otherwise publish the CSS twice, in two places. That
153
+ // includes the entry earlier versions wrote for the theme file alone.
154
+ const legacy = { glob: path.posix.basename(relative), input };
155
+ const others = assets.filter(asset => !describesSameFile(asset, relative, entry) && !describesSameFile(asset, relative, legacy));
124
156
  const alreadyCorrect = assets.length === others.length + 1 && hasEntry(assets, entry);
125
- if (alreadyCorrect)
157
+ if (!alreadyCorrect) {
158
+ ngPackage.assets = [...others, entry];
159
+ await writeFile(ngPackagePath, `${JSON.stringify(ngPackage, null, 2)}\n`, 'utf8');
160
+ }
161
+ await exportStylesheet(libraryRoot, path.posix.basename(relative));
162
+ }
163
+ /**
164
+ * Lets the consumer import the theme by the package name (`@import 'ui/styles.css'`).
165
+ *
166
+ * ng-packagr writes an `exports` map, and a package with one allows no subpath
167
+ * it does not list — the shipped file existed, but the consumer's build refused
168
+ * to resolve it. Entries declared in the library's `package.json` are merged
169
+ * into that map.
170
+ */
171
+ async function exportStylesheet(libraryRoot, fileName) {
172
+ const packageJsonPath = path.join(libraryRoot, 'package.json');
173
+ if (!existsSync(packageJsonPath))
174
+ return;
175
+ const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf8'));
176
+ const key = `./${fileName}`;
177
+ // `"exports": "./index.js"` (or an array of fallbacks) is shorthand for the
178
+ // package root; spreading it would turn the string into one key per character.
179
+ const current = packageJson.exports;
180
+ // The same goes for a map of conditions (`{ import, require }`): Node rejects
181
+ // one that mixes condition keys with subpaths, so they move under `.` too.
182
+ const isRootShorthand = typeof current === 'string' ||
183
+ Array.isArray(current) ||
184
+ (current && typeof current === 'object' && Object.keys(current).some(name => !name.startsWith('.')));
185
+ const exportsMap = isRootShorthand ? { '.': current } : { ...(current ?? {}) };
186
+ if (exportsMap[key])
126
187
  return;
127
- ngPackage.assets = [...others, entry];
128
- await writeFile(ngPackagePath, `${JSON.stringify(ngPackage, null, 2)}\n`, 'utf8');
188
+ packageJson.exports = { ...exportsMap, [key]: { style: key, default: key } };
189
+ await writeFile(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`, 'utf8');
129
190
  }
130
- /** Se um asset já declarado publica exatamente o mesmo arquivo. */
191
+ /** Whether an already-declared asset publishes exactly the same file. */
131
192
  function describesSameFile(asset, relative, entry) {
132
193
  if (typeof asset === 'string')
133
194
  return asset.replace(/^\.\//, '') === relative;
@@ -1 +1 @@
1
- {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/commands/init/steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/commands/init/steps.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { type Config } from '../../utils/config.js';
2
2
  /**
3
- * Escreve o `.postcssrc.json` na raiz do projeto que vai usá-lo.
3
+ * Writes `.postcssrc.json` at the root of the project that will use it.
4
4
  *
5
- * O build do Angular procura o arquivo a partir do CSS que está processando e
6
- * sobe até a raiz do workspace, então o projeto é o lugar mais específico que
7
- * funciona — e num monorepo com vários apps é o único que não configura todos
8
- * eles de uma vez. `projectRoot` é `.` no app único.
5
+ * The Angular build looks for the file starting from the CSS it is processing
6
+ * and walks up to the workspace root, so the project is the most specific place
7
+ * that works — and in a monorepo with several apps it is the only one that does
8
+ * not configure all of them at once. `projectRoot` is `.` for a single app.
9
9
  */
10
10
  export declare function createPostCssConfig(cwd: string, projectRoot?: string): Promise<void>;
11
11
  export declare function applyThemeToStyles(cwd: string, config: Config): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-setup.d.ts","sourceRoot":"","sources":["../../../src/commands/init/tailwind-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAYvE;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,SAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvF;AAqBD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnF"}
1
+ {"version":3,"file":"tailwind-setup.d.ts","sourceRoot":"","sources":["../../../src/commands/init/tailwind-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAYvE;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,SAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvF;AAkCD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASnF"}
@@ -1,3 +1,4 @@
1
+ import { isLibraryKind } from './project-kind.js';
1
2
  import { resolveAliasToPath } from '../../utils/config.js';
2
3
  import { getThemeContent } from '../../utils/theme-selector.js';
3
4
  import { mkdir, writeFile } from 'node:fs/promises';
@@ -9,12 +10,12 @@ const POSTCSS_CONFIG = `{
9
10
  }
10
11
  `;
11
12
  /**
12
- * Escreve o `.postcssrc.json` na raiz do projeto que vai usá-lo.
13
+ * Writes `.postcssrc.json` at the root of the project that will use it.
13
14
  *
14
- * O build do Angular procura o arquivo a partir do CSS que está processando e
15
- * sobe até a raiz do workspace, então o projeto é o lugar mais específico que
16
- * funciona — e num monorepo com vários apps é o único que não configura todos
17
- * eles de uma vez. `projectRoot` é `.` no app único.
15
+ * The Angular build looks for the file starting from the CSS it is processing
16
+ * and walks up to the workspace root, so the project is the most specific place
17
+ * that works — and in a monorepo with several apps it is the only one that does
18
+ * not configure all of them at once. `projectRoot` is `.` for a single app.
18
19
  */
19
20
  export async function createPostCssConfig(cwd, projectRoot = '.') {
20
21
  const targetDir = path.resolve(cwd, projectRoot);
@@ -22,14 +23,14 @@ export async function createPostCssConfig(cwd, projectRoot = '.') {
22
23
  await writeFile(path.join(targetDir, '.postcssrc.json'), POSTCSS_CONFIG, 'utf8');
23
24
  }
24
25
  /**
25
- * O `@import` do CSS é resolvido pelo bundler a partir do arquivo que o contém,
26
- * então precisa ser um caminho relativo de verdade — não dá para montá-lo
27
- * fatiando o alias.
26
+ * The CSS `@import` is resolved by the bundler relative to the file containing
27
+ * it, so it has to be a real relative path — it cannot be assembled by slicing
28
+ * the alias.
28
29
  *
29
- * A versão anterior pegava o segundo segmento do baseUrl e colava o alias sem o
30
- * primeiro caractere. Só acertava no layout `src/app` + `@/...`: com baseUrl
31
- * `projects/admin/src/app` mirava `./admin/...`, e com um alias `@app/core`
32
- * gerava `./appapp/core`.
30
+ * The previous version took the second segment of baseUrl and pasted the alias
31
+ * without its first character. It only worked for the `src/app` + `@/...`
32
+ * layout: with baseUrl `projects/admin/src/app` it aimed at `./admin/...`, and
33
+ * with an `@app/core` alias it produced `./appapp/core`.
33
34
  */
34
35
  function coreImportPath(cwd, config) {
35
36
  const cssDir = path.dirname(path.resolve(cwd, config.tailwind.css));
@@ -37,11 +38,24 @@ function coreImportPath(cwd, config) {
37
38
  const relative = path.relative(cssDir, coreDir).split(path.sep).join('/');
38
39
  return relative.startsWith('.') ? relative : `./${relative}`;
39
40
  }
41
+ /**
42
+ * Where the consumer's Tailwind finds the classes a library's components use.
43
+ *
44
+ * Tailwind skips `node_modules` when it detects sources, so an app installing
45
+ * the published library generated none of the utilities its components need.
46
+ * `./` is relative to this stylesheet: in the package that is its root, beside
47
+ * the bundled JavaScript; in the workspace, the library's own `src`. It goes
48
+ * after the `@plugin` line so the `@import`s `add` appends stay first.
49
+ */
50
+ function withLibrarySource(themeContent) {
51
+ return themeContent.replace(/^(@plugin [^\n]*;)$/m, `$1\n@source './';`);
52
+ }
40
53
  export async function applyThemeToStyles(cwd, config) {
41
54
  const stylesPath = path.join(cwd, config.tailwind.css);
42
- const themeContent = getThemeContent(config.tailwind.baseColor, coreImportPath(cwd, config));
43
- // Numa biblioteca esse arquivo normalmente não existe — é o init que o cria,
44
- // para a lib expor os tokens a quem a consome.
55
+ const baseTheme = getThemeContent(config.tailwind.baseColor, coreImportPath(cwd, config));
56
+ const themeContent = isLibraryKind(config.projectType) ? withLibrarySource(baseTheme) : baseTheme;
57
+ // In a library that file usually does not exist — init creates it, so the
58
+ // library can expose the tokens to whoever consumes it.
45
59
  await mkdir(path.dirname(stylesPath), { recursive: true });
46
60
  await writeFile(stylesPath, themeContent, 'utf8');
47
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-setup.js","sourceRoot":"","sources":["../../../src/commands/init/tailwind-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,cAAc,GAAG;;;;;CAKtB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,WAAW,GAAG,GAAG;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEjD,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,GAAW,EAAE,MAAc;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1E,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,MAAc;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7F,6EAA6E;IAC7E,+CAA+C;IAC/C,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"tailwind-setup.js","sourceRoot":"","sources":["../../../src/commands/init/tailwind-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAe,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,cAAc,GAAG;;;;;CAKtB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,WAAW,GAAG,GAAG;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEjD,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,GAAW,EAAE,MAAc;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1E,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,YAAoB;IAC7C,OAAO,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,MAAc;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1F,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElG,0EAA0E;IAC1E,wDAAwD;IACxD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { type Config } from '../../utils/config.js';
2
2
  /**
3
- * Escreve o alias no tsconfig que os projetos realmente estendem.
3
+ * Writes the alias into the tsconfig the projects actually extend.
4
4
  *
5
- * Num workspace Nx isso é o `tsconfig.base.json`: o `tsconfig.json` da raiz não
6
- * é herdado por projeto nenhum, e o mapeamento escrito nele nunca chegaria ao
7
- * compilador — o alias resolvia no editor e quebrava no build.
5
+ * In an Nx workspace that is `tsconfig.base.json`: the root `tsconfig.json` is
6
+ * inherited by no project, and a mapping written there would never reach the
7
+ * compiler — the alias resolved in the editor and broke in the build.
8
8
  */
9
9
  export declare function updateTsConfig(cwd: string, config: Config, tsconfigFile?: string): Promise<void>;
10
10
  //# sourceMappingURL=tsconfig-updater.d.ts.map
@@ -5,11 +5,11 @@ import { existsSync } from 'fs';
5
5
  import { writeFile, readFile } from 'node:fs/promises';
6
6
  import * as path from 'path';
7
7
  /**
8
- * Escreve o alias no tsconfig que os projetos realmente estendem.
8
+ * Writes the alias into the tsconfig the projects actually extend.
9
9
  *
10
- * Num workspace Nx isso é o `tsconfig.base.json`: o `tsconfig.json` da raiz não
11
- * é herdado por projeto nenhum, e o mapeamento escrito nele nunca chegaria ao
12
- * compilador — o alias resolvia no editor e quebrava no build.
10
+ * In an Nx workspace that is `tsconfig.base.json`: the root `tsconfig.json` is
11
+ * inherited by no project, and a mapping written there would never reach the
12
+ * compiler — the alias resolved in the editor and broke in the build.
13
13
  */
14
14
  export async function updateTsConfig(cwd, config, tsconfigFile = 'tsconfig.json') {
15
15
  const tsconfigPath = path.join(cwd, tsconfigFile);
@@ -38,9 +38,9 @@ function updatePaths(tsconfig, config) {
38
38
  if (!tsconfig.compilerOptions.paths) {
39
39
  tsconfig.compilerOptions.paths = {};
40
40
  }
41
- // A chave vem do alias escolhido, não de um `@/*` fixo: quem configurou
42
- // `@app/components` gera imports com esse prefixo, e mapear outro deixaria
43
- // todo import do projeto sem resolver.
41
+ // The key comes from the chosen alias, not from a fixed `@/*`: someone who
42
+ // configured `@app/components` generates imports with that prefix, and mapping
43
+ // a different one would leave every import in the project unresolved.
44
44
  tsconfig.compilerOptions.paths = {
45
45
  ...tsconfig.compilerOptions.paths,
46
46
  [aliasPattern(config.aliases.components)]: [`${pathMappingBase(tsconfig, config)}/*`],
@@ -48,12 +48,12 @@ function updatePaths(tsconfig, config) {
48
48
  return tsconfig;
49
49
  }
50
50
  /**
51
- * Escreve o mapeamento sem introduzir `baseUrl`.
51
+ * Writes the mapping without introducing `baseUrl`.
52
52
  *
53
- * Declarar `baseUrl` quebra o build em TypeScript 6 — a opção virou erro e some
54
- * no 7 —, e desde o 4.1 ela não é mais necessária: sem ela, os caminhos são
55
- * resolvidos a partir do próprio tsconfig. Projetos que já declaram a opção
56
- * continuam sendo respeitados, com o mapeamento escrito em relação a ela.
53
+ * Declaring `baseUrl` breaks the build on TypeScript 6 — the option became an
54
+ * error and disappears in 7 — and since 4.1 it is no longer necessary: without
55
+ * it, paths are resolved relative to the tsconfig itself. Projects that already
56
+ * declare the option are still honoured, with the mapping written relative to it.
57
57
  */
58
58
  function pathMappingBase(tsconfig, config) {
59
59
  const baseUrl = tsconfig.compilerOptions.baseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"tsconfig-updater.js","sourceRoot":"","sources":["../../../src/commands/init/tsconfig-updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,MAAc,EAAE,YAAY,GAAG,eAAe;IAC9F,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,yCAAyC,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,oBAAoB,YAAY,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,YAAoB;IAC9C,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,WAAW,CAAC,KAAK,CAAC,eAAe,CAAQ,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,QAAa,EAAE,MAAc;IAChD,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC9B,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACpC,QAAQ,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE,CAAC;IACtC,CAAC;IAED,wEAAwE;IACxE,2EAA2E;IAC3E,uCAAuC;IACvC,QAAQ,CAAC,eAAe,CAAC,KAAK,GAAG;QAC/B,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK;QACjC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;KACtF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,QAAa,EAAE,MAAc;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;IAEjD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;IAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC;AACzG,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,YAAoB,EAAE,QAAa;IAC9D,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,SAAS,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"tsconfig-updater.js","sourceRoot":"","sources":["../../../src/commands/init/tsconfig-updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,MAAc,EAAE,YAAY,GAAG,eAAe;IAC9F,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,yCAAyC,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,oBAAoB,YAAY,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,YAAoB;IAC9C,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,WAAW,CAAC,KAAK,CAAC,eAAe,CAAQ,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,QAAa,EAAE,MAAc;IAChD,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC9B,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACpC,QAAQ,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE,CAAC;IACtC,CAAC;IAED,2EAA2E;IAC3E,+EAA+E;IAC/E,sEAAsE;IACtE,QAAQ,CAAC,eAAe,CAAC,KAAK,GAAG;QAC/B,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK;QACjC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;KACtF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,QAAa,EAAE,MAAc;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;IAEjD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;IAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC;AACzG,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,YAAoB,EAAE,QAAa;IAC9D,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,SAAS,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC"}
@@ -6,11 +6,11 @@ import * as path from 'path';
6
6
  const ZARD_PROVIDER_IMPORT = (corePath) => `import { provideZard } from '${corePath}/provider/providezard';`;
7
7
  const ZARD_PROVIDER_ENTRY = 'provideZard()';
8
8
  /**
9
- * Acrescenta o provider ao fim da lista.
9
+ * Appends the provider to the end of the list.
10
10
  *
11
- * O `]` fica na própria linha: a lista é código que o usuário vai ler e editar
12
- * depois, e emendar o fechamento no último provider deixa o arquivo torto assim
13
- * que o Prettier do projeto não roda em seguida.
11
+ * The `]` stays on its own line: the list is code the user will read and edit
12
+ * later, and welding the closing bracket onto the last provider leaves the file
13
+ * crooked the moment the project's Prettier does not run afterwards.
14
14
  */
15
15
  function withProvider(content, providers, eol) {
16
16
  const body = providers.body.replace(/\s+$/, '');
@@ -1,10 +1,11 @@
1
1
  export declare function findViteConfig(cwd: string): string | null;
2
2
  /**
3
- * Registra o Tailwind como plugin do Vite.
3
+ * Registers Tailwind as a Vite plugin.
4
4
  *
5
- * No Analog quem compila é o Vite, não o build do Angular — um `.postcssrc.json`
6
- * ali não é lido por ninguém, e sem o plugin o `@import 'tailwindcss'` que o
7
- * tema escreve no CSS global não gera utilitário nenhum.
5
+ * In Analog it is Vite that compiles, not the Angular build — a
6
+ * `.postcssrc.json` there is read by nobody, and without the plugin the
7
+ * `@import 'tailwindcss'` the theme writes into the global CSS emits no
8
+ * utilities at all.
8
9
  */
9
10
  export declare function setupVitePlugin(cwd: string): Promise<void>;
10
11
  //# sourceMappingURL=vite-setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-setup.d.ts","sourceRoot":"","sources":["../../../src/commands/init/vite-setup.ts"],"names":[],"mappings":"AAYA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhE"}
1
+ {"version":3,"file":"vite-setup.d.ts","sourceRoot":"","sources":["../../../src/commands/init/vite-setup.ts"],"names":[],"mappings":"AAYA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhE"}
@@ -5,17 +5,18 @@ import { readFile, writeFile } from 'node:fs/promises';
5
5
  import * as path from 'node:path';
6
6
  const TAILWIND_IMPORT = "import tailwindcss from '@tailwindcss/vite';";
7
7
  const TAILWIND_PLUGIN = 'tailwindcss()';
8
- /** Os nomes que o Vite aceita, na ordem em que ele próprio procura. */
8
+ /** The names Vite accepts, in the order it looks for them. */
9
9
  const CONFIG_FILES = ['vite.config.ts', 'vite.config.mts', 'vite.config.js', 'vite.config.mjs'];
10
10
  export function findViteConfig(cwd) {
11
11
  return CONFIG_FILES.map(name => path.join(cwd, name)).find(existsSync) ?? null;
12
12
  }
13
13
  /**
14
- * Registra o Tailwind como plugin do Vite.
14
+ * Registers Tailwind as a Vite plugin.
15
15
  *
16
- * No Analog quem compila é o Vite, não o build do Angular — um `.postcssrc.json`
17
- * ali não é lido por ninguém, e sem o plugin o `@import 'tailwindcss'` que o
18
- * tema escreve no CSS global não gera utilitário nenhum.
16
+ * In Analog it is Vite that compiles, not the Angular build — a
17
+ * `.postcssrc.json` there is read by nobody, and without the plugin the
18
+ * `@import 'tailwindcss'` the theme writes into the global CSS emits no
19
+ * utilities at all.
19
20
  */
20
21
  export async function setupVitePlugin(cwd) {
21
22
  const configPath = findViteConfig(cwd);
@@ -36,10 +37,10 @@ export async function setupVitePlugin(cwd) {
36
37
  await writeFile(configPath, withPlugin, 'utf8');
37
38
  }
38
39
  /**
39
- * Acrescenta `tailwindcss()` à lista de plugins.
40
+ * Appends `tailwindcss()` to the plugin list.
40
41
  *
41
- * O plugin entra no fim: a ordem importa para o Vite, e o do Analog precisa
42
- * processar os arquivos Angular antes que o Tailwind varra as classes.
42
+ * It goes at the end: order matters to Vite, and Analog's plugin has to process
43
+ * the Angular files before Tailwind scans them for classes.
43
44
  */
44
45
  function registerPlugin(content, eol) {
45
46
  const plugins = arrayRange(content, 'plugins');
@@ -47,8 +48,8 @@ function registerPlugin(content, eol) {
47
48
  return null;
48
49
  if (plugins.body.includes(TAILWIND_PLUGIN))
49
50
  return content;
50
- // A indentação dos itens existentes é a que o arquivo já usa; repeti-la evita
51
- // que a linha nova destoe do resto quando não há Prettier depois.
51
+ // The existing items' indentation is whatever the file already uses; matching
52
+ // it keeps the new line from standing out when no Prettier runs afterwards.
52
53
  const indent = /\n([ \t]+)\S/.exec(plugins.body)?.[1] ?? ' ';
53
54
  const closingIndent = indent.slice(0, Math.max(0, indent.length - 2));
54
55
  const trimmed = plugins.body.replace(/\s+$/, '');
@@ -1 +1 @@
1
- {"version":3,"file":"vite-setup.js","sourceRoot":"","sources":["../../../src/commands/init/vite-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-setup.js","sourceRoot":"","sources":["../../../src/commands/init/vite-setup.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { type ProjectKind } from '../../commands/init/project-kind.js';
2
- import { type InitStep } from '../../commands/init/steps.js';
1
+ import { type PresetAnswers } from './config-prompter.js';
2
+ import { type ProjectKind } from './project-kind.js';
3
+ import { type InitStep } from './steps.js';
3
4
  import { type LogRecord } from '../../ui/index.js';
4
5
  import { type Config } from '../../utils/config.js';
5
6
  import { type ProjectInfo } from '../../utils/get-project-info.js';
@@ -8,18 +9,20 @@ export interface InitWizardOptions {
8
9
  readonly projectInfo: ProjectInfo;
9
10
  readonly packageManager: 'npm' | 'yarn' | 'pnpm' | 'bun';
10
11
  readonly isReInitializing: boolean;
11
- /** Pula a confirmação final (`--yes`). */
12
+ /** Skips the final confirmation (`--yes`). */
12
13
  readonly skipConfirmation: boolean;
13
14
  /**
14
- * O tipo pedido em `--type`, se houver.
15
+ * The type asked for with `--type`, if any.
15
16
  *
16
- * A pergunta continua sendo feita — a flag só posiciona o cursor no que o
17
- * usuário já disse querer, em vez de deixá-lo procurar na lista de novo.
17
+ * The question is still asked — the flag only puts the cursor on what the user
18
+ * already said they wanted, instead of making them find it in the list again.
18
19
  */
19
20
  readonly presetKind?: ProjectKind;
20
21
  /** O projeto pedido em `--project`, pelo mesmo motivo. */
21
22
  readonly presetProjectRoot?: string;
22
- /** Etapas de execução, montadas só quando o config está pronto. */
23
+ /** What `--css`, `--app-config`, `--base-color` and the alias flags answered — each question opens filled with it. */
24
+ readonly presetAnswers?: PresetAnswers;
25
+ /** Execution steps, built only once the config is ready. */
23
26
  buildSteps(config: Config): InitStep[];
24
27
  }
25
28
  export interface InitWizardResult {
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../../src/commands/init/wizard.ts"],"names":[],"mappings":"AACA,OAAO,EAAmD,KAAK,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvH,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAwBL,KAAK,SAAS,EAKf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,gCAAgC,CAAC;AAuMzF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,0CAA0C;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,mEAAmE;IACnE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;CACrC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqVzF"}
1
+ {"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../../src/commands/init/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAmD,KAAK,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvH,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAwBL,KAAK,SAAS,EAKf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,gCAAgC,CAAC;AAwNzF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,8CAA8C;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,sHAAsH;IACtH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,4DAA4D;IAC5D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;CACrC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+VzF"}