Siemens Industrial Experience (iX) monorepo
iX is an open-source design system for designers and developers, to consistently create the perfect digital experience for industrial software products.
Quickstart - Documentation - Community
Installation
You can find a getting started guide here
Development
Installation
yarn install
Build
yarn build || yarn build --filter=<workspace-name>
Development
yarn start || yarn start --filter=<workspace-name>
Execute unit tests
yarn test
Visual regression testing
Docker cli must be installed on your system
If you execute the visual-regression tests, please be sure to execute the build step before.
- Build the library
yarn build
- Start playwright docker container. (Currently v1.30.0-focal but can be a newer version)
docker run -p 8080:8080 -v $(pwd):/work/ -w /work -it mcr.microsoft.com/playwright:v1.30.0-focal /bin/bash
-
Start the test suite
- All tests run
yarn visual-regression-ci
- Workspace run
yarn workspace @siemens/ix test:e2e
- All tests run
-
Check the results in
packages/<workspace>/playwright-report/index.html
-
Adapt and update snapshots with
yarn workspace @siemens/ix test:e2e <test name> -u
-
Check the git diff and commit changes 🎉
Documentation
Serve documentation locally
yarn start --filter=documentation
Release
yarn release
Project structure
core
Package Contains all styles and the webcomponents.
published as @siemens/ix
react
Package Contains the wrapper components for react.
published as @siemens/ix-react
angular
Package Contains the wrapper components for angular.
published as @siemens/ix-angular
html-test-app
, react-test-app
and angular-test-app
Package These packages contain playground applications to explore and test the respective ix
components.
The preview source code for the documentation is also located inside the x-test-app
's. (src/preview-examples
)
These preview-examples will be translated to markdown files and get copied into ./packages/documentation/docs/auto-generated/previews
.
Not published
documentation
Package Contains the documentation.
aggrid
Package Contains the brand and classic theme for the aggrid library
published as @siemens/ix-aggrid
Git hooks via husky
Our pipeline lints each commit pushed to remote. To verify that you don't need to rebase existing commits please install our git hooks.
# Activate hooks
npx husky install
# or
yarn husky install
🤝 Contributing
Contributions, issues and feature requests are welcome!
👨💻 Maintainers
- Daniel Leroux [email protected]
- Lukas Maurer [email protected]
- Carlos Leandro Cruz Ferrer [email protected]
- Gonçalo Ferreira [email protected]
📝 License
Copyright © 2022 Siemens AG.
This project is MIT licensed.