Tairo needs you to install the dependencies defined in all package.json files inside the different packages.
You can check which directories are considered as package in the pnpm-workspace.yaml configuration file.
Install Node.js dependencies
To do so, use the following command:
This will create a node_module folder in each package containing the dependencies.
You may need to remove them if you update the dependencies, you can use find unix command to do so:
Start the development server
Now you can start the project using the following command:
Running this command will start the development server from the .app folder and open the frontend in your browser. You can now start editing the files and see the changes in real time.
Once you are done, you can stop the development server by pressing Ctrl + C (or ⌘ + C on macOS) in your terminal. To deploy the project for production, use the pnpm build command. This will build the project in the .app/dist folder.
App structure
The base structure of the Tairo starter is an empty Nuxt app that only extends from the Tairo layer.
Here is the structure of the .app folder:
Useful resources:
The source of the main demo is separated from the Tairo source, allowing you to simply remove it if not needed, in order to start from a clean project.
Demo project structure
The Tairo demo is split into differents layers:
Start the demo development server
To start the project from the demo instead of the app folder, run this command:
Optional demo features
By default the documentation layer is not enabled, it's a heavy layer due to usage of the nuxt-component-meta module that generates up to date components documentation directly from the source code.
You can copy the .demo/.env.example to .demo/.env to enable it, as other additionnal features described in the file. Note that this architecture can be used to create kill switch feature flag
We recommend you to remove the demo content from your project if you don't need it, this will make your project lighter and easier to understand.
First, delete the .demo folder and remove it from the pnpm-workspace.yaml file:
Then in the package.json, we need to remove a pnpm patch which is used to fix a bug in the smooth-dnd package, but this patch is not needed anymore since the smooth-dnd package has been removed with the demo.
Also, you can remove some scripts that are not needed anymore:
Finally, you can update your tsconfig.json to set the extends property to the .app folder instead of the .demo folder: