piral | Framework for next generation web apps using micro frontends :rocket: | Microservice library

 by   smapiot TypeScript Version: 1.5.4-beta.7028 License: MIT

kandi X-RAY | piral Summary

kandi X-RAY | piral Summary

piral is a TypeScript library typically used in Architecture, Microservice, Angular, React, Framework applications. piral has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Easily build a next generation portal application using microfrontends. Piral enables you to create a modular frontend application that is extended at runtime with decoupled modules called pilets leveraging a microfrontend architecture. A pilet can be developed independently and ships with the necessary code, as well as all other relevant assets. This makes Piral an ideal foundation for a mid-sized to large-scale applications developed by distributed teams. :zap: A pilet is capable of dynamically extending other pilets or using such extension slots itself. :zap: A pilet is isolated (developed and handled) and will never destroy your application. :zap: A pilet can be developed with any technology using a standard IDE. :zap: A pilet can be updated and published within seconds.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              piral has a medium active ecosystem.
              It has 1466 star(s) with 116 fork(s). There are 31 watchers for this library.
              There were 10 major release(s) in the last 12 months.
              There are 6 open issues and 321 have been closed. On average issues are closed in 26 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of piral is 1.5.4-beta.7028

            kandi-Quality Quality

              piral has no bugs reported.

            kandi-Security Security

              piral has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              piral is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              piral releases are available to install and integrate.
              Installation instructions are available. Examples and code snippets are not available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of piral
            Get all kandi verified functions for this library.

            piral Key Features

            No Key Features are available at this moment for piral.

            piral Examples and Code Snippets

            No Code Snippets are available at this moment for piral.

            Community Discussions

            QUESTION

            You should not use outside a in Piral
            Asked 2021-Jan-26 at 22:50

            I get this error when debugging my pilet inside the default Piral instance:

            ...

            ANSWER

            Answered 2021-Jan-22 at 09:15

            The error is self explanatory, you just need to enclose with Router tags. Try this:

            Source https://stackoverflow.com/questions/65839826

            QUESTION

            Accessing Routes in a MenuContainer
            Asked 2020-Jun-27 at 19:02

            I use piral for our micro-frontend app. I created a layout and use things like

            in the layout.

            I want to filter the entries in the nav menu by routes. Via convention i'll drop menu items depending on teh current route.

            I only have one issue: how can I get access to the current route in the MenuContainer?

            ...

            ANSWER

            Answered 2020-Jun-27 at 19:02

            Piral just uses react-router-dom under the hood. Actually, this gives you access to anything from react-router and react-router-dom. As such hooks such as useHistory work in all components, e.g., your Layout, MenuContainer, or in any component of some pilet.

            Example:

            Source https://stackoverflow.com/questions/62604375

            QUESTION

            Piral CLI extension arguments format
            Asked 2020-Jun-20 at 12:16

            I was looking into developing a piral-cli extension and had a couple questions about the CliPluginApi interface:

            ...

            ANSWER

            Answered 2020-Jun-20 at 12:16

            Yes arguments are positional, however, they may be optional, too.

            For anything in this area please check out the documentation of Yargs. This may be helpful.

            Still you may use flags with the argv to describe these positionals, e.g.:

            Source https://stackoverflow.com/questions/62479038

            QUESTION

            How to migrate from a multipage app to Piral
            Asked 2020-Apr-09 at 14:43

            We run a few ASP.NET Core applications that do come with some pages. These are all "classic" multipage applications.

            For our new portal we've decided to go with piral. While we add a couple of new modules we also want to use the existing applications.

            How can we integrate a multipage application in piral or in a clientside (SPA) micro-frontend?

            One example for a multipage app looks like (hosted on some address like https://myexample.com/home)

            ...

            ANSWER

            Answered 2020-Apr-09 at 14:43

            Migration of an MPA to Piral can be done in multiple ways.

            1. Create a wrapper pilet that exposes the different SSRed parts via iframes
            2. Create a wrapper pilet that exposes the different SSRed parts via fragments which are dynamically obtained
            3. Convert your Razor views into React parts and have a split between FE/BE; put the React parts in a pilet

            I don't know how complicated you application is, but maybe (1) would be the easiest to get started (especially if its, e.g., just a single page).

            Let's see how (2) may be implemented:

            Source https://stackoverflow.com/questions/61117740

            QUESTION

            Using react 15 in piral
            Asked 2020-Jan-15 at 20:39

            I have an application in production using React 15 which can't be upgraded to the latest React (16) anytime soon.

            For the future I want to use piral as a whole, but piral requires React 16 and I don't see how to use React 15 in a pilet.

            How can React 15 be used in a pilet / with piral?

            What I was thinking so far: I could just follow the path of piral-preact and include a converter. But I have trouble with this approach. Any recommendation or help?

            ...

            ANSWER

            Answered 2020-Jan-15 at 20:39

            Generally, you could bundle React 15 / React 15 DOM in a pilet. If multiple pilets are used, you can make React 15 / React 15 DOM a shared dependency. For convenience a converter (e.g., like the one for Inferno) could be created.

            Important: To avoid any collisions with the existing react and react-dom packages aliases should be used.

            In the package.json these aliases can be specified like:

            Source https://stackoverflow.com/questions/59627442

            QUESTION

            Including typings from the piral instance fails
            Asked 2020-Jan-03 at 13:48

            I have already found out how to properly type plugins in piral (by using declaration merging).

            This only seems to work for pilet api extensions coming from dedicated packages and also only if there is an api.d.ts in its root folder.

            How can I type pilet api extensions that are defined directly in the piral instance?

            What I tried so far:

            1. Placing an api.d.ts in the src folder
            2. Placing the relevant typings directly in the src/index.tsx file
            3. Changing the typings field in the package.json to either one (and others like src/types.ts)
            ...

            ANSWER

            Answered 2020-Jan-03 at 13:48

            Have you tried placing the api.d.ts adjacent to the package.json? That should work!

            Besides that the api.d.ts can be as simple as follows:

            Source https://stackoverflow.com/questions/59556764

            QUESTION

            How to type a custom pilet api?
            Asked 2019-Dec-26 at 09:26

            We are using the microfrontend framework piral. For our pilets we want to provide a custom api. Following the tutorials we came up with code like this

            ...

            ANSWER

            Answered 2019-Dec-25 at 20:24

            I think you may be missing the proper declaration merging.

            Source https://stackoverflow.com/questions/59476560

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install piral

            Piral itself is developed as a monorepo. As such this repository may contain an overwhelming amount of information. Our recommendation is to start at the documentation available at docs.piral.io. Working through the available tutorials will give you the necessary information in the best possible order.

            Support

            While the GitHub issues may be used in case of questions, we would prefer general usage questions to be raised either in our Gitter chat or at StackOverflow.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link