The first official LumApps Design System for AngularJS or React applications. LumX will help you design your applications faster and more easily. You will be able to use LumX with either the LumApps design styleguides or the Google Material Design specifications.
To start to use LumX, you can either:
- Install with Yarn/NPM:
yarn add @lumx/<angularjs|react>
# Or
npm install @lumx/<angularjs|react>
- Download the latest release for AngularJS or React
- Clone the repository:
git clone https://github.com/lumapps/design-system.git
LumX's documentation is included in the "demo" directory. The demo/documentation site is built with Webpack and may be run locally. You can also find an online version of the demo and documentation site at https://design.lumapps.com.
Please refer to our contributing guidelines.
Yarn dependency manager is recommended to launch the project. Check out the official installation documentation if not installed. You will need Yarn to execute the automatic setup script as well as for publishing the package.
For an automatic installation:
yarn install
Git hooks are optional, they provide lint and commit message validation on commit if you install them with the command:
yarn setup:git-hooks
You can uninstall the git hooks using yarn clean:git-hooks
.
For development server:
yarn start
You can then open your browser to http://localhost:4000/ to access the demo and test site.
You can also execute a Storybook to develop your components, in order to that you just need to execute:
yarn storybook:react
Note: storybook is currently configured for React components.
you can build LumX by using:
yarn build
This will produce the target build for @lumx/core
, @lumx/angularjs
, @lumx/react
and the demo site.
The full release process is automated in a GitHub workflow which can be triggered on the release.yml page with the "Run workflow" button.
Three parameters are available:
- The base branch used for the release. Tags cannot be used and only the
master
branch is authorised when releasing a "patch", "minor" or "major" version. - The release type
- "patch", "minor" & "major" will release a version increment
vX.Y.Z
- "prerelease" will release increment the last prerelease version if it exists (ex:
3.0.1-alpha.0
=>3.0.1-alpha.1
) or will increment the last patch version and append the release name (ex:3.0.2
=>3.0.3-alpha.0
)
- "patch", "minor" & "major" will release a version increment
- (Optional) The prerelease name (if applicable).
Releasing a new version of the lumx packages consists in:
- Incrementing the version number (patch, minor, major or prerelease)
- Building all lumx packages (
yarn build
for all packages) - Pushing on NPM (
npm publish
for all packages) - (if not a prerelease) Pushing updated version on GitHub (new tag & new pull request)
Prereleases are used to test the lumx libs before committing to a release. They are never merged in master and never mentioned in the CHANGELOG.md file. By default, prereleases use the tag alpha
(ex: 3.0.1-alpha.0
aliased to alpha
on NPM) but this can be changed to test multiple and unrelated versions (ex: alpha-fix-thumbnail
, alpha-refactor-types
, etc.).
Code and documentation copyright 2019 LumApps. Code released under the MIT license.