This folder stores "starter" projects for the CLI. The idea is that during the CLI execution, the developer can choose a particular starter app and combine it with a specific server and features.
All starters are based on starters/apps/base, including the package.json and tsconfig.json. Depending on the options the user selects, their starter merges into the base app.
Here are steps to try out the CLI in a local environment.
-
Build CLI:
# yarn build.cli -
Run CLI:
# node ./packages/create-qwik/dist/create-qwik.cjs 💫 Let's create a Qwik project 💫 ✔ Project name … todo-express ✔ Select a starter › Todo ✔ Select a server › Express ⭐️ Success! Project saved in todo-express directory 📟 Next steps: cd todo-express npm install npm start -
Change to generated location
cd todo-express npm install npm start
The starter CLI is published at the same time as @builder.io/qwik. When published, the CLI will update the base app's package.json to point to the published version of Qwik.
The base app's package.json's devDependencies are updated with:
{
"devDependencies": {
"@builder.io/qwik": "<QWIK_VERSION_BEING_PUBLISHED>",
"typescript": "<SAME_AS_ROOT_PACKAGE>",
"vite": "<SAME_AS_ROOT_PACKAGE>"
}
}