Developing
An Introduction on Setting Up Your Development Environment (this step is required if you want to contribute to Squidex or write customized extensions for it)
Last updated
Was this helpful?
An Introduction on Setting Up Your Development Environment (this step is required if you want to contribute to Squidex or write customized extensions for it)
Last updated
Was this helpful?
You can find the source code on GitHub:
To work with the source code you need the following tools.
We recommend using Docker on your developer machine, it makes life much easier!
(for version <= 6.1)
or (for older versions of Squidex)
Optionally:
Optionally:
Execute the following commands to get a MongoDB installation for development.
Usually, newer versions are better, but the newer versions of NodeJS are renowned for consuming a lot of memory during a build or when running Webpack Dev Server.
You can use any editor you want, but our recommendation is to use:
To run Squidex, you must run both frontend and backend independently. This might feel redundant and annoying at first (we also had to use some code to run the the Webpack Dev Server automatically when the application started), but it only takes a minute for the Webpack Dev Server to begin. We have decoupled the commands so you can keep the Webpack Dev Server running, even when you have to restart the backend application.
Optionally:
npm rebuild node-sass --force
(Only if you have issues with node-sass)
npm test
(Runs the unit tests and listens for changes)
npm run test:coverage
(Runs the unit tests and calculates the test coverage).
As the name Webpack Dev Server indicates, it's only used for development. For production we bundle and minimise all typescript, html and sass files and add the bundles to the deployment package. During development, the frontend downloads hundreds of files, this is a completely normal process.
Ensure that the ASPNETCORE_ENVIRONMENT
environment variable is set to Development
, either through the launchSettings.json
file or through your IDE's settings.
You can also run and debug the backend with Visual Studio 2019. Here are some recommended steps you should undertake before starting your debug session:
Ensure that you run the Squidex
project, which means that you use the integrated Kestrel web server (this begins faster than IIS Express).
Uncheck the Launch browser
setting. You just want to keep Squidex open during development (and not constantly close and open the window) to make debugging the frontend with your browser easier.
You'll find ready to use Docker configurations for development at .
(>= 10.0)
OR for the backend.
for the frontend with the following plugins installed:
(to run linting for typescript).
(to run linting for scss / css).
.
The frontend is written with and . Therefore you have to run the . It's a server application that builds the website and watches the file system. Whenever you make a change to a file, the server runs the build process and reloads the website automatically. It only tries to compile the files that have changed and in some cases, can even reload the style sheets without reloading the site.
Open to run Squidex.