Skip to content

Release 1.9.0#778

Merged
FlorianRappl merged 62 commits intomainfrom
develop
Sep 26, 2025
Merged

Release 1.9.0#778
FlorianRappl merged 62 commits intomainfrom
develop

Conversation

@FlorianRappl
Copy link
Contributor

New Pull Request

For more information, see the CONTRIBUTING guide.

Prerequisites

Please make sure you can check the following boxes:

  • I have read the CONTRIBUTING document
  • My code follows the code style of this project
  • All new and existing tests passed

Type(s) of Changes

Contribution Type

What types of changes does your code introduce? Put an x in all the boxes that apply:

  • Bug fix (non-breaking change which fixes an issue, please reference the issue id)
  • New feature (non-breaking change which adds functionality, make sure to open an associated issue first)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • I have updated the documentation accordingly
  • I have added tests to cover my changes

Description

This is the next iteration of Piral, which brings some smaller enhancements as well as a quite cool convenience feature (remote types). Using remote types you can easily (i.e., without requiring effort within the pilets) get remote type definitions for all your micro frontends into a pilet - such that you can, e.g., see all defined extension slots and never miss using the right type.

The feature works by declaring a remote type source via the remoteTypesSource property in the piral.json. This is then picked up by the Piral CLI and integrated into the emulator (website or package). When the Piral CLI used in a pilet sees that the used app shell has remote types defined, it will create a new file (and keep that updated) in the pilet's source code. The location of the file can be determined using remoteTypesTarget.

Right now we make this opt-in, i.e., just because your Piral instance sets the remoteTypesSource does not mean that the file is written. Instead, if the remoteTypesTarget value is missing (default) then nothing is generated. You can either set it to a path of your desire (e.g., "./src/remote.d.ts") or just to true. In the latter case a default path (/src/remote.d.ts) is used. Make sure to exclude it from source control for maximum efficiency.

Remarks

The boundaries for the pilets are not explained in the feed service spec. The main reason for this is that the types / declaration feature is something optional, which is not part of the feed service core responsibility. The whole feature is rather meant as a convenience than a requirement. Potentially, we'll spec that out in the future.

Piral Release Bot and others added 30 commits April 15, 2025 06:42
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.6 to 6.3.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
This section is about sharing the app shell so the `shared` key must be
set in the `piral.json` and not `pilet.json`.

Also the key `shared` does not exist in `pilet.json`.
Bumps [undici](https://github.com/nodejs/undici) from 6.21.1 to 6.21.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v6.21.1...v6.21.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.21.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.1 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.1...v4.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
…a-4.0.4

Bump form-data from 4.0.1 to 4.0.4
---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.11.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@FlorianRappl FlorianRappl added this to the 1.9.0 milestone Sep 26, 2025
@FlorianRappl FlorianRappl added the release A new release label Sep 26, 2025
@FlorianRappl FlorianRappl self-assigned this Sep 26, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces release 1.9.0 of Piral with several enhancements and bug fixes. The centerpiece is a new remote types feature that enables automatic distribution of TypeScript declarations from pilets to other micro frontends, along with various improvements to error handling, debugging output, and dependency management.

  • Remote types functionality allowing pilets to share TypeScript declarations via remoteTypesSource and remoteTypesTarget configuration
  • Enhanced error handling and debugging output across npm client wrappers and template resolution
  • Updates to various dependencies including migration from oidc-client to oidc-client-ts

Reviewed Changes

Copilot reviewed 72 out of 73 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/utilities/piral-debug-utils/src/overlay.ts Removes unused container property from ErrorOverlayProps interface
src/utilities/piral-debug-utils/src/decycle.ts Adds protected value handling for cross-context security errors
src/tooling/piral-cli/src/types/internal.ts Adds remoteTypesTarget property to PiletDefinition interface
src/tooling/piral-cli/src/types/common.ts Extends interfaces with remote types and shared dependencies support
src/tooling/piral-cli/src/common/package.ts Implements core remote types functionality with retrieval and processing logic
src/tooling/piral-cli/src/common/website.ts Adds retrieveExtraTypings function for downloading remote type definitions
src/tooling/piral-cli/src/common/emulator.ts Integrates remote types source into emulator manifests
src/tooling/piral-cli/src/npm-clients/*.ts Improves error output by logging command output when npm operations fail
src/tooling/piral-cli-webpack5/src/helpers.ts Adds support for async webpack configurations and ESM module handling
src/plugins/piral-oidc/src/*.ts Updates to use modern oidc-client-ts library with API changes
Various package.json files Updates dependency versions with more flexible version ranges
Documentation files Updates README files for converter packages with modern usage patterns

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@FlorianRappl FlorianRappl merged commit 89b65c0 into main Sep 26, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release A new release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants