To be honest, it’s more than that: it’s your application development platform to develop your websites, your IoT applications, your mobile apps, your smart devices and your digital signage solutions. With its best-in-class APIs, a complete feature list and great documentation, you’ll get your projects done successfully in less time, no matter which technology you prefer.
This repository contains the source code for the user interface of Gentics Mesh. Please check out the Gentics Mesh backend repository for further information.
$ git clone git@github.com:gentics/mesh-ui.git
$ git checkout develop
$ npm ci
$ npm start
- Download and run the Mesh Demo: https://getmesh.io/download/ OR you can run
npm run mesh
if you have docker installed. - Open
http://localhost:4200
in a browser.
$ npm test
This project uses TSLint and Prettier to automatically format the TypeScript code, and js-beautify to format the HTML templates.
Formatting is performed automatically with every commit (by means of lint-staged). This means that only well-formatted code should ever make it into the repo. In the event that there is a TSLint failure which cannot be automatically fixed, the commit will fail with an error message from TSLint explaining what needs to be fixed manually.
This project makes use of TypeScript's strictNullChecks
. In general, we should avoid the use of the !
non-null
assertion operator and try to make better use of correct typings, type guards and defensive programming.
This is not a hard rule and there are the following valid exceptions:
- Certain JavaScript patterns are not easy to express without falling back on
!
, for example when working with JavaScript Maps (See this discussion: microsoft/TypeScript#9619). So we do not ban its use, but it should be a last resort. - In spec files we are less strict, since we are often purposefully constructing partial mock objects or creating
non-null states explicitly, so
!
is okay in specs in general if they cannot be easily avoided. - There is a class of incorrectly-defined optional properties of the Mesh models generated by the RAML, e.g.
node.project.name
. Such properties force the use of!
until the RAML definitions are fixed. See https://github.com/gentics/mesh/issues/402 Once the Mesh interfaces have been fixed, that class of!
operators can be removed.
In order to build the bundled static files for a web server to be served:
- Optionally: Edit the base path in /src/app/index.html at
<base href="/">
to your need. E. g.<base href="/cms">
$ npm run build
- At /dist are the files ready to be served.
Copyright (c) 2014-2023 Gentics Software GmbH. Licensed under the Apache License, Version 2.0.
Gentics is a registered trade mark of Gentics Software GmbH.