{"id":22411058,"url":"https://github.com/smapiot/piral-cli-integration-tests","last_synced_at":"2025-07-31T21:31:08.826Z","repository":{"id":43188844,"uuid":"318524894","full_name":"smapiot/piral-cli-integration-tests","owner":"smapiot","description":"Integration tests for the piral-cli :vertical_traffic_light:.","archived":false,"fork":false,"pushed_at":"2024-10-23T17:04:46.000Z","size":12403,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-11-23T19:35:36.384Z","etag":null,"topics":["automation","cli","integration-tests","microfrontends","nodejs","piral","piral-cli","piral-inspector"],"latest_commit_sha":null,"homepage":"https://piral.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smapiot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["smapiot","FlorianRappl"]}},"created_at":"2020-12-04T13:28:56.000Z","updated_at":"2024-10-23T17:04:49.000Z","dependencies_parsed_at":"2024-02-25T19:40:40.792Z","dependency_job_id":"94f0bc71-790b-47a4-9b4d-8fe67b438e56","html_url":"https://github.com/smapiot/piral-cli-integration-tests","commit_stats":{"total_commits":154,"total_committers":7,"mean_commits":22.0,"dds":0.6818181818181819,"last_synced_commit":"58165cdaebadb4cec479d9f7b493b82db98a45a3"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smapiot%2Fpiral-cli-integration-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smapiot%2Fpiral-cli-integration-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smapiot%2Fpiral-cli-integration-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smapiot%2Fpiral-cli-integration-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smapiot","download_url":"https://codeload.github.com/smapiot/piral-cli-integration-tests/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228070786,"owners_count":17864664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cli","integration-tests","microfrontends","nodejs","piral","piral-cli","piral-inspector"],"created_at":"2024-12-05T13:12:54.676Z","updated_at":"2024-12-05T13:12:55.376Z","avatar_url":"https://github.com/smapiot.png","language":"TypeScript","funding_links":["https://github.com/sponsors/smapiot","https://github.com/sponsors/FlorianRappl"],"categories":[],"sub_categories":[],"readme":"[![Piral Logo](https://github.com/smapiot/piral/raw/main/docs/assets/logo.png)](https://piral.io)\n\n# Piral CLI Acceptance Tests\n\nIntegration tests for the `piral-cli` tool and its default bundler. Can be used as a test bench when implementing a new bundler, too.\n\n## Status\n\n[![Overall](https://smapiot.visualstudio.com/piral-pipelines/_apis/build/status/smapiot.piral-cli-integration-tests?branchName=main)](https://smapiot.visualstudio.com/piral-pipelines/_build/latest?definitionId=46\u0026branchName=main)\n\n| OS           | Node   | Status       |\n| ------------ | ------ | ------------ |\n| Linux        | 18.x   | [![Build Status](https://smapiot.visualstudio.com/piral-pipelines/_apis/build/status/smapiot.piral-cli-integration-tests?branchName=main\u0026jobName=Job\u0026configuration=Job%20linux_node_18)](https://smapiot.visualstudio.com/piral-pipelines/_build/latest?definitionId=46\u0026branchName=main)   |\n| Linux        | 22.x   | [![Build Status](https://smapiot.visualstudio.com/piral-pipelines/_apis/build/status/smapiot.piral-cli-integration-tests?branchName=main\u0026jobName=Job\u0026configuration=Job%20linux_node_22)](https://smapiot.visualstudio.com/piral-pipelines/_build/latest?definitionId=46\u0026branchName=main)   |\n| Windows      | 18.x   | [![Build Status](https://smapiot.visualstudio.com/piral-pipelines/_apis/build/status/smapiot.piral-cli-integration-tests?branchName=main\u0026jobName=Job\u0026configuration=Job%20windows_node_18)](https://smapiot.visualstudio.com/piral-pipelines/_build/latest?definitionId=46\u0026branchName=main) |\n| Windows      | 22.x   | [![Build Status](https://smapiot.visualstudio.com/piral-pipelines/_apis/build/status/smapiot.piral-cli-integration-tests?branchName=main\u0026jobName=Job\u0026configuration=Job%20windows_node_22)](https://smapiot.visualstudio.com/piral-pipelines/_build/latest?definitionId=46\u0026branchName=main) |\n| MacOS        | 18.x   | [![Build Status](https://smapiot.visualstudio.com/piral-pipelines/_apis/build/status/smapiot.piral-cli-integration-tests?branchName=main\u0026jobName=Job\u0026configuration=Job%20macos_node_18)](https://smapiot.visualstudio.com/piral-pipelines/_build/latest?definitionId=46\u0026branchName=main) |\n| MacOS        | 22.x   | [![Build Status](https://smapiot.visualstudio.com/piral-pipelines/_apis/build/status/smapiot.piral-cli-integration-tests?branchName=main\u0026jobName=Job\u0026configuration=Job%20macos_node_22)](https://smapiot.visualstudio.com/piral-pipelines/_build/latest?definitionId=46\u0026branchName=main) |\n\n## Important Links\n\n* 📢 **[We are hiring!](https://smapiot.com/jobs)** - work with us on Piral, its ecosystem and our users\n* 🌍 [Website](https://piral.io/) - learn more about Piral\n* 📖 [Documentation](https://docs.piral.io/) - everything to get started and master micro frontends\n* 🉐 **Help translating Piral!** - making PRs in the [documentation branch](https://github.com/smapiot/piral/tree/documentation)\n* 🐞 [Issue Tracker](https://github.com/smapiot/piral/issues) - report bugs or suggest new features\n* 🗨  [Forums](https://stackoverflow.com/questions/tagged/piral) - use the community support on StackOverflow\n* 👪 [Community Chat](https://gitter.im/piral-io/community) - ask questions and provide answers in our Gitter room\n\n## Running the Tests\n\nAfter you cloned the repository run:\n\n```sh\nnpm i\n```\n\nor an alternative command using your favorite package manager.\n\nNow you can try running all tests:\n\n```sh\nnpm start\n```\n\nYou can also run the tests from a specific file only:\n\n```sh\nnpm start -- src/pilet-build.test.ts\n```\n\nIf you are only interested in a single test (e.g., `'can build a standard templated v2 pilet from sample-piral'`) then run it via:\n\n```sh\nnpm start -- src/pilet-build.test.ts -t 'can build a standard templated v2 pilet from sample-piral'\n```\n\n**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.\n\nFor Ubuntu 18.04 and higher the system dependencies can get installed automatically. Many other systems may just work without any special dependencies:\n\n```sh\nnpx playwright install-deps chromium\n```\n\nTo ensure everything is working with the test browser we recommend also installing the [browsers from Playwright](https://playwright.dev/docs/cli#install-browsers) via the command line:\n\n```sh\nnpx playwright install chromium\n```\n\n## Testing Package\n\n[![npm version](https://img.shields.io/npm/v/@smapiot/piral-cli-integration-tests.svg?style=flat)](https://www.npmjs.com/package/@smapiot/piral-cli-integration-tests)\n\nThe tests are also available as a drop-in package to test bundler plugins. You can install it with:\n\n```sh\nnpm i @smapiot/piral-cli-integration-tests\n```\n\nThen run the tests using\n\n```sh\nnpx piral-cli-tests \u003cyour-bundler-name\u003e\n```\n\nIf you don't specify the bundler name then the current working directory's *package.json* will be used to infer it.\n\n## Tests\n\n### Piral\n\n-   ✅ Scaffold Piral instance\n-   ✅ Run/debug Piral instance\n-   ✅ Build Piral instance release\n-   ✅ Build Piral instance emulator\n-   ✅ Build Piral instance emulator sources\n-   ✅ Generate Piral instance declaration\n-   ✅ Validate Piral instance\n-   ✅ Use Piral instance emulator for scaffolding locally\n-   ✅ Change Piral instance while debugging (HMR)\n-   ✅ Upgrade Piral instance from older (0.12.0 -\u003e ENV) to recent version\n-   ✅ Check Piral instance with debugging API (e.g., for `piral-inspector`)\n\n### Pilet\n\n-   ✅ Scaffold pilet (using `sample-piral`)\n-   ✅ Run/debug new pilet\n-   ✅ Build `mf` pilet\n-   ✅ Build `v3` pilet\n-   ✅ Build `v2` pilet\n-   ✅ Build `v1` pilet\n-   ✅ Build `v0` pilet\n-   ✅ Build standalone pilet\n-   ✅ Build pilet manifest file\n-   ✅ Publish pilet (to temp. feed)\n-   ✅ Validate pilet\n-   ✅ Change pilet while debugging (reinject pilet)\n-   ⏸️ Upgrade pilet from older `sample-piral` to current\n-   ✅ Check pilet with debugging API (e.g., for `piral-inspector`)\n\nThe publish pilet command uses:\n\n```sh\npilet publish --api-key {key} --url https://feed.piral.cloud/api/v1/pilet/temp --fresh\n```\n\nIt also can perform against a feed [hosted by the `sample-pilet-service`](https://github.com/smapiot/sample-pilet-service).\n\n## Enviroment variables\n\n| ENV                | Description                        | Default    |\n| ------------------ | ---------------------------------- | ---------- |\n| `CLI_VERSION`      | Version of the `piral-cli` package | `latest`   |\n| `BUNDLER_PLUGIN`   | The name of the bundler to use     |            |\n| `BUNDLER_FEATURES` | The features of the bundler plugin | *all*      |\n\nAvailable features:\n\n- `codegen`, can handle `*.codegen` files\n- `splitting`, can handle `import()` calls with a new JS side-bundle\n- `pilet.v0`, supports the `v0` schema\n- `pilet.v1`, supports the `v1` schema\n- `pilet.v2`, supports the `v2` schema\n- `pilet.v3`, supports the `v3` schema\n- `pilet.mf`, supports the `mf` schema\n- `importmap.ref`, supports usage of an importmap\n- `importmap.local`, supports local creation of importmap side-bundles\n- `build.pilet`, supports building a pilet\n- `build.piral`, supports building a Piral instance\n- `debug.pilet`, supports debugging a pilet\n- `debug.piral`, supports debugging a Piral instance\n- `hmr`, supports hot module reloading (for Piral instances)\n\n## License\n\nPiral is released using the MIT license. For more information see the [license file](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmapiot%2Fpiral-cli-integration-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmapiot%2Fpiral-cli-integration-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmapiot%2Fpiral-cli-integration-tests/lists"}