{"_id":"@amag-ch/cds-launchpad","_rev":"5-0e1b042624c8bb0fa1dd39efcbb7793b","name":"@amag-ch/cds-launchpad","dist-tags":{"latest":"2.0.1"},"versions":{"1.8.0":{"name":"@amag-ch/cds-launchpad","version":"1.8.0","author":{"name":"AMAG Corporate Services AG"},"license":"MIT","_id":"@amag-ch/cds-launchpad@1.8.0","maintainers":[{"name":"thju-amag-ch","email":"thomas.jurk@amag.ch"},{"name":"integration-amag-ch","email":"integration@amag.ch"}],"homepage":"https://gitlab.com/amag_web/sap/cap/common/cds-launchpad#readme","bugs":{"url":"https://gitlab.com/amag_web/sap/cap/common/cds-launchpad/issues"},"dist":{"shasum":"af5c2ac55599dc382db8cd6507a148f6c7ba2a42","tarball":"https://registry.npmjs.org/@amag-ch/cds-launchpad/-/cds-launchpad-1.8.0.tgz","fileCount":10,"integrity":"sha512-xCVn68CMQcxmRzRTQqokIDqcHaoXHaicgW9zlSpUdMIzePWrlFiwqEKCNxgjYDzFMSzzk8wN84NfXeEEDG2XAw==","signatures":[{"sig":"MEYCIQC5GI1v2pnJzDdIG03dbbd64VvItyqjXFPTfYXZ6xjvjAIhALTYhPOazF7UvsGueRPmJiebm/Tce815HafCu0pk8V8w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25940},"main":"index.js","engines":{"node":">=14.0.0"},"gitHead":"f9a0e3d928b43d838bd627be9edcfda7090d7823","private":false,"_npmUser":{"name":"integration-amag-ch","email":"integration@amag.ch"},"repository":{"url":"git+https://gitlab.com/amag_web/sap/cap/common/cds-launchpad.git","type":"git"},"_npmVersion":"10.9.2","description":"Lauchpad Sandbox for local testing","directories":{},"_nodeVersion":"22.14.0","dependencies":{"dot-properties":"^1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@sap/cds":">=5"},"peerDependencies":{"@sap/cds":">=5"},"_npmOperationalInternal":{"tmp":"tmp/cds-launchpad_1.8.0_1742830441052_0.7378146823678327","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@amag-ch/cds-launchpad","version":"1.9.0","author":{"name":"AMAG Corporate Services AG"},"license":"MIT","_id":"@amag-ch/cds-launchpad@1.9.0","maintainers":[{"name":"thju-amag-ch","email":"thomas.jurk@amag.ch"},{"name":"integration-amag-ch","email":"integration@amag.ch"}],"homepage":"https://gitlab.com/amag_web/sap/common/npm/cds-launchpad#readme","bugs":{"url":"https://gitlab.com/amag_web/sap/common/npm/cds-launchpad/issues"},"dist":{"shasum":"719f6bf15095b2fd832087e7f7ae242ddc36b76a","tarball":"https://registry.npmjs.org/@amag-ch/cds-launchpad/-/cds-launchpad-1.9.0.tgz","fileCount":10,"integrity":"sha512-g7pM0K/MNW/2MBYCegzKv3I/B1WwTg7kZNkbAPp/s0on7RTWg4irhZNqfn86kZlNAJ0+Q3Itcf/XmKcYV/sJVQ==","signatures":[{"sig":"MEYCIQDjNK09qLWJJbPXpaKCtLiH+DrBKNj6z1Xjz5tsfCs0PgIhAO6Yfd+5TuoZx0jDlYbkR5Uv6tdmb7NgN2ag/pSVdBmN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25968},"main":"index.js","type":"commonjs","engines":{"node":">=14.0.0"},"gitHead":"70787d551675de2cccae8b36f96781e9262b0e8a","private":false,"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:b571476a-8a6e-4e8f-a18b-1f9928dbbf79"}},"repository":{"url":"git+https://gitlab.com/amag_web/sap/common/npm/cds-launchpad.git","type":"git"},"_npmVersion":"11.6.2","description":"Lauchpad Sandbox for local testing","directories":{},"_nodeVersion":"24.13.0","dependencies":{"dot-properties":"^1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@sap/cds":">=5"},"peerDependencies":{"@sap/cds":">=5"},"_npmOperationalInternal":{"tmp":"tmp/cds-launchpad_1.9.0_1769539833464_0.8898887638413533","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@amag-ch/cds-launchpad","version":"2.0.0","author":{"name":"AMAG Corporate Services AG"},"license":"MIT","_id":"@amag-ch/cds-launchpad@2.0.0","maintainers":[{"name":"thju-amag-ch","email":"thomas.jurk@amag.ch"},{"name":"integration-amag-ch","email":"integration@amag.ch"}],"homepage":"https://gitlab.com/amag_web/sap/common/npm/cds-launchpad#readme","bugs":{"url":"https://gitlab.com/amag_web/sap/common/npm/cds-launchpad/issues"},"dist":{"shasum":"11d3ad9ca216b1bcf9ffe6ecf5f381e6f282dcba","tarball":"https://registry.npmjs.org/@amag-ch/cds-launchpad/-/cds-launchpad-2.0.0.tgz","fileCount":10,"integrity":"sha512-1/dQ4pYsYSV3I959j9CbNJjFL6LVsGOrfuhlbVsGh9pjhb9DxpBb8OAzTywfmGWuo8EUU/jbNCXT5hoksZ0Qqg==","signatures":[{"sig":"MEQCIHKxUrNqAsPRn02MuuJ2Rn/tmz0kXODAnyJ8YwI3KgzWAiBbFYBWDPwPtqUNJiWi+QUqtJeum+zOKPjo7u+49U+uww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25972},"main":"index.js","type":"commonjs","engines":{"node":">=14.0.0"},"gitHead":"126ef3897af8873af68f470632ac71eae9e6abaa","private":false,"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:b571476a-8a6e-4e8f-a18b-1f9928dbbf79"}},"repository":{"url":"git+https://gitlab.com/amag_web/sap/common/npm/cds-launchpad.git","type":"git"},"_npmVersion":"11.6.2","description":"Lauchpad Sandbox for local testing","directories":{},"_nodeVersion":"24.13.0","dependencies":{"dot-properties":"^1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@sap/cds":">=9"},"peerDependencies":{"@sap/cds":">=9"},"_npmOperationalInternal":{"tmp":"tmp/cds-launchpad_2.0.0_1770121352720_0.00552771898531379","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@amag-ch/cds-launchpad","version":"2.0.1","author":{"name":"AMAG Corporate Services AG"},"license":"MIT","_id":"@amag-ch/cds-launchpad@2.0.1","maintainers":[{"name":"thju-amag-ch","email":"thomas.jurk@amag.ch"},{"name":"integration-amag-ch","email":"integration@amag.ch"}],"homepage":"https://gitlab.com/amag_web/sap/common/npm/cds-launchpad#readme","bugs":{"url":"https://gitlab.com/amag_web/sap/common/npm/cds-launchpad/issues"},"dist":{"shasum":"00643e1a18594887d2be5bb8848e9f6c0c5ed3bd","tarball":"https://registry.npmjs.org/@amag-ch/cds-launchpad/-/cds-launchpad-2.0.1.tgz","fileCount":10,"integrity":"sha512-mMshiRDZEXmfH4ljpjiRFOB//Vj5pl+ffrakmf6I2yddx5uVrpkK5Aohfowa7QMINv5gkYsTXOOdGd09DMOUnA==","signatures":[{"sig":"MEUCIQDbZ9LM06uSGLsaJ1kQHUwTN4v5j21D4vvdXBFYD8NMUgIgXPC9JdUKuVdA0wPtUCbnrKzvJ25FZL4UXYi2WUAWLSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26069},"main":"index.js","type":"commonjs","engines":{"node":">=14.0.0"},"gitHead":"376169cf3ff62d2ee3d3ee0d288eb952eb4975c9","private":false,"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:b571476a-8a6e-4e8f-a18b-1f9928dbbf79"}},"repository":{"url":"git+https://gitlab.com/amag_web/sap/common/npm/cds-launchpad.git","type":"git"},"_npmVersion":"11.11.0","description":"Lauchpad Sandbox for local testing","directories":{},"_nodeVersion":"24.14.1","dependencies":{"dot-properties":"^1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@sap/cds":">=9"},"peerDependencies":{"@sap/cds":">=9"},"_npmOperationalInternal":{"tmp":"tmp/cds-launchpad_2.0.1_1780383074985_0.8499201746133045","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-03-24T15:34:00.925Z","modified":"2026-06-10T21:30:10.026Z","1.8.0":"2025-03-24T15:34:01.265Z","1.9.0":"2026-01-27T18:50:33.605Z","2.0.0":"2026-02-03T12:22:32.864Z","2.0.1":"2026-06-02T06:51:15.152Z"},"bugs":{"url":"https://gitlab.com/amag_web/sap/common/npm/cds-launchpad/issues"},"author":{"name":"AMAG Corporate Services AG"},"license":"MIT","homepage":"https://gitlab.com/amag_web/sap/common/npm/cds-launchpad#readme","repository":{"url":"git+https://gitlab.com/amag_web/sap/common/npm/cds-launchpad.git","type":"git"},"description":"Lauchpad Sandbox for local testing","maintainers":[{"email":"integration@amag.ch","name":"integration-amag-ch"}],"readme":"[![npm version](https://img.shields.io/npm/v/@amag-ch/cds-launchpad?style=flat-square)](https://www.npmjs.com/package/@amag-ch/cds-launchpad)\n[![npm downloads](https://img.shields.io/npm/dm/@amag-ch/cds-launchpad.svg?style=flat-square)](https://npm-stat.com/charts.html?package=@amag-ch/cds-launchpad)\n\nLauchpad Sandbox for local testing\n\n## Table of Contents\n\n- [Installing](#installing)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [License](#license)\n\n## Installing\n\nUsing npm:\n\n```bash\n$ npm install @amag-ch/cds-launchpad --save-dev\n```\n\nUsing yarn:\n\n```bash\n$ yarn add @amag-ch/cds-launchpad --dev\n```\n\n## Usage\n\nBefore cds version 6.8.0, add following to your custom [`server.js`](https://cap.cloud.sap/docs/node.js/cds-server#custom-server-js):\n\n```js\nif (process.env.NODE_ENV !== 'production') {\n    cds.once('bootstrap', () => new (require('@amag-ch/cds-launchpad'))())\n}\n```\n\nor the long version\n\n```js\nif (process.env.NODE_ENV !== 'production') {\n    const Lauchpad = require('@amag-ch/cds-launchpad')\n    cds.once('bootstrap', () => new Lauchpad())\n}\n```\nSince cds version 6.8.0 the cds plugin feature register the launchpad automatically\n\n\nAfterthen the launchpad is available under http://localhost:4004/$launchpad\n\nApplications which should be displayed must be defined in `package.json` of your project under sapux\n\n```jsonc\n{\n    \"sapux\": [\n        \"app/application1\",\n        \"app/application2\"\n    ]\n}\n```\n\n## Configuration\n\n### Configuration by programming\n\nCall `new Lauchpad({...})` constructor to change the default options\n```jsonc\n{\n    path: '/$launchpad', // Path under which the launchpad serves\n    name: 'Launchpad', // Name of the lauchpad\n    title: 'Lauchpad Sandbox', // Title of the launchpad\n    cdn: 'https://ui5.sap.com', // URL from where the libs should be loaded\n    version: '', // Specific UI5 version\n    libs: 'sap.ui.core, sap.m, sap.ushell, sap.fe.templates', // UI5 libraries should be loaded at startup\n    theme: 'sap_horizon' // UI5 theme\n}\n```\n\n### Configuration by definition\n\nAdd launchpad configuration in `package.json` or `.cdsrc.json`\n\n```jsonc\n{\n    \"cds\": {\n        \"launchpad\": {\n            \"version\": \"1.115.1\",\n            \"theme\": \"sap_horizon_dark\"\n        }\n    }\n}\n```\n\n### Own groups\n\nIf the project have multipe tiles, it's possible to move them in own groups\n\n```jsonc\n{\n    \"cds\": {\n        \"launchpad\": {\n            \"groups\": {\n                \"business\": [\n                    \"app/application1\"\n                ],\n                \"technical\": [\n                    \"app/application2\"\n                ]\n            }\n        }\n    }\n}\n```\n\n### Group titles\n\nIf auto generated groups titles doesn't fit, then those can be set manually\n\n```jsonc\n{\n    \"cds\": {\n        \"launchpad\": {\n            \"titles\": {\n                \"groups\": {\n                    \"business\" \"Different title for business\"\n                }\n            },\n            \"groups\": {\n                \"business\": [\n                    \"app/application1\"\n                ],\n                \"technical\": [\n                    \"app/application2\"\n                ]\n            }\n        }\n    }\n}\n```\n\n### Own catalogs\n\nIf the project have multipe tiles, it's possible to move them in own catalogs\n\n```jsonc\n{\n    \"cds\": {\n        \"launchpad\": {\n            \"catalogs\": {\n                \"technical\": [\n                    \"app/application2\"\n                ]\n            }\n        }\n    }\n}\n```\n\n### Catalog titles\n\nIf auto generated catalogs titles doesn't fit, then those can be set manually\n\n```jsonc\n{\n    \"cds\": {\n        \"launchpad\": {\n            \"titles\": {\n                \"catalogs\": {\n                    \"technical\" \"Different title for technical\"\n                }\n            },\n            \"catalogs\": {\n                \"technical\": [\n                    \"app/application2\"\n                ]\n            }\n        }\n    }\n}\n```\n\n### Roles\n\nIf tiles / applications should be only add, if logined user have the corresponding rights, then roles and assignment must be defined.\n\nIf an application is not assigned to a role, then it's general accessable.\n\nIt's only working if `cds.middlewares` are active.\n\n```jsonc\n{\n    \"cds\": {\n        \"launchpad\": {\n            \"titles\": {\n                \"groups\": {\n                    \"business\" \"Different title for business\"\n                }\n            },\n            \"roles\": {\n                \"BusinessUser\": [\n                    \"app/application1\"\n                ],\n                \"TechnicalUser\": [\n                    \"app/application2\"\n                ]\n            },\n            \"groups\": {\n                \"business\": [\n                    \"app/application1\"\n                ],\n                \"technical\": [\n                    \"app/application2\"\n                ]\n            }\n        }\n    }\n}\n```\n\n### Target only applications\n\nIf applications should be started only over target navigation, then those can be added to special `hidden` catalog and group.\n\n```jsonc\n{\n    \"cds\": {\n        \"launchpad\": {\n            \"catalogs\": {\n                \"business\": [\n                    \"app/application1\"\n                ],\n                \"hidden\": [\n                    \"app/application2\"\n                ]\n            },            \n            \"groups\": {\n                \"business\": [\n                    \"app/application1\"\n                ],\n                \"hidden\": [\n                    \"app/application2\"\n                ]\n            }\n        }\n    }\n}\n```\n\n## License\n\n[MIT](LICENSE)","readmeFilename":"README.md"}