Skip to content

Latest commit

 

History

History
131 lines (81 loc) · 4.88 KB

README.md

File metadata and controls

131 lines (81 loc) · 4.88 KB

generator-jhipster-primeng-blueprint

NPM version Build Status Dependency Status

JHipster blueprint, This blueprint generated code that uses primeng components instead of bootstrap ones

Introduction

This is a JHipster blueprint, that is meant to be used in a JHipster application.

This blueprint supports composite keys and can be used with the composite key blueprint

When using composite keys, multiple dropdowns are generated per relationships (one per id) to facilitate the filtering, Each dropdown is filtered based on what was selected before, we therefore require all entities that are part from the id to be filterable.

Caveats

Many-To-many where other side is composite is not yet supported (We don't know yet how we want it to be implemented, suggestion are welcome)

Prerequisites

As this is a JHipster blueprint, we expect you have JHipster and its related tools already installed:

Installation

With NPM

To install this blueprint:

npm install -g generator-jhipster-primeng-blueprint

To update this blueprint:

npm update -g generator-jhipster-primeng-blueprint

With Yarn

To install this blueprint:

yarn global add generator-jhipster-primeng-blueprint

To update this blueprint:

yarn global upgrade generator-jhipster-primeng-blueprint

Usage

To use this blueprint, run the below command

jhipster --blueprint primeng-blueprint

Running local Blueprint version for development

During development of blueprint, please note the below steps. They are very important.

  1. Link your blueprint globally

Note: If you do not want to link the blueprint(step 3) to each project being created, use NPM instead of Yarn as yeoman doesn't seem to fetch globally linked Yarn modules. On the other hand, this means you have to use NPM in all the below steps as well.

cd primeng-blueprint
npm link
  1. Link a development version of JHipster to your blueprint (optional: required only if you want to use a non-released JHipster version, like the master branch or your own custom fork)

You could also use Yarn for this if you prefer

cd generator-jhipster
npm link

cd primeng-blueprint
npm link generator-jhipster
  1. Create a new folder for the app to be generated and link JHipster and your blueprint there
mkdir my-app && cd my-app

npm link generator-jhipster-primeng-blueprint
npm link generator-jhipster (Optional: Needed only if you are using a non-released JHipster version)

jhipster -d --blueprint primeng-blueprint

Primeng themes

Our aim is to be able to purchase a theme and drop it directly on top of the generated code, without putting code in the generator that shouldn't be there, of course the default version should still be clean and usable.

Here are the manual step to change the theme files before placing theme, we recommand that these steps are done on a versioned repository of theme to be able to rebase on the next upgrade.

Contribute

To make it it easy to keep up with the latest jhipster version, we have a branch jhipster-upstream with the original content of the original jhipster generator. On each upgrade we edit the needed file and merge back into master (or feature branch).

once changes are made, npm run test one the project insures that application generated matches the one in the sample project 'test/samples/...' This creates a new project under /tmp/primeng-blueprint-test we use it to run our tests:

  • npm run test for angular unit tests (running tests on the sample filder doesn't lint well du to eslint picking up the parent project config I suppose)
  • npm run e2e for e2e tests using an already server https://github.com/yelhouti/generator-jhipster-composite-key-server (this project supports composites keys and has the same entities...) (do nor forget to change the generated protractor.conf to use localhost:9000 instead of 8080)
  • npm build to make sure that AOT is still working (strict null checks in the HTML...)

Using the samples project makes this code very well suites for test driven development.

License

Apache-2.0 © Youssef El Houti