@tanstack/cta-engine 0.13.0 → 0.14.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/cli.js +8 -1
- package/dist/create-app.js +0 -6
- package/dist/options.js +3 -0
- package/dist/types/options.d.ts +1 -1
- package/dist/types/types.d.ts +1 -0
- package/package.json +1 -1
- package/src/cli.ts +21 -7
- package/src/create-app.ts +0 -7
- package/src/options.ts +3 -1
- package/src/types.ts +1 -0
package/dist/cli.js
CHANGED
|
@@ -61,6 +61,7 @@ export function cli({ name, appName, forcedMode, forcedAddOns, }) {
|
|
|
61
61
|
}
|
|
62
62
|
return value;
|
|
63
63
|
})
|
|
64
|
+
.option('--interactive', 'interactive mode', false)
|
|
64
65
|
.option('--tailwind', 'add Tailwind CSS', false)
|
|
65
66
|
.option('--add-ons [...add-ons]', 'pick from a list of available add-ons (comma separated list)', (value) => {
|
|
66
67
|
let addOns = !!value;
|
|
@@ -97,7 +98,13 @@ export function cli({ name, appName, forcedMode, forcedAddOns, }) {
|
|
|
97
98
|
if (forcedMode) {
|
|
98
99
|
cliOptions.template = forcedMode;
|
|
99
100
|
}
|
|
100
|
-
let finalOptions
|
|
101
|
+
let finalOptions;
|
|
102
|
+
if (cliOptions.interactive) {
|
|
103
|
+
cliOptions.addOns = true;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
finalOptions = await normalizeOptions(cliOptions, forcedMode, forcedAddOns);
|
|
107
|
+
}
|
|
101
108
|
if (finalOptions) {
|
|
102
109
|
intro(`Creating a new ${appName} app in ${projectName}...`);
|
|
103
110
|
}
|
package/dist/create-app.js
CHANGED
|
@@ -222,12 +222,6 @@ export async function createApp(options, { silent = false, environment, cwd, app
|
|
|
222
222
|
let targetDir = cwd || '';
|
|
223
223
|
if (!targetDir.length) {
|
|
224
224
|
targetDir = resolve(process.cwd(), options.projectName);
|
|
225
|
-
if (environment.exists(targetDir)) {
|
|
226
|
-
if (!silent) {
|
|
227
|
-
log.error(`Directory "${options.projectName}" already exists`);
|
|
228
|
-
}
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
225
|
}
|
|
232
226
|
const copyFiles = createCopyFiles(environment, targetDir);
|
|
233
227
|
const templateFileFromContent = createTemplateFile(environment, options.projectName, options, targetDir);
|
package/dist/options.js
CHANGED
|
@@ -135,6 +135,9 @@ export async function promptForOptions(cliOptions, { forcedAddOns = [], forcedMo
|
|
|
135
135
|
}
|
|
136
136
|
options.projectName = value;
|
|
137
137
|
}
|
|
138
|
+
else {
|
|
139
|
+
options.projectName = cliOptions.projectName;
|
|
140
|
+
}
|
|
138
141
|
// Router type selection
|
|
139
142
|
if (!cliOptions.template && !forcedMode) {
|
|
140
143
|
const routerType = await select({
|
package/dist/types/options.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ export declare function normalizeOptions(cliOptions: CliOptions, forcedMode?: Mo
|
|
|
3
3
|
export declare function promptForOptions(cliOptions: CliOptions, { forcedAddOns, forcedMode, }: {
|
|
4
4
|
forcedAddOns?: Array<string>;
|
|
5
5
|
forcedMode?: TemplateOptions;
|
|
6
|
-
}): Promise<Required<Options
|
|
6
|
+
}): Promise<Required<Options> | undefined>;
|
package/dist/types/types.d.ts
CHANGED
package/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -16,7 +16,13 @@ import { createDefaultEnvironment } from './environment.js'
|
|
|
16
16
|
|
|
17
17
|
import type { PackageManager } from './package-manager.js'
|
|
18
18
|
import type { ToolChain } from './toolchain.js'
|
|
19
|
-
import type {
|
|
19
|
+
import type {
|
|
20
|
+
CliOptions,
|
|
21
|
+
Framework,
|
|
22
|
+
Mode,
|
|
23
|
+
Options,
|
|
24
|
+
TemplateOptions,
|
|
25
|
+
} from './types.js'
|
|
20
26
|
|
|
21
27
|
export function cli({
|
|
22
28
|
name,
|
|
@@ -119,6 +125,7 @@ export function cli({
|
|
|
119
125
|
return value as ToolChain
|
|
120
126
|
},
|
|
121
127
|
)
|
|
128
|
+
.option('--interactive', 'interactive mode', false)
|
|
122
129
|
.option('--tailwind', 'add Tailwind CSS', false)
|
|
123
130
|
.option<Array<string> | boolean>(
|
|
124
131
|
'--add-ons [...add-ons]',
|
|
@@ -163,11 +170,17 @@ export function cli({
|
|
|
163
170
|
cliOptions.template = forcedMode as TemplateOptions
|
|
164
171
|
}
|
|
165
172
|
|
|
166
|
-
let finalOptions
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
173
|
+
let finalOptions: Options | undefined
|
|
174
|
+
if (cliOptions.interactive) {
|
|
175
|
+
cliOptions.addOns = true
|
|
176
|
+
} else {
|
|
177
|
+
finalOptions = await normalizeOptions(
|
|
178
|
+
cliOptions,
|
|
179
|
+
forcedMode,
|
|
180
|
+
forcedAddOns,
|
|
181
|
+
)
|
|
182
|
+
}
|
|
183
|
+
|
|
171
184
|
if (finalOptions) {
|
|
172
185
|
intro(`Creating a new ${appName} app in ${projectName}...`)
|
|
173
186
|
} else {
|
|
@@ -177,7 +190,8 @@ export function cli({
|
|
|
177
190
|
forcedAddOns,
|
|
178
191
|
})
|
|
179
192
|
}
|
|
180
|
-
|
|
193
|
+
|
|
194
|
+
await createApp(finalOptions!, {
|
|
181
195
|
environment: createDefaultEnvironment(),
|
|
182
196
|
cwd: options.targetDir || undefined,
|
|
183
197
|
name,
|
package/src/create-app.ts
CHANGED
|
@@ -335,13 +335,6 @@ export async function createApp(
|
|
|
335
335
|
let targetDir: string = cwd || ''
|
|
336
336
|
if (!targetDir.length) {
|
|
337
337
|
targetDir = resolve(process.cwd(), options.projectName)
|
|
338
|
-
|
|
339
|
-
if (environment.exists(targetDir)) {
|
|
340
|
-
if (!silent) {
|
|
341
|
-
log.error(`Directory "${options.projectName}" already exists`)
|
|
342
|
-
}
|
|
343
|
-
return
|
|
344
|
-
}
|
|
345
338
|
}
|
|
346
339
|
|
|
347
340
|
const copyFiles = createCopyFiles(environment, targetDir)
|
package/src/options.ts
CHANGED
|
@@ -167,7 +167,7 @@ export async function promptForOptions(
|
|
|
167
167
|
forcedAddOns?: Array<string>
|
|
168
168
|
forcedMode?: TemplateOptions
|
|
169
169
|
},
|
|
170
|
-
): Promise<Required<Options
|
|
170
|
+
): Promise<Required<Options> | undefined> {
|
|
171
171
|
const options = {} as Required<Options>
|
|
172
172
|
|
|
173
173
|
options.framework = cliOptions.framework || DEFAULT_FRAMEWORK
|
|
@@ -195,6 +195,8 @@ export async function promptForOptions(
|
|
|
195
195
|
process.exit(0)
|
|
196
196
|
}
|
|
197
197
|
options.projectName = value
|
|
198
|
+
} else {
|
|
199
|
+
options.projectName = cliOptions.projectName
|
|
198
200
|
}
|
|
199
201
|
|
|
200
202
|
// Router type selection
|