Skip to content

Commit c35a36a

Browse files
authored
Merge pull request #10481 from marmelab/feat/create-react-admin/add_a_basic_flag
Add a `--basic` flag to the `create-react-admin` package to skip interactive steps
2 parents 2cfcf98 + b0d8c02 commit c35a36a

File tree

1 file changed

+17
-10
lines changed
  • packages/create-react-admin/src

1 file changed

+17
-10
lines changed

packages/create-react-admin/src/cli.tsx

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,22 @@ const cli = meow(
1616
--auth-provider Set the auth provider to use ("local-auth-provider" or "none")
1717
--resource Add a resource that will be initialized with guessers (can be used multiple times). Set to "skip" to bypass the interactive resource step.
1818
--install Set the package manager to use for installing dependencies ("yarn", "npm" or "skip" to bypass the interactive install step)
19+
--basic Skip all the interactive steps and create a basic app with no data provider, no auth provider, no resources and no install step
1920
2021
Examples
2122
$ create-admin-app my-admin
2223
$ create-admin-app my-admin --data-provider ra-data-json-server --auth-provider local-auth-provider --resource posts --resource comments --install npm
24+
$ create-admin-app my-admin --basic
2325
`,
2426
{
2527
flags: {
2628
help: {
2729
type: 'boolean',
2830
alias: 'h',
2931
},
32+
basic: {
33+
type: 'boolean',
34+
},
3035
dataProvider: {
3136
type: 'string',
3237
choices: SupportedDataProviders.map(choice => choice.value),
@@ -50,19 +55,21 @@ const cli = meow(
5055
if (cli.flags.h) {
5156
cli.showHelp();
5257
} else {
58+
const dataProvider = cli.flags.basic ? 'none' : cli.flags.dataProvider;
59+
const authProvider = cli.flags.basic ? 'none' : cli.flags.authProvider;
60+
const install = cli.flags.basic ? 'skip' : cli.flags.install;
61+
const resources =
62+
cli.flags.basic || cli.flags.resource.includes('skip')
63+
? []
64+
: cli.flags.resource;
65+
5366
render(
5467
<App
5568
name={cli.input.length > 0 ? cli.input[0] : undefined}
56-
dataProvider={cli.flags.dataProvider}
57-
authProvider={cli.flags.authProvider}
58-
resources={
59-
cli.flags.resource.includes('skip')
60-
? []
61-
: cli.flags.resource.length > 0
62-
? cli.flags.resource
63-
: undefined
64-
}
65-
install={cli.flags.install}
69+
dataProvider={dataProvider}
70+
authProvider={authProvider}
71+
resources={resources}
72+
install={install}
6673
/>
6774
);
6875
}

0 commit comments

Comments
 (0)