Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
piral-base
Advanced tools
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.
For details on the provided API check out the documentation at the Piral website or on GitHub.
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.
By default, the loading of pilets assumes standard metadata. In general, however, the loadPilet
option allows to bring in other ways.
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.
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.
Piral is released using the MIT license. For more information see the license file.
FAQs
The base library for creating a Piral instance.
We found that piral-base demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
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.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.