systemlink-cli 1.25.0__tar.gz → 1.26.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/PKG-INFO +1 -1
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/pyproject.toml +1 -1
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/_version.py +1 -1
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/config_click.py +3 -6
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/platform.py +1 -1
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/webapp/angular-ui-packages.md +1 -1
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/webapp/overview.md +2 -2
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_bootstrap.py +25 -8
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/README.md +8 -0
- systemlink_cli-1.26.0/slcli/webapp_templates/angular/blank/scripts/filter-sbom.js +54 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/LICENSE +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/dff-editor/editor.js +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/dff-editor/index.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/__init__.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/__main__.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/alarm_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/asset_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/cli_formatters.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/cli_utils.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/comment_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/completion_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/config.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/dataframe_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/dff_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/dff_decorators.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/example_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/example_loader.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/example_provisioner.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/README.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/_schema/schema-v1.0.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-1/README.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-1/config.yaml +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-2/README.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-2/config.yaml +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-3/config.yaml +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-3/leakage-current-results.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-3/overvoltage-results.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-3/product-xyz-compliance-report.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-3/product-xyz-specification.csv +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-3/thermal-response-results.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/exercise-5-1-parametric-insights/README.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/exercise-5-1-parametric-insights/config.yaml +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/exercise-7-1-test-plans/README.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/exercise-7-1-test-plans/config.yaml +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/spec-compliance-notebooks/README.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/spec-compliance-notebooks/config.yaml +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/spec-compliance-notebooks/notebooks/SpecAnalysis_ComplianceCalculation.ipynb +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/spec-compliance-notebooks/notebooks/SpecComplianceCalculation.ipynb +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/spec-compliance-notebooks/notebooks/SpecfileExtractionAndIngestion.ipynb +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/spec-compliance-notebooks/spec_template.xlsx +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/feed_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/file_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/function_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/function_templates.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/main.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/mcp_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/mcp_reachability.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/mcp_server.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/notebook_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/pkce.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/policy_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/policy_utils.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/profiles.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/response_handlers.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/rich_output.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/routine_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skill_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/SKILL.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/analysis-recipes.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/commands.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/datasheet-workflow.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/example-authoring.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/filtering.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/import-specs.min.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/job-debugging/overview.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/nipkg/overview.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/notebook/interfaces.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/notebook/notebook-patterns.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/notebook/overview.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/python-test/overview.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/routine-examples.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/troubleshooting.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/webapp/deployment.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/webapp/layout-patterns.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/webapp/nimble-angular.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/webapp/systemlink-services.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/webapp/troubleshooting.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/scripts/spec_import_helper.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/spec_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/ssl_trust.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/state_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/system_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/system_query_utils.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/systemlink-logo.svg +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/table_utils.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/tag_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/templates_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/testmonitor_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/universal_handlers.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/user_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/utils.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/web_editor.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/.gitignore +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/angular.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/package.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/app-routing.module.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/app.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/app.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/app.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/app.module.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/core/layout/app-shell.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/core/layout/app-shell.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/core/layout/app-shell.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/core/state/app-view-state.service.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/core/systemlink/systemlink-context.service.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/core/systemlink/theme-sync.service.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/core/systemlink/webapp-home-data.service.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/assets/assets-page.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/assets/assets-page.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/assets/assets-page.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/datasets/datasets-page.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/datasets/datasets-page.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/datasets/datasets-page.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/home/home-page.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/home/home-page.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/home/home-page.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/master-detail/master-detail-page.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/master-detail/master-detail-page.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/master-detail/master-detail-page.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/operations/operations-page.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/operations/operations-page.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/operations/operations-page.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/settings/settings-page.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/settings/settings-page.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/features/settings/settings-page.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/components/empty-state.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/components/empty-state.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/components/empty-state.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/components/error-banner.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/components/error-banner.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/components/error-banner.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/components/loading-state.component.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/components/loading-state.component.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/components/loading-state.component.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/app/shared/states/view-state.model.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/assets/README.md +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/index.html +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/main.ts +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/styles.scss +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/tsconfig.app.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/tsconfig.json +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/workflow_preview.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/workflows_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/workitem_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/workspace_click.py +0 -0
- {systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/workspace_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "systemlink-cli"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.26.0"
|
|
4
4
|
description = "SystemLink Integrator CLI - cross-platform CLI for SystemLink workflows and templates."
|
|
5
5
|
authors = ["Fred Visser <fred.visser@emerson.com>"]
|
|
6
6
|
packages = [{ include = "slcli" }]
|
|
@@ -179,10 +179,7 @@ def _trust_certificate_if_requested(
|
|
|
179
179
|
|
|
180
180
|
try:
|
|
181
181
|
save_managed_certificate(certificate)
|
|
182
|
-
|
|
183
|
-
retry_status = check_web_server_auth(url, credential, auth_scheme=auth_scheme)
|
|
184
|
-
else:
|
|
185
|
-
retry_status = check_service_status(url, credential, auth_scheme=auth_scheme)
|
|
182
|
+
retry_status = check_service_status(url, credential, auth_scheme=auth_scheme)
|
|
186
183
|
except (OSError, ValueError) as exc:
|
|
187
184
|
_exit_with_validation_error(
|
|
188
185
|
f"Could not save the trusted certificate: {exc}. Profile was not saved.",
|
|
@@ -306,10 +303,10 @@ def _add_profile_impl(
|
|
|
306
303
|
|
|
307
304
|
assert isinstance(api_key, str)
|
|
308
305
|
|
|
309
|
-
#
|
|
306
|
+
# PKCE uses the Web URL for bearer service probes; API-key login uses the API URL.
|
|
310
307
|
click.echo("Checking server connectivity and services...")
|
|
311
308
|
if auth_mode == "pkce":
|
|
312
|
-
status =
|
|
309
|
+
status = check_service_status(web_url, api_key, auth_scheme="bearer")
|
|
313
310
|
else:
|
|
314
311
|
status = check_service_status(url, api_key)
|
|
315
312
|
|
|
@@ -422,7 +422,7 @@ def _get_service_status_snapshot(force_refresh: bool = False) -> Optional[Dict[s
|
|
|
422
422
|
|
|
423
423
|
_, api_url, credential, auth_scheme = api_context
|
|
424
424
|
if auth_scheme == "bearer":
|
|
425
|
-
status =
|
|
425
|
+
status = check_service_status(api_url, credential, auth_scheme)
|
|
426
426
|
else:
|
|
427
427
|
status = check_service_status(api_url, credential)
|
|
428
428
|
_save_service_status_snapshot(api_context, status)
|
|
@@ -154,7 +154,7 @@ Published Spright icon directives currently include:
|
|
|
154
154
|
|
|
155
155
|
### `@ni/ok-angular`
|
|
156
156
|
|
|
157
|
-
Published Angular wrappers in `@ni/ok-angular@2.5.
|
|
157
|
+
Published Angular wrappers in `@ni/ok-angular@2.5.4` currently include:
|
|
158
158
|
|
|
159
159
|
| Tag | Angular symbol | Import path | Use |
|
|
160
160
|
| --------------------------- | ----------------------------- | --------------------------------------- | -------------------------------------------- |
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/webapp/overview.md
RENAMED
|
@@ -77,11 +77,11 @@ For the currently supported path, standardize on:
|
|
|
77
77
|
|
|
78
78
|
- Angular 20.x
|
|
79
79
|
- Node 24+
|
|
80
|
-
- `@ni/nimble-angular` 33.
|
|
80
|
+
- `@ni/nimble-angular` 33.5.x
|
|
81
81
|
- `@ni/nimble-components` 35.12.x
|
|
82
82
|
- `@ni/unit-format` 1.0.5+
|
|
83
83
|
- `@ni/spright-angular` 9.5.x
|
|
84
|
-
- `@ni/ok-angular` 2.5.
|
|
84
|
+
- `@ni/ok-angular` 2.5.4+
|
|
85
85
|
- `@ni/systemlink-clients-ts` 3.0.2
|
|
86
86
|
- `@angular/build` for the hosted application builder
|
|
87
87
|
- `@angular/localize` installed and added to build polyfills
|
|
@@ -28,18 +28,19 @@ _WEBAPP_DEFAULT_FEATURE_PACKS = "nimble,clients,ok"
|
|
|
28
28
|
_WEBAPP_SUPPORTED_ANGULAR_MAJOR = "20"
|
|
29
29
|
_WEBAPP_VERSION_MANIFEST: Dict[str, Dict[str, str]] = {
|
|
30
30
|
"20": {
|
|
31
|
-
"angular": "^20.3.
|
|
31
|
+
"angular": "^20.3.29",
|
|
32
32
|
"typescript": "~5.9.3",
|
|
33
33
|
"zoneJs": "~0.15.1",
|
|
34
34
|
"rxjs": "~7.8.2",
|
|
35
35
|
"tslib": "^2.8.1",
|
|
36
|
-
"angularBuild": "^20.3.
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
36
|
+
"angularBuild": "^20.3.34",
|
|
37
|
+
"cyclonedxNpm": "~6.0.1",
|
|
38
|
+
"nimbleAngular": "~33.5.0",
|
|
39
|
+
"nimbleComponents": "~35.12.7",
|
|
40
|
+
"okAngular": "2.5.4",
|
|
40
41
|
"unitFormat": "^1.0.5",
|
|
41
42
|
"systemlinkClients": "3.0.2",
|
|
42
|
-
"sprightAngular": "9.5.
|
|
43
|
+
"sprightAngular": "9.5.9",
|
|
43
44
|
"nodeEngine": ">=24",
|
|
44
45
|
}
|
|
45
46
|
}
|
|
@@ -775,6 +776,7 @@ This app was generated by `slcli webapp new {app_name}` as a hosted Angular 20 s
|
|
|
775
776
|
- `@angular/localize/init` configured for the build polyfill path
|
|
776
777
|
- Nimble fonts imported in `src/styles.scss`
|
|
777
778
|
- modern Angular application builders configured for the hosted scaffold
|
|
779
|
+
- CycloneDX npm generator for a runtime dependency SBOM
|
|
778
780
|
- initial bundle warning budget tuned for the included starter shell
|
|
779
781
|
- shared loading, error, and empty states
|
|
780
782
|
- SystemLink context and theme sync services under `src/app/core/systemlink/`
|
|
@@ -788,9 +790,16 @@ This app was generated by `slcli webapp new {app_name}` as a hosted Angular 20 s
|
|
|
788
790
|
|
|
789
791
|
```bash
|
|
790
792
|
npm install
|
|
793
|
+
npm run sbom
|
|
791
794
|
npm run build
|
|
792
795
|
```
|
|
793
796
|
|
|
797
|
+
`npm run sbom` writes a runtime-only CycloneDX document to the project-root
|
|
798
|
+
`sbom.cdx.json`, outside `dist/`. Development-marked packages are removed after
|
|
799
|
+
CycloneDX generation. The `webapp new` command runs it automatically after installing dependencies. Use
|
|
800
|
+
`--skip-install` when you want to generate files without installing dependencies
|
|
801
|
+
or creating the SBOM yet.
|
|
802
|
+
|
|
794
803
|
The generated scaffold intentionally omits a default test runner setup so `npm install`
|
|
795
804
|
does not pull in the deprecated Karma/Jasmine stack. Add your preferred test tooling when
|
|
796
805
|
you start writing app-specific tests.
|
|
@@ -910,6 +919,7 @@ def _base_angular_dev_dependencies(angular_major: str) -> Dict[str, str]:
|
|
|
910
919
|
"@angular/cli": angular_version,
|
|
911
920
|
"@angular/compiler-cli": angular_version,
|
|
912
921
|
"@angular/localize": angular_version,
|
|
922
|
+
"@cyclonedx/cyclonedx-npm": manifest["cyclonedxNpm"],
|
|
913
923
|
"typescript": manifest["typescript"],
|
|
914
924
|
}
|
|
915
925
|
|
|
@@ -959,6 +969,11 @@ def _customize_generated_package_json(
|
|
|
959
969
|
package_json["scripts"] = {
|
|
960
970
|
"start": "ng serve --host 0.0.0.0",
|
|
961
971
|
"build": "ng build",
|
|
972
|
+
"sbom": (
|
|
973
|
+
"cyclonedx-npm --omit dev --output-format JSON "
|
|
974
|
+
"--output-file sbom.cdx.json --validate --output-reproducible "
|
|
975
|
+
"&& node scripts/filter-sbom.js sbom.cdx.json"
|
|
976
|
+
),
|
|
962
977
|
"publish:webapp": _publish_command_for_directory(
|
|
963
978
|
project_name, publish_name, workspace_name
|
|
964
979
|
),
|
|
@@ -1098,6 +1113,7 @@ def _emit_webapp_new_dry_run(
|
|
|
1098
1113
|
click.echo(" - Nimble fonts in src/styles.scss")
|
|
1099
1114
|
click.echo(" - @angular/build application builder with inlineCritical disabled")
|
|
1100
1115
|
click.echo(" - hash routing enabled unless --routing path is requested")
|
|
1116
|
+
click.echo(" - runtime-only CycloneDX SBOM generated after npm install")
|
|
1101
1117
|
|
|
1102
1118
|
|
|
1103
1119
|
def _generate_new_webapp(
|
|
@@ -1191,6 +1207,7 @@ def _generate_new_webapp(
|
|
|
1191
1207
|
|
|
1192
1208
|
if not skip_install:
|
|
1193
1209
|
_run_webapp_local_command(target_dir, ["npm", "install"], "npm install")
|
|
1210
|
+
_run_webapp_local_command(target_dir, ["npm", "run", "sbom"], "npm run sbom")
|
|
1194
1211
|
_run_webapp_local_command(target_dir, ["npm", "run", "build"], "npm run build")
|
|
1195
1212
|
|
|
1196
1213
|
result_data: Dict[str, Any] = {
|
|
@@ -1202,9 +1219,9 @@ def _generate_new_webapp(
|
|
|
1202
1219
|
),
|
|
1203
1220
|
}
|
|
1204
1221
|
if skip_install:
|
|
1205
|
-
result_data["Validation"] = "Skipped npm install and npm run build"
|
|
1222
|
+
result_data["Validation"] = "Skipped npm install, npm run sbom, and npm run build"
|
|
1206
1223
|
else:
|
|
1207
|
-
result_data["Validation"] = "npm run build passed"
|
|
1224
|
+
result_data["Validation"] = "npm run sbom and npm run build passed"
|
|
1208
1225
|
if plugin_manager:
|
|
1209
1226
|
result_data["Pack command"] = "npm run pack:webapp"
|
|
1210
1227
|
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/README.md
RENAMED
|
@@ -13,6 +13,7 @@ This app was generated by `slcli webapp new {{APP_NAME}}` as a hosted Angular 20
|
|
|
13
13
|
- `@angular/localize/init` configured for the build polyfill path
|
|
14
14
|
- Nimble fonts imported in `src/styles.scss`
|
|
15
15
|
- modern Angular application builders configured for the hosted scaffold
|
|
16
|
+
- CycloneDX npm generator for a runtime dependency SBOM
|
|
16
17
|
- initial bundle warning budget tuned for the included six-route starter shell
|
|
17
18
|
- shared loading, error, and empty states
|
|
18
19
|
- SystemLink context and theme sync services under `src/app/core/systemlink/`
|
|
@@ -43,9 +44,16 @@ src/
|
|
|
43
44
|
|
|
44
45
|
```bash
|
|
45
46
|
npm install
|
|
47
|
+
npm run sbom
|
|
46
48
|
npm run build
|
|
47
49
|
```
|
|
48
50
|
|
|
51
|
+
`npm run sbom` writes a runtime-only CycloneDX document to the project-root
|
|
52
|
+
`sbom.cdx.json`, outside `dist/`. Development-marked packages are removed after
|
|
53
|
+
CycloneDX generation. The `webapp new` command runs it automatically after installing dependencies. Use
|
|
54
|
+
`--skip-install` when you want to generate files without installing dependencies
|
|
55
|
+
or creating the SBOM yet.
|
|
56
|
+
|
|
49
57
|
The generated scaffold intentionally omits a default test runner setup so `npm install`
|
|
50
58
|
does not pull in the deprecated Karma/Jasmine stack. Add your preferred test tooling when
|
|
51
59
|
you start writing app-specific tests.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
const fs = require("fs");
|
|
2
|
+
|
|
3
|
+
const inputPath = process.argv[2] || "sbom.cdx.json";
|
|
4
|
+
const bom = JSON.parse(fs.readFileSync(inputPath, "utf8"));
|
|
5
|
+
|
|
6
|
+
function collectComponentRefs(component, refs) {
|
|
7
|
+
if (component["bom-ref"]) {
|
|
8
|
+
refs.add(component["bom-ref"]);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
for (const child of component.components || []) {
|
|
12
|
+
collectComponentRefs(child, refs);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function collectDevelopmentRefs(components, refs) {
|
|
17
|
+
for (const component of components || []) {
|
|
18
|
+
const isDevelopment =
|
|
19
|
+
(component.properties || []).some(
|
|
20
|
+
(property) =>
|
|
21
|
+
property.name === "cdx:npm:package:development" && property.value === "true",
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
if (isDevelopment) {
|
|
25
|
+
collectComponentRefs(component, refs);
|
|
26
|
+
} else {
|
|
27
|
+
collectDevelopmentRefs(component.components, refs);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function filterComponents(components, refs) {
|
|
33
|
+
return (components || [])
|
|
34
|
+
.filter((component) => !refs.has(component["bom-ref"]))
|
|
35
|
+
.map((component) => ({
|
|
36
|
+
...component,
|
|
37
|
+
...(component.components
|
|
38
|
+
? { components: filterComponents(component.components, refs) }
|
|
39
|
+
: {}),
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const developmentRefs = new Set();
|
|
44
|
+
collectDevelopmentRefs(bom.components, developmentRefs);
|
|
45
|
+
|
|
46
|
+
bom.components = filterComponents(bom.components, developmentRefs);
|
|
47
|
+
bom.dependencies = (bom.dependencies || [])
|
|
48
|
+
.filter((dependency) => !developmentRefs.has(dependency.ref))
|
|
49
|
+
.map((dependency) => ({
|
|
50
|
+
...dependency,
|
|
51
|
+
dependsOn: (dependency.dependsOn || []).filter((ref) => !developmentRefs.has(ref)),
|
|
52
|
+
}));
|
|
53
|
+
|
|
54
|
+
fs.writeFileSync(inputPath, `${JSON.stringify(bom, null, 2)}\n`);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/demo-data-3/overvoltage-results.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/exercise-7-1-test-plans/README.md
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/exercise-7-1-test-plans/config.yaml
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/spec-compliance-notebooks/README.md
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/examples/spec-compliance-notebooks/config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/analysis-recipes.md
RENAMED
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/datasheet-workflow.md
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/example-authoring.md
RENAMED
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/import-specs.min.json
RENAMED
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/nipkg/overview.md
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/notebook/interfaces.md
RENAMED
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/notebook/overview.md
RENAMED
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/routine-examples.md
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/troubleshooting.md
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/references/webapp/deployment.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/skills/slcli/scripts/spec_import_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/.gitignore
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/angular.json
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/package.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/index.html
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/main.ts
RENAMED
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/src/styles.scss
RENAMED
|
File without changes
|
|
File without changes
|
{systemlink_cli-1.25.0 → systemlink_cli-1.26.0}/slcli/webapp_templates/angular/blank/tsconfig.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|