Sign inSign up

jhipster/svelte-hipster

Sponsored OSS

By JHipster

•Updated over 3 years ago

JHipster blueprint for Svelte

Image
Languages & frameworks
Integration & delivery
2

9.5K

jhipster/svelte-hipster repository overview

⁠Svelte Hipster

NPM version Dependency Status code style: prettier Generated applications build status Generated applications build status Generator Build Status

Generate cybernetically enhanced JHipster Svelte web applications

⁠Introduction

This is a JHipster⁠ blueprint, that intends to use SvelteKit⁠ / Svelte⁠ as the client side development framework.

⁠What's new

Refer to the changelog⁠ to gain more insights into each release details.

⁠Supported flows and integrations

Under active development

Following integrations are supported:

✅ Session, JWT, OIDC authentication
✅ Dark Mode support
✅ SvelteKit, Vite integration
✅ Tailwind CSS
✅ Prettier, EsLint integration
✅ Cypress integration for end to end tests
✅ Jest and Testing Library integration for unit tests
✅ JHipster application JDL
✅ JHipster entity JDL (simple data type, no relation)
✅ JHipster elasticsearch integration

Following functional flows are covered with end to end tests:

✅ Sign in
✅ Sign up
✅ Forgot Password
✅ Home
✅ Account
    ✅ Change Password
    ✅ Settings
    ✅ Sign out
✅ Administration
    ✅ User Management (List, Create, Update, View, Delete)
    ✅ Loggers
✅ Entities
    ✅ Entity (List, View, Delete, Search, Pagination)

For more details, you can check out the source code of sample application⁠

⁠Technical Stack

Svelte JS Tailwind CSS Font Awesome Cypress Jest Testing Library Prettier ESLint Vite

⁠Installation

To install the blueprint, run below command:

npm install -g generator-jhipster-svelte

To update the blueprint, run below command:

npm update -g generator-jhipster-svelte

⁠Usage

  • Svelte Hipster blueprint exposes a cli to use the correct version of JHipster. Run the below command to generate new applications (interactive approach):

    shipster
    
  • Alternatively, you can also use the application JDL to generate new applications (config approach). Refer to JDL application⁠ documentation for all supported options.

    Create a new application JDL like below and save it in a file (app.jdl in this example):

    application {
        config {
            baseName SampleBlogApp,
            applicationType monolith,
            authenticationType session,
            packageName tech.jhipster.samples.blog,
            prodDatabaseType postgresql,
            cacheProvider caffeine,
            buildTool maven
        }
        entities *
    }
    
    entity Blog {
        name String required minlength(3)
        handle String required minlength(2)
    }
    
    entity Tag {
        name String required minlength(3)
    }
    
    paginate Tag with pagination
    

    Pass import-jdl option along the file path to shipster cli to generate new application:

    shipster import-jdl app.jdl
    
  • If you have already setup JHipster⁠ on your workstation, then, run the below command (it overrides to use the global JHipster version). Be cautious to use compatible Svelte Hipster and JHipster versions.

    jhipster --blueprints svelte
    

⁠JHipster Compatibility Matrix

JHipsterSvelte Hipster
6.10.50.1 - 0.2.1
7.0.x0.3 - 0.4
7.1.x>= 0.5

⁠Docker development

Svelte Hipster docker images are available at DockerHub⁠

To develop against the latest published release, follow below steps:

  • Pull the Svelte Hipster docker image:
docker pull jhipster/svelte-hipster

In case, you want to try out the latest code (unpublished), then, pull the image with main tag as:

docker pull jhipster/svelte-hipster:main
  • Create a new directory for your application and run the below command to generate the application:
mkdir svelte-app && cd svelte-app

docker run -it --rm -v $PWD:/app jhipster/svelte-hipster
  • You can also run the generated application from within the container. Following examples consider maven as the build tool:

    • To run unit test cases, use the command:
    docker run -it --rm -v $PWD:/app -v ~/.m2:/home/shipster/.m2 --entrypoint ./mvnw jhipster/svelte-hipster clean test
    
    • To start the application using the default dev profile, use the command:
    docker run -it --rm -v $PWD:/app -v ~/.m2:/home/shipster/.m2 -p 8080:8080 --entrypoint ./mvnw jhipster/svelte-hipster -DskipTests
    

    Access application with http://localhost:8080/⁠

  • If you would like to access the container file system, you can also attach a bourne shell:

docker run -it --rm -v $PWD:/app -v ~/.m2:/home/shipster/.m2 --entrypoint sh jhipster/svelte-hipster

⁠🛠️ Local Development

Pull requests are encouraged and always welcome.

To setup your development environment, follow below steps:

  1. Link svelte blueprint globally:
cd generator-jhipster-svelte
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 main branch or your own custom fork)
cd generator-jhipster
npm link

cd generator-jhipster-svelte
npm link generator-jhipster
  1. Create a new directory for your application and link JHipster and svelte blueprint.
mkdir my-app && cd my-app

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

shipster

⁠License

Apache-2.0 © Vishal Mahajan⁠

Tag summary

Content type

Image

Digest

sha256:dbdcf9d09…

Size

274.5 MB

Last updated

about 4 years ago

docker pull jhipster/svelte-hipster

This week's pulls

Pulls:

110

Last week