Acceptance tests for the `piral-cli` package and bundler plugins.
npm install @smapiot/piral-cli-integration-tests
Integration tests for the piral-cli tool and its default bundler. Can be used as a test bench when implementing a new bundler, too.

| OS | Node | Status |
| ------------ | ------ | ------------ |
| Linux | 16.x |  |
| Linux | 20.x |  |
| Linux | 21.x |  |
| Windows | 16.x |  |
| Windows | 20.x |  |
| MacOS | 16.x |  |
| MacOS | 20.x |  |
* π’ We are hiring! - work with us on Piral, its ecosystem and our users
* π Website - learn more about Piral
* π Documentation - everything to get started and master micro frontends
* π Help translating Piral! - making PRs in the documentation branch
* π Issue Tracker - report bugs or suggest new features
* π¨ Forums - use the community support on StackOverflow
* πͺ Community Chat - ask questions and provide answers in our Gitter room
After you cloned the repository run:
``sh`
npm i
or an alternative command using your favorite package manager.
Now you can try running all tests:
`sh`
npm start
You can also run the tests from a specific file only:
`sh`
npm start -- src/pilet-build.test.ts
If you are only interested in a single test (e.g., 'can build a standard templated v2 pilet from sample-piral') then run it via:
`sh`
npm start -- src/pilet-build.test.ts -t 'can build a standard templated v2 pilet from sample-piral'
Caution: Tests that leverage the integrated browser (using the page variable) can only be run if the whole test suite (i.e., no -t is specified) is run.
For Ubuntu 18.04 and higher the system dependencies can get installed automatically. Many other systems may just work without any special dependencies:
`sh`
npx playwright install-deps chromium
To ensure everything is working with the test browser we recommend also installing the browsers from Playwright via the command line:
`sh`
npx playwright install chromium

The tests are also available as a drop-in package to test bundler plugins. You can install it with:
`sh`
npm i @smapiot/piral-cli-integration-tests
Then run the tests using
`sh`
npx piral-cli-tests
If you don't specify the bundler name then the current working directory's package.json will be used to infer it.
- β
Scaffold Piral instance
- β
Run/debug Piral instance
- β
Build Piral instance release
- β
Build Piral instance emulator
- β
Build Piral instance emulator sources
- β
Generate Piral instance declaration
- β
Validate Piral instance
- β
Use Piral instance emulator for scaffolding locally
- β
Change Piral instance while debugging (HMR)
- β
Upgrade Piral instance from older (0.12.0 -> ENV) to recent version
- β
Check Piral instance with debugging API (e.g., for piral-inspector)
- β
Scaffold pilet (using sample-piral)mf
- β
Run/debug new pilet
- β
Build piletv3
- β
Build piletv2
- β
Build piletv1
- β
Build piletv0
- β
Build piletsample-piral
- β
Build standalone pilet
- β
Build pilet manifest file
- β
Publish pilet (to temp. feed)
- β
Validate pilet
- β
Change pilet while debugging (reinject pilet)
- βΈοΈ Upgrade pilet from older to currentpiral-inspector
- β
Check pilet with debugging API (e.g., for )
The publish pilet command uses:
`sh`
pilet publish --api-key {key} --url https://feed.piral.cloud/api/v1/pilet/temp --fresh
It also can perform against a feed hosted by the sample-pilet-service.
| ENV | Description | Default |
| ------------------ | ---------------------------------- | ---------- |
| CLI_VERSION | Version of the piral-cli package | latest |BUNDLER_PLUGIN
| | The name of the bundler to use | |BUNDLER_FEATURES
| | The features of the bundler plugin | all |
Available features:
- codegen, can handle *.codegen filessplitting
- , can handle import() calls with a new JS side-bundlepilet.v0
- , supports the v0 schemapilet.v1
- , supports the v1 schemapilet.v2
- , supports the v2 schemapilet.v3
- , supports the v3 schemapilet.mf
- , supports the mf schemaimportmap.ref
- , supports usage of an importmapimportmap.local
- , supports local creation of importmap side-bundlesbuild.pilet
- , supports building a piletbuild.piral
- , supports building a Piral instancedebug.pilet
- , supports debugging a piletdebug.piral
- , supports debugging a Piral instancehmr`, supports hot module reloading (for Piral instances)
-
Piral is released using the MIT license. For more information see the license file.