@tamagui/cli 3.0.0-beta.924.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build.cjs +5 -9
- package/dist/cli.cjs +79 -11
- package/dist/generate-prompt.cjs +7 -336
- package/dist/icons.cjs +263 -0
- package/dist/migrate.cjs +100 -41
- package/dist/preview-theme.cjs +70 -0
- package/dist/setup-prompt.cjs +73 -14
- package/dist/to-tailwind-default-config.cjs +132 -35
- package/dist/upgrade.cjs +29 -21
- package/package.json +13 -11
- package/src/build.ts +10 -24
- package/src/cli.ts +78 -15
- package/src/generate-prompt.ts +18 -512
- package/src/icons.ts +308 -0
- package/src/migrate.ts +100 -41
- package/src/preview-theme.ts +54 -0
- package/src/setup-prompt.ts +68 -15
- package/src/to-tailwind-default-config.ts +131 -34
- package/src/upgrade.ts +30 -33
- package/types/build.d.ts.map +1 -1
- package/types/generate-prompt.d.ts +2 -2
- package/types/generate-prompt.d.ts.map +1 -1
- package/types/icons.d.ts +14 -0
- package/types/icons.d.ts.map +1 -0
- package/types/preview-theme.d.ts +8 -0
- package/types/preview-theme.d.ts.map +1 -0
- package/types/setup-prompt.d.ts +4 -2
- package/types/setup-prompt.d.ts.map +1 -1
- package/types/to-tailwind-default-config.d.ts.map +1 -1
- package/types/upgrade.d.ts.map +1 -1
package/src/setup-prompt.ts
CHANGED
|
@@ -1,15 +1,68 @@
|
|
|
1
|
-
//
|
|
1
|
+
// the agent brief for setting tamagui up in a project that has never had it.
|
|
2
2
|
// `tamagui migrate --from v2` is the sibling for projects that already run v2.
|
|
3
3
|
//
|
|
4
|
-
//
|
|
4
|
+
// both are printed by the cli rather than kept only in docs so that whatever
|
|
5
5
|
// version a user installs describes itself, instead of an agent reading a docs
|
|
6
6
|
// page written against a different release.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import prompts from 'prompts'
|
|
9
|
+
|
|
10
|
+
export async function resolveStyleValueSyntax(
|
|
11
|
+
setting?: 'string' | 'object' | 'both'
|
|
12
|
+
): Promise<'string' | 'object' | 'both'> {
|
|
13
|
+
if (setting === 'string' || setting === 'object' || setting === 'both') {
|
|
14
|
+
return setting
|
|
15
|
+
}
|
|
16
|
+
if (!process.stdin.isTTY) {
|
|
17
|
+
return 'both'
|
|
18
|
+
}
|
|
19
|
+
const response = await prompts({
|
|
20
|
+
type: 'select',
|
|
21
|
+
name: 'syntax',
|
|
22
|
+
message: 'Which style value syntax would you like to document?',
|
|
23
|
+
choices: [
|
|
24
|
+
{ title: 'both - document both string and object syntax', value: 'both' },
|
|
25
|
+
{ title: 'string - e.g. bg="red hover:blue"', value: 'string' },
|
|
26
|
+
{ title: 'object - e.g. bg={{ default: "red", hover: "blue" }}', value: 'object' },
|
|
27
|
+
],
|
|
28
|
+
initial: 0,
|
|
29
|
+
})
|
|
30
|
+
return response.syntax || 'both'
|
|
10
31
|
}
|
|
11
32
|
|
|
12
|
-
export function
|
|
33
|
+
export async function setupPrompt(options?: any) {
|
|
34
|
+
const { generatePrompt } = require('./generate-prompt')
|
|
35
|
+
return await generatePrompt(options)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function printSetupPrompt(syntax?: 'string' | 'object' | 'both') {
|
|
39
|
+
if (syntax) {
|
|
40
|
+
process.stdout.write(getSetupPrompt(syntax))
|
|
41
|
+
return
|
|
42
|
+
}
|
|
43
|
+
if (!process.stdin.isTTY) {
|
|
44
|
+
process.stdout.write(getSetupPrompt('both'))
|
|
45
|
+
return
|
|
46
|
+
}
|
|
47
|
+
resolveStyleValueSyntax().then((chosen) => {
|
|
48
|
+
process.stdout.write(getSetupPrompt(chosen))
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function getSetupPrompt(syntax: 'string' | 'object' | 'both' = 'both') {
|
|
53
|
+
const styleExample =
|
|
54
|
+
syntax === 'string'
|
|
55
|
+
? '```tsx\n<View bg="background hover:background-hover" p="4 sm:6" />\n```'
|
|
56
|
+
: syntax === 'object'
|
|
57
|
+
? "```tsx\n<View bg={{ default: 'background', hover: 'background-hover' }} p={{ default: '4', sm: '6' }} />\n```"
|
|
58
|
+
: `\`\`\`tsx
|
|
59
|
+
// string form
|
|
60
|
+
<View bg="background hover:background-hover" p="4 sm:6" />
|
|
61
|
+
|
|
62
|
+
// object form
|
|
63
|
+
<View bg={{ default: 'background', hover: 'background-hover' }} p={{ default: '4', sm: '6' }} />
|
|
64
|
+
\`\`\``
|
|
65
|
+
|
|
13
66
|
return `You are adding Tamagui v3 to a project that does not use it yet.
|
|
14
67
|
|
|
15
68
|
Work like a careful coding agent:
|
|
@@ -50,8 +103,10 @@ import { createTamagui } from 'tamagui'
|
|
|
50
103
|
|
|
51
104
|
export const config = createTamagui(defaultConfig)
|
|
52
105
|
|
|
106
|
+
type AppConfig = typeof config
|
|
107
|
+
|
|
53
108
|
declare module 'tamagui' {
|
|
54
|
-
interface TamaguiCustomConfig extends
|
|
109
|
+
interface TamaguiCustomConfig extends AppConfig {}
|
|
55
110
|
}
|
|
56
111
|
\`\`\`
|
|
57
112
|
|
|
@@ -69,7 +124,7 @@ import { config } from './tamagui.config'
|
|
|
69
124
|
export default function App() {
|
|
70
125
|
return (
|
|
71
126
|
<TamaguiProvider config={config} defaultTheme="light">
|
|
72
|
-
<View
|
|
127
|
+
<View w={200} h={200} bg="background" />
|
|
73
128
|
</TamaguiProvider>
|
|
74
129
|
)
|
|
75
130
|
}
|
|
@@ -95,15 +150,13 @@ first.
|
|
|
95
150
|
This is the part most likely to be written as if it were v2. In v3, token and
|
|
96
151
|
theme names are bare, and conditions are flat clauses inside the value:
|
|
97
152
|
|
|
98
|
-
|
|
99
|
-
<View bg="background hover:background-hover" p="4 sm:6" />
|
|
100
|
-
\`\`\`
|
|
153
|
+
${styleExample}
|
|
101
154
|
|
|
102
155
|
- No \`$\` sigils: \`bg="background"\`, not \`bg="$background"\`.
|
|
103
156
|
- No condition objects: there is no \`hoverStyle={{ ... }}\` and no \`$sm={{ ... }}\`.
|
|
104
157
|
- Modifiers chain left to right and read as prefixes: \`hover:sm:small\`.
|
|
105
158
|
- Clauses work on variant props too, not just style props, so
|
|
106
|
-
\`size="
|
|
159
|
+
\`size="lg sm:sm"\` selects a different variant value per condition.
|
|
107
160
|
- When two clauses both apply, the winner is decided by specificity, not by
|
|
108
161
|
source order: first by platform (\`ios:\` beats \`native:\` beats unprefixed),
|
|
109
162
|
then by how many conditions the clause carries, then by category
|
|
@@ -114,15 +167,15 @@ theme names are bare, and conditions are flat clauses inside the value:
|
|
|
114
167
|
## 7. Verify before reporting success
|
|
115
168
|
|
|
116
169
|
\`\`\`bash
|
|
117
|
-
npx tamagui check
|
|
170
|
+
npx tamagui check --strict
|
|
118
171
|
\`\`\`
|
|
119
172
|
|
|
120
|
-
\`tamagui check\` reports version mismatches, duplicate installs, lockfile
|
|
173
|
+
\`tamagui check --strict\` reports version mismatches, duplicate installs, lockfile
|
|
121
174
|
problems, a missing config, and any v2 style syntax left in source. Then run the
|
|
122
175
|
project's own typecheck and build, and start the app and confirm a Tamagui
|
|
123
176
|
component renders with its styles applied. A passing typecheck is not sufficient:
|
|
124
|
-
|
|
125
|
-
|
|
177
|
+
single-token values are checked when \`settings.allowedStyleValues\` is enabled,
|
|
178
|
+
but conditional payloads also need the strict checker.
|
|
126
179
|
|
|
127
180
|
## 8. Give the agent the project's own vocabulary
|
|
128
181
|
|
|
@@ -72,13 +72,21 @@ export const bundledDefaultGrammarConfig = {
|
|
|
72
72
|
],
|
|
73
73
|
themeNames: [
|
|
74
74
|
'light',
|
|
75
|
+
'light_white',
|
|
75
76
|
'dark_inverse',
|
|
77
|
+
'dark_white',
|
|
76
78
|
'light_level2',
|
|
79
|
+
'light_white_level2',
|
|
77
80
|
'dark_inverse_level2',
|
|
81
|
+
'dark_white_level2',
|
|
78
82
|
'light_level2_level2',
|
|
79
83
|
'light_level3',
|
|
84
|
+
'light_white_level2_level2',
|
|
85
|
+
'light_white_level3',
|
|
80
86
|
'dark_inverse_level2_level2',
|
|
81
87
|
'dark_inverse_level3',
|
|
88
|
+
'dark_white_level2_level2',
|
|
89
|
+
'dark_white_level3',
|
|
82
90
|
'light_level2_level2_level2',
|
|
83
91
|
'light_level2_level2_level3',
|
|
84
92
|
'light_level2_level2_level4',
|
|
@@ -88,6 +96,15 @@ export const bundledDefaultGrammarConfig = {
|
|
|
88
96
|
'light_level3_level3',
|
|
89
97
|
'light_level3_level4',
|
|
90
98
|
'light_level4',
|
|
99
|
+
'light_white_level2_level2_level2',
|
|
100
|
+
'light_white_level2_level2_level3',
|
|
101
|
+
'light_white_level2_level2_level4',
|
|
102
|
+
'light_white_level2_level3',
|
|
103
|
+
'light_white_level2_level4',
|
|
104
|
+
'light_white_level3_level2',
|
|
105
|
+
'light_white_level3_level3',
|
|
106
|
+
'light_white_level3_level4',
|
|
107
|
+
'light_white_level4',
|
|
91
108
|
'dark_inverse_level2_level2_level2',
|
|
92
109
|
'dark_inverse_level2_level2_level3',
|
|
93
110
|
'dark_inverse_level2_level2_level4',
|
|
@@ -97,40 +114,64 @@ export const bundledDefaultGrammarConfig = {
|
|
|
97
114
|
'dark_inverse_level3_level3',
|
|
98
115
|
'dark_inverse_level3_level4',
|
|
99
116
|
'dark_inverse_level4',
|
|
117
|
+
'dark_active',
|
|
118
|
+
'dark_active_level2',
|
|
119
|
+
'dark_active_level2_level2',
|
|
120
|
+
'dark_active_level2_level2_level2',
|
|
121
|
+
'dark_active_level2_level2_level3',
|
|
122
|
+
'dark_active_level2_level2_level4',
|
|
123
|
+
'dark_active_level2_level3',
|
|
124
|
+
'dark_active_level2_level4',
|
|
125
|
+
'dark_active_level3',
|
|
126
|
+
'dark_active_level3_level2',
|
|
127
|
+
'dark_active_level3_level3',
|
|
128
|
+
'dark_active_level3_level4',
|
|
129
|
+
'dark_active_level4',
|
|
130
|
+
'dark_white_level2_level2_level2',
|
|
131
|
+
'dark_white_level2_level2_level3',
|
|
132
|
+
'dark_white_level2_level2_level4',
|
|
133
|
+
'dark_white_level2_level3',
|
|
134
|
+
'dark_white_level2_level4',
|
|
135
|
+
'dark_white_level3_level2',
|
|
136
|
+
'dark_white_level3_level3',
|
|
137
|
+
'dark_white_level3_level4',
|
|
138
|
+
'dark_white_level4',
|
|
100
139
|
'light_accent',
|
|
101
140
|
'light_accent_level2',
|
|
102
141
|
'light_accent_level2_level2',
|
|
103
|
-
'light_accent_level3',
|
|
104
|
-
'light_accent_level2_level2_level2',
|
|
105
|
-
'light_accent_level2_level2_level3',
|
|
106
|
-
'light_accent_level2_level2_level4',
|
|
107
142
|
'light_accent_level2_level3',
|
|
108
143
|
'light_accent_level2_level4',
|
|
109
|
-
'
|
|
110
|
-
'light_accent_level3_level3',
|
|
111
|
-
'light_accent_level3_level4',
|
|
144
|
+
'light_accent_level3',
|
|
112
145
|
'light_accent_level4',
|
|
113
146
|
'light_brand',
|
|
114
147
|
'light_brand_level2',
|
|
115
148
|
'light_brand_level2_level2',
|
|
116
|
-
'light_brand_level3',
|
|
117
149
|
'light_brand_level2_level2_level2',
|
|
118
150
|
'light_brand_level2_level2_level3',
|
|
119
151
|
'light_brand_level2_level2_level4',
|
|
120
152
|
'light_brand_level2_level3',
|
|
121
153
|
'light_brand_level2_level4',
|
|
154
|
+
'light_brand_level3',
|
|
122
155
|
'light_brand_level3_level2',
|
|
123
156
|
'light_brand_level3_level3',
|
|
124
157
|
'light_brand_level3_level4',
|
|
125
158
|
'light_brand_level4',
|
|
126
159
|
'light_inverse',
|
|
160
|
+
'light_black',
|
|
127
161
|
'dark',
|
|
162
|
+
'dark_black',
|
|
128
163
|
'light_inverse_level2',
|
|
164
|
+
'light_black_level2',
|
|
129
165
|
'dark_level2',
|
|
166
|
+
'dark_black_level2',
|
|
130
167
|
'light_inverse_level2_level2',
|
|
131
168
|
'light_inverse_level3',
|
|
169
|
+
'light_black_level2_level2',
|
|
170
|
+
'light_black_level3',
|
|
132
171
|
'dark_level2_level2',
|
|
133
172
|
'dark_level3',
|
|
173
|
+
'dark_black_level2_level2',
|
|
174
|
+
'dark_black_level3',
|
|
134
175
|
'light_inverse_level2_level2_level2',
|
|
135
176
|
'light_inverse_level2_level2_level3',
|
|
136
177
|
'light_inverse_level2_level2_level4',
|
|
@@ -140,6 +181,28 @@ export const bundledDefaultGrammarConfig = {
|
|
|
140
181
|
'light_inverse_level3_level3',
|
|
141
182
|
'light_inverse_level3_level4',
|
|
142
183
|
'light_inverse_level4',
|
|
184
|
+
'light_active',
|
|
185
|
+
'light_active_level2',
|
|
186
|
+
'light_active_level2_level2',
|
|
187
|
+
'light_active_level2_level2_level2',
|
|
188
|
+
'light_active_level2_level2_level3',
|
|
189
|
+
'light_active_level2_level2_level4',
|
|
190
|
+
'light_active_level2_level3',
|
|
191
|
+
'light_active_level2_level4',
|
|
192
|
+
'light_active_level3',
|
|
193
|
+
'light_active_level3_level2',
|
|
194
|
+
'light_active_level3_level3',
|
|
195
|
+
'light_active_level3_level4',
|
|
196
|
+
'light_active_level4',
|
|
197
|
+
'light_black_level2_level2_level2',
|
|
198
|
+
'light_black_level2_level2_level3',
|
|
199
|
+
'light_black_level2_level2_level4',
|
|
200
|
+
'light_black_level2_level3',
|
|
201
|
+
'light_black_level2_level4',
|
|
202
|
+
'light_black_level3_level2',
|
|
203
|
+
'light_black_level3_level3',
|
|
204
|
+
'light_black_level3_level4',
|
|
205
|
+
'light_black_level4',
|
|
143
206
|
'dark_level2_level2_level2',
|
|
144
207
|
'dark_level2_level2_level3',
|
|
145
208
|
'dark_level2_level2_level4',
|
|
@@ -149,54 +212,75 @@ export const bundledDefaultGrammarConfig = {
|
|
|
149
212
|
'dark_level3_level3',
|
|
150
213
|
'dark_level3_level4',
|
|
151
214
|
'dark_level4',
|
|
215
|
+
'dark_black_level2_level2_level2',
|
|
216
|
+
'dark_black_level2_level2_level3',
|
|
217
|
+
'dark_black_level2_level2_level4',
|
|
218
|
+
'dark_black_level2_level3',
|
|
219
|
+
'dark_black_level2_level4',
|
|
220
|
+
'dark_black_level3_level2',
|
|
221
|
+
'dark_black_level3_level3',
|
|
222
|
+
'dark_black_level3_level4',
|
|
223
|
+
'dark_black_level4',
|
|
152
224
|
'light_red',
|
|
153
225
|
'light_red_level2',
|
|
226
|
+
'light_red_level2_level2',
|
|
227
|
+
'light_red_level2_level3',
|
|
228
|
+
'light_red_level2_level4',
|
|
154
229
|
'light_red_level3',
|
|
155
230
|
'light_red_level4',
|
|
156
231
|
'light_yellow',
|
|
157
232
|
'light_yellow_level2',
|
|
233
|
+
'light_yellow_level2_level2',
|
|
234
|
+
'light_yellow_level2_level3',
|
|
235
|
+
'light_yellow_level2_level4',
|
|
158
236
|
'light_yellow_level3',
|
|
159
237
|
'light_yellow_level4',
|
|
160
238
|
'light_green',
|
|
161
239
|
'light_green_level2',
|
|
240
|
+
'light_green_level2_level2',
|
|
241
|
+
'light_green_level2_level3',
|
|
242
|
+
'light_green_level2_level4',
|
|
162
243
|
'light_green_level3',
|
|
163
244
|
'light_green_level4',
|
|
164
245
|
'dark_accent',
|
|
165
246
|
'dark_accent_level2',
|
|
166
247
|
'dark_accent_level2_level2',
|
|
167
|
-
'dark_accent_level3',
|
|
168
|
-
'dark_accent_level2_level2_level2',
|
|
169
|
-
'dark_accent_level2_level2_level3',
|
|
170
|
-
'dark_accent_level2_level2_level4',
|
|
171
248
|
'dark_accent_level2_level3',
|
|
172
249
|
'dark_accent_level2_level4',
|
|
173
|
-
'
|
|
174
|
-
'dark_accent_level3_level3',
|
|
175
|
-
'dark_accent_level3_level4',
|
|
250
|
+
'dark_accent_level3',
|
|
176
251
|
'dark_accent_level4',
|
|
177
252
|
'dark_brand',
|
|
178
253
|
'dark_brand_level2',
|
|
179
254
|
'dark_brand_level2_level2',
|
|
180
|
-
'dark_brand_level3',
|
|
181
255
|
'dark_brand_level2_level2_level2',
|
|
182
256
|
'dark_brand_level2_level2_level3',
|
|
183
257
|
'dark_brand_level2_level2_level4',
|
|
184
258
|
'dark_brand_level2_level3',
|
|
185
259
|
'dark_brand_level2_level4',
|
|
260
|
+
'dark_brand_level3',
|
|
186
261
|
'dark_brand_level3_level2',
|
|
187
262
|
'dark_brand_level3_level3',
|
|
188
263
|
'dark_brand_level3_level4',
|
|
189
264
|
'dark_brand_level4',
|
|
190
265
|
'dark_red',
|
|
191
266
|
'dark_red_level2',
|
|
267
|
+
'dark_red_level2_level2',
|
|
268
|
+
'dark_red_level2_level3',
|
|
269
|
+
'dark_red_level2_level4',
|
|
192
270
|
'dark_red_level3',
|
|
193
271
|
'dark_red_level4',
|
|
194
272
|
'dark_yellow',
|
|
195
273
|
'dark_yellow_level2',
|
|
274
|
+
'dark_yellow_level2_level2',
|
|
275
|
+
'dark_yellow_level2_level3',
|
|
276
|
+
'dark_yellow_level2_level4',
|
|
196
277
|
'dark_yellow_level3',
|
|
197
278
|
'dark_yellow_level4',
|
|
198
279
|
'dark_green',
|
|
199
280
|
'dark_green_level2',
|
|
281
|
+
'dark_green_level2_level2',
|
|
282
|
+
'dark_green_level2_level3',
|
|
283
|
+
'dark_green_level2_level4',
|
|
200
284
|
'dark_green_level3',
|
|
201
285
|
'dark_green_level4',
|
|
202
286
|
],
|
|
@@ -233,17 +317,25 @@ export const bundledDefaultGrammarConfig = {
|
|
|
233
317
|
'80',
|
|
234
318
|
'96',
|
|
235
319
|
'px',
|
|
320
|
+
'0.5',
|
|
236
321
|
'0-5',
|
|
322
|
+
'1.5',
|
|
237
323
|
'1-5',
|
|
324
|
+
'2.5',
|
|
238
325
|
'2-5',
|
|
326
|
+
'3.5',
|
|
239
327
|
'3-5',
|
|
240
328
|
'-px',
|
|
329
|
+
'-0.5',
|
|
241
330
|
'-0-5',
|
|
242
331
|
'-1',
|
|
332
|
+
'-1.5',
|
|
243
333
|
'-1-5',
|
|
244
334
|
'-2',
|
|
335
|
+
'-2.5',
|
|
245
336
|
'-2-5',
|
|
246
337
|
'-3',
|
|
338
|
+
'-3.5',
|
|
247
339
|
'-3-5',
|
|
248
340
|
'-4',
|
|
249
341
|
'-5',
|
|
@@ -304,9 +396,13 @@ export const bundledDefaultGrammarConfig = {
|
|
|
304
396
|
'80',
|
|
305
397
|
'96',
|
|
306
398
|
'px',
|
|
399
|
+
'0.5',
|
|
307
400
|
'0-5',
|
|
401
|
+
'1.5',
|
|
308
402
|
'1-5',
|
|
403
|
+
'2.5',
|
|
309
404
|
'2-5',
|
|
405
|
+
'3.5',
|
|
310
406
|
'3-5',
|
|
311
407
|
],
|
|
312
408
|
radius: [
|
|
@@ -634,28 +730,22 @@ export const bundledDefaultGrammarConfig = {
|
|
|
634
730
|
'brand-800',
|
|
635
731
|
'brand-900',
|
|
636
732
|
'brand-950',
|
|
637
|
-
'
|
|
638
|
-
'
|
|
639
|
-
'
|
|
640
|
-
'
|
|
641
|
-
'
|
|
642
|
-
'
|
|
643
|
-
'
|
|
644
|
-
'
|
|
645
|
-
'
|
|
646
|
-
'
|
|
647
|
-
'
|
|
648
|
-
'color5',
|
|
649
|
-
'color6',
|
|
650
|
-
'color7',
|
|
651
|
-
'color8',
|
|
652
|
-
'color9',
|
|
653
|
-
'color10',
|
|
654
|
-
'color11',
|
|
733
|
+
'color-1',
|
|
734
|
+
'color-2',
|
|
735
|
+
'color-3',
|
|
736
|
+
'color-4',
|
|
737
|
+
'color-5',
|
|
738
|
+
'color-6',
|
|
739
|
+
'color-7',
|
|
740
|
+
'color-8',
|
|
741
|
+
'color-9',
|
|
742
|
+
'color-10',
|
|
743
|
+
'color-11',
|
|
655
744
|
'background',
|
|
656
745
|
'background-hover',
|
|
657
746
|
'background-press',
|
|
658
747
|
'background-focus',
|
|
748
|
+
'background-active',
|
|
659
749
|
'border-color',
|
|
660
750
|
'border-color-hover',
|
|
661
751
|
'border-color-press',
|
|
@@ -669,6 +759,13 @@ export const bundledDefaultGrammarConfig = {
|
|
|
669
759
|
'shadow-color',
|
|
670
760
|
'accent-background',
|
|
671
761
|
'accent-color',
|
|
762
|
+
'shadow-1',
|
|
763
|
+
'shadow-2',
|
|
764
|
+
'shadow-3',
|
|
765
|
+
'shadow-4',
|
|
766
|
+
'shadow-5',
|
|
767
|
+
'shadow-6',
|
|
768
|
+
'shadow-7',
|
|
672
769
|
],
|
|
673
770
|
fontFamily: ['body', 'heading'],
|
|
674
771
|
fontSize: [
|
package/src/upgrade.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk'
|
|
2
|
-
import {
|
|
2
|
+
import { execFileSync } from 'node:child_process'
|
|
3
|
+
import { globSync } from 'glob'
|
|
3
4
|
import { existsSync, readFileSync, writeFileSync } from 'node:fs'
|
|
4
5
|
import { join } from 'node:path'
|
|
5
6
|
|
|
@@ -66,38 +67,16 @@ function parseVersionSpecifier(version: string): {
|
|
|
66
67
|
return { specifier: '', cleanVersion: version }
|
|
67
68
|
}
|
|
68
69
|
|
|
69
|
-
/**
|
|
70
|
-
* Find all package.json files in the workspace
|
|
71
|
-
*/
|
|
72
|
-
function findPackageJsonFiles(root: string): string[] {
|
|
73
|
-
const files: string[] = []
|
|
74
|
-
|
|
75
|
-
// Check root package.json
|
|
76
|
-
const rootPkgPath = join(root, 'package.json')
|
|
77
|
-
if (existsSync(rootPkgPath)) {
|
|
78
|
-
files.push(rootPkgPath)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// Use find command to locate all package.json files
|
|
82
|
-
try {
|
|
83
|
-
const result = execSync(
|
|
84
|
-
`find "${root}" -name "package.json" -not -path "*/node_modules/*" -not -path "*/.git/*" 2>/dev/null`,
|
|
85
|
-
{ encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 }
|
|
86
|
-
)
|
|
87
|
-
const foundFiles = result.trim().split('\n').filter(Boolean)
|
|
88
|
-
files.push(...foundFiles.filter((f) => !files.includes(f)))
|
|
89
|
-
} catch {
|
|
90
|
-
// Fallback: just use root
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return files
|
|
94
|
-
}
|
|
95
|
-
|
|
96
70
|
/**
|
|
97
71
|
* Find all tamagui packages in the workspace
|
|
98
72
|
*/
|
|
99
73
|
function findTamaguiPackages(root: string): PackageInfo[] {
|
|
100
|
-
const packageJsonFiles =
|
|
74
|
+
const packageJsonFiles = globSync('**/package.json', {
|
|
75
|
+
cwd: root,
|
|
76
|
+
absolute: true,
|
|
77
|
+
nodir: true,
|
|
78
|
+
ignore: ['**/node_modules/**', '**/.git/**', '**/dist/**', '**/build/**'],
|
|
79
|
+
})
|
|
101
80
|
const packages: PackageInfo[] = []
|
|
102
81
|
|
|
103
82
|
for (const filePath of packageJsonFiles) {
|
|
@@ -141,7 +120,9 @@ function findTamaguiPackages(root: string): PackageInfo[] {
|
|
|
141
120
|
*/
|
|
142
121
|
async function getLatestVersion(): Promise<string> {
|
|
143
122
|
try {
|
|
144
|
-
const result =
|
|
123
|
+
const result = execFileSync('npm', ['view', 'tamagui', 'version'], {
|
|
124
|
+
encoding: 'utf-8',
|
|
125
|
+
})
|
|
145
126
|
return result.trim()
|
|
146
127
|
} catch (err) {
|
|
147
128
|
throw new Error('Failed to fetch latest tamagui version from npm')
|
|
@@ -222,7 +203,7 @@ function getChangelogFromGit(
|
|
|
222
203
|
try {
|
|
223
204
|
// Try to fetch tags first
|
|
224
205
|
try {
|
|
225
|
-
|
|
206
|
+
execFileSync('git', ['fetch', '--tags'], { encoding: 'utf-8', stdio: 'pipe' })
|
|
226
207
|
} catch {
|
|
227
208
|
// Ignore fetch errors
|
|
228
209
|
}
|
|
@@ -237,8 +218,15 @@ function getChangelogFromGit(
|
|
|
237
218
|
|
|
238
219
|
let result: string
|
|
239
220
|
try {
|
|
240
|
-
result =
|
|
241
|
-
|
|
221
|
+
result = execFileSync(
|
|
222
|
+
'git',
|
|
223
|
+
[
|
|
224
|
+
'log',
|
|
225
|
+
`${fromTag}..${toTag}`,
|
|
226
|
+
'--pretty=format:%H|%ad|%s',
|
|
227
|
+
'--date=short',
|
|
228
|
+
'--',
|
|
229
|
+
],
|
|
242
230
|
{ encoding: 'utf-8', maxBuffer: 10 * 1024 * 1024 }
|
|
243
231
|
)
|
|
244
232
|
} catch {
|
|
@@ -530,6 +518,15 @@ export async function upgrade(options: UpgradeOptions = {}): Promise<void> {
|
|
|
530
518
|
console.log(chalk.gray(` Target version: ${chalk.white(toVersion)}`))
|
|
531
519
|
console.log('')
|
|
532
520
|
|
|
521
|
+
if (fromVersion.startsWith('2.') && toVersion.startsWith('3.')) {
|
|
522
|
+
console.log(
|
|
523
|
+
chalk.yellow(
|
|
524
|
+
'Run `tamagui migrate --from v2` for the required API and configuration migration.'
|
|
525
|
+
)
|
|
526
|
+
)
|
|
527
|
+
console.log('')
|
|
528
|
+
}
|
|
529
|
+
|
|
533
530
|
// Show package summary (unless changelog only with no packages)
|
|
534
531
|
if (packages.length > 0 && !changelogOnly) {
|
|
535
532
|
displayPackageSummary(packages)
|
package/types/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,gBAAgB,CAAA;AAgBxE,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,CAAA;IACjB,YAAY,EAAE,WAAW,EAAE,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED,eAAO,MAAM,KAAK,YACP,kBAAkB,GAAG;IAC5B,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,KACA,OAAO,CAAC,WAAW,CAmiBrB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CLIResolvedOptions } from '@tamagui/types';
|
|
2
|
-
interface GeneratePromptOptions extends CLIResolvedOptions {
|
|
2
|
+
export interface GeneratePromptOptions extends CLIResolvedOptions {
|
|
3
3
|
output?: string;
|
|
4
|
+
styleValueSyntax?: 'string' | 'object' | 'both';
|
|
4
5
|
}
|
|
5
6
|
export declare function generatePrompt(options: GeneratePromptOptions): Promise<void>;
|
|
6
|
-
export {};
|
|
7
7
|
//# sourceMappingURL=generate-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-prompt.d.ts","sourceRoot":"","sources":["../src/generate-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-prompt.d.ts","sourceRoot":"","sources":["../src/generate-prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;CAChD;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,iBAoClE"}
|
package/types/icons.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const LUCIDE_VERSION = "1.49.0";
|
|
2
|
+
export declare const HEROICONS_VERSION = "2.2.0";
|
|
3
|
+
export declare const PHOSPHOR_VERSION = "2.1.1";
|
|
4
|
+
export type AddIconsOptions = {
|
|
5
|
+
names: string[];
|
|
6
|
+
from?: string;
|
|
7
|
+
weight?: string;
|
|
8
|
+
variant?: string;
|
|
9
|
+
out?: string;
|
|
10
|
+
cwd?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function addIcons(options: AddIconsOptions): Promise<void>;
|
|
13
|
+
export declare function svgToComponent(name: string, svg: string): string;
|
|
14
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,cAAc,WAAW,CAAA;AACtC,eAAO,MAAM,iBAAiB,UAAU,CAAA;AACxC,eAAO,MAAM,gBAAgB,UAAU,CAAA;AAcvC,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAA;IAEf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,iBA4FtD;AA0FD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAwFvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-theme.d.ts","sourceRoot":"","sources":["../src/preview-theme.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,iBAyC9D"}
|
package/types/setup-prompt.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
export declare function
|
|
1
|
+
export declare function resolveStyleValueSyntax(setting?: 'string' | 'object' | 'both'): Promise<'string' | 'object' | 'both'>;
|
|
2
|
+
export declare function setupPrompt(options?: any): Promise<any>;
|
|
3
|
+
export declare function printSetupPrompt(syntax?: 'string' | 'object' | 'both'): void;
|
|
4
|
+
export declare function getSetupPrompt(syntax?: 'string' | 'object' | 'both'): string;
|
|
3
5
|
//# sourceMappingURL=setup-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-prompt.d.ts","sourceRoot":"","sources":["../src/setup-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup-prompt.d.ts","sourceRoot":"","sources":["../src/setup-prompt.ts"],"names":[],"mappings":"AASA,wBAAsB,uBAAuB,CAC3C,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GACrC,OAAO,CAAC,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,CAmBvC;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,gBAG9C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,QAYrE;AAED,wBAAgB,cAAc,CAAC,MAAM,GAAE,QAAQ,GAAG,QAAQ,GAAG,MAAe,UA4I3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-tailwind-default-config.d.ts","sourceRoot":"","sources":["../src/to-tailwind-default-config.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B;IACtC,UAAU;QACR,IAAI;QACJ,CAAC;QACD,EAAE;QACF,OAAO;QACP,IAAI;QACJ,CAAC;QACD,KAAK;QACL,OAAO;QACP,CAAC;QACD,CAAC;QACD,IAAI;QACJ,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,IAAI;QACJ,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,CAAC;QACD,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,CAAC;QACD,OAAO;QACP,MAAM;QACN,IAAI;QACJ,MAAM;QACN,CAAC;QACD,CAAC;QACD,CAAC;;IAEH,UAAU;IAiCV,UAAU;
|
|
1
|
+
{"version":3,"file":"to-tailwind-default-config.d.ts","sourceRoot":"","sources":["../src/to-tailwind-default-config.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B;IACtC,UAAU;QACR,IAAI;QACJ,CAAC;QACD,EAAE;QACF,OAAO;QACP,IAAI;QACJ,CAAC;QACD,KAAK;QACL,OAAO;QACP,CAAC;QACD,CAAC;QACD,IAAI;QACJ,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,IAAI;QACJ,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,CAAC;QACD,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,EAAE;QACF,CAAC;QACD,OAAO;QACP,MAAM;QACN,IAAI;QACJ,MAAM;QACN,CAAC;QACD,CAAC;QACD,CAAC;;IAEH,UAAU;IAiCV,UAAU;IAsNV,UAAU;QACR,KAAK;QA+EL,IAAI;QAyCJ,MAAM;QAwBN,MAAM;QACN,KAAK;QAiVL,UAAU;QACV,QAAQ;QA+BR,UAAU;QA+BV,aAAa;;CAmBhB,CAAA"}
|
package/types/upgrade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAcA,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAocD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6HzE"}
|