Skip to content
/ juno Public

Monorepo for the Juno microfrontend framework, microfrontend apps, design system and component library

License

Notifications You must be signed in to change notification settings

sapcc/juno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2c59308 · Dec 3, 2024
Nov 28, 2024
Feb 21, 2023
Nov 10, 2023
Nov 28, 2024
May 20, 2022
Jun 3, 2024
Nov 28, 2024
Nov 8, 2024
Apr 19, 2024
Dec 3, 2024
Apr 19, 2024
May 26, 2023
Mar 5, 2024
Nov 9, 2023
Apr 3, 2023
May 19, 2021
Feb 10, 2021
Apr 25, 2024
Dec 3, 2024
Jun 28, 2024
Nov 15, 2021

Repository files navigation

Juno

Is a collection of Micro Frontends (MFE)

Usage

use juno css styles in external projects

import variables.css from assets server

<link
  rel="stylesheet"
  href="https://assets.juno.global.cloud.sap/libs/juno-ui-components@latest/build/lib/variables.css"
/>

or as part of sass

@import "https://assets.juno.global.cloud.sap/libs/juno-ui-components@latest/build/lib/variables.css";

and preset tailwind config with juno-ui-components config

// tailwindcss.config.js

Development

Use Webpack for apps, and Rollup for libraries

Start any app in apps folder with workspace APP_NAME start

npm -w dashboard run start

In workspaces

wb npm -w dashboard run start

Juno CLI

The Juno CLI facilitates the creation of a skeleton for a Juno app or library.

Prerequisites

Ensure that you have a Node.js environment with npx installed.

Installation

Use the following commands to create a new Juno app or library:

npx github:sapcc/juno create app myApp

or

npx github:sapcc/juno create lib myLib

If you wish to create an app or library within the Juno mono repository, navigate to the respective 'apps' or 'libs' directory in Juno and execute:

npx github:sapcc/juno create app myApp --internal

Feel free to replace myApp and myLib with your desired project names.

Debug

If you want to run more the one Juno App/lib simultaneously you have then to assign different ports. Following different port for the widget loader App:

  juno:
    port: "3001"
    ports:
      ...
      - name: heureka
        number: "3005"
      - name: loader
        number: "3007"
      ...

Start locally the widget loader within the container:

wb
APP_PORT=$LOADER_PORT npm --workspace widget-loader start

Test im browser using following URL:

https://loader.<your-workspace-name>.ws2.eu-nl-1.cloud.sap/