Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

piral-base

Package Overview
Dependencies
Maintainers
1
Versions
878
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

piral-base

The base library for creating a Piral instance.


Version published
Weekly downloads
6K
increased by44.24%
Maintainers
1
Weekly downloads
 
Created
Source

Piral Logo

Piral Base · GitHub License npm version tested with jest Community Chat

This is the base library that is required for any Piral instance. It is independent of React, a state container, or anything else. It only brings functionality for loading and evaluating pilets.

Documentation

For details on the provided API check out the documentation at the Piral website or on GitHub.

Getting Started

Creating your own Piral app based on piral-base is in general not recommended.

The only exception is when a Piral-fork that is based on another technology than React should be created. In any other case please look at piral-core library or the full piral framework.

More information can be found in our documentation at the Piral website.

Available Options

By default, the loading of pilets assumes standard metadata. In general, however, the loadPilet option allows to bring in other ways.

Full Loader Override

One example of using loadPilet to extend Piral beyond its initial capabilities is to use SystemJS for loading the pilets.

startLoadingPilets({
  // ...
  loadPilet(meta) {
    return System.import(meta.name)
      .catch((err) => {
        // error
        return {};
      })
      .then((moduleContent) => ({
        ...meta,
        ...moduleContent,
      }))
      .then((pilet: Pilet) => {
        if (typeof pilet.setup !== 'function') {
          pilet.setup = () => {};
        }

        return pilet;
      });
  },
});

Another example is to define loader overrides using the spec identifier.

Spec-Specific Loader Overrides

The loaders option can be passed in an object where the spec to override is provided as key:

startLoadingPilets({
  // ...
  loaders: {
    'esm': (meta) => {
      // ...
      return pilet;
    },
    'systemjs': (meta) => {
      // ...
      return pilet;
    }
  },
});

The spec key is defined by the API response via the spec field. This is mostly used with custom specified pilet formats indicated via the v:x version marker. A version marker such as //@pilet v:x(esm) would lead to use the esm override given as an example above.

The two options, loadPilet and loaders are not exclusive. The loadPilet option defines the default, while loaders define spec-dependent overrides.

License

Piral is released using the MIT license. For more information see the license file.

Keywords

FAQs

Package last updated on 26 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc