Skip to main content

Project Structure

Since Strapi does not has typescript support. So we use esbuild to compile ts in js quickly

.
โ”œโ”€โ”€ app
โ”œโ”€โ”€ docs
โ”œโ”€โ”€ eslint
โ”œโ”€โ”€ scripts
โ”‚ โ”œโ”€โ”€ ...
โ”‚ โ””โ”€โ”€ compile # scripts/utility for complie typescript
โ”œโ”€โ”€ strapi
โ”‚ โ”œโ”€โ”€ ...
โ”‚ โ”œโ”€โ”€ schema # joi schema
โ”‚ โ”œโ”€โ”€ tests # e2e test
โ”‚ โ”œโ”€โ”€ types # types using in development
โ”‚ โ”œโ”€โ”€ typings # types expect to share with the client
โ”‚ โ””โ”€โ”€ ...
โ””โ”€โ”€ ...

Notes

  • To run the strapi command easier, we define /strapi and /app as yarn workspace. But not /docs. It is because
    • Docusaurus do not work with yarn workspace. The solutions mentioned in this issue does not work
    • The version of React that use by Strapi is fixed to 16. We need to downgrade the React version to solve the limitation of multiple instances of React