{"_id":"@digital-blueprint/nexus-app","name":"@digital-blueprint/nexus-app","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@digital-blueprint/nexus-app","internalName":"dbp-nexus","type":"module","version":"0.0.1","main":"src/dbp-nexus.js","license":"LGPL-2.1-or-later","private":false,"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"workspaces":["vendor/toolkit/packages/*"],"engines":{"node":">=20.0.0","npm":">=7.0.0"},"devDependencies":{"@babel/core":"^7.10.3","@babel/preset-env":"^7.10.3","@dbp-toolkit/dev-utils":"^0.1.0","@eslint/js":"^9.2.0","@rollup/plugin-babel":"^6.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^16.0.0","@rollup/plugin-replace":"^6.0.0","@rollup/plugin-terser":"^0.4.0","@rollup/plugin-url":"^8.0.0","can-npm-publish":"^1.3.3","chai":"^5.0.0","eslint":"^9","eslint-plugin-jsdoc":"^50.0.0","glob":"^11.0.0","globals":"^15.1.0","i18next-parser":"^9.0.0","karma":"^6.0.0","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-mocha":"^2.0.1","karma-source-map-support":"^1.4.0","mocha":"^11.0.0","playwright":"^1.34.0","playwright-core":"^1.21.0","prettier":"^3.0.0","rollup":"^4.0.0","rollup-plugin-copy":"^3.3.0","rollup-plugin-delete":"^2.0.0","rollup-plugin-emit-ejs":"^3.1.0","rollup-plugin-license":"^3.0.1","rollup-plugin-serve":"^3.0.0"},"dependencies":{"@dbp-toolkit/app-shell":"^0.3.0","@dbp-toolkit/auth":"^0.3.0","@dbp-toolkit/common":"^0.3.0","@dbp-toolkit/file-handling":"^0.3.0","@dbp-toolkit/form-elements":"^0.2.0","@dbp-toolkit/language-select":"^0.3.0","@dbp-toolkit/notification":"^0.3.3","@fontsource/nunito-sans":"^5.0.0","@tugraz/font-source-sans-pro":"^0.2.4","@tugraz/web-components":"^0.3.6","@webcomponents/scoped-custom-element-registry":"^0.0.9","dotenv":"^16.4.7","instantsearch.css":"^8.1.0","instantsearch.js":"^4.65.0","lit":"^3.0.0","typesense":"^1.8.2","typesense-instantsearch-adapter":"^2.8.0"},"scripts":{"build":"rollup -c","i18next":"i18next","format":"npm run format:eslint && npm run format:prettier","format:eslint":"eslint \"**/*.{js,ts}\" --fix","format:prettier":"prettier \"**/*.{js,json,ts}\" --write","watch":"rollup -c --watch","watch-local":"npm run watch","watch-full":"rollup -c --watch --environment FORCE_FULL","watch-bs":"rollup -c --watch --environment APP_ENV:bs","watch-custom":"rollup -c --watch --environment APP_ENV:localCustom","test":"rollup -c --environment APP_ENV:test && karma start karma.conf.cjs --singleRun","test-full":"rollup -c --environment FORCE_FULL,APP_ENV:test && karma start karma.conf.cjs --singleRun","lint":"eslint .","tsc":"tsc -p jsconfig.json","publish":"sed -i 's/\"private\": true/\"private\": false/' package.json && can-npm-publish --verbose 2>&1 && npm publish --access public 2>&1; sed -i 's/\"private\": false/\"private\": true/' package.json"},"_id":"@digital-blueprint/nexus-app@0.0.1","gitHead":"dd51e50a74284ba5db3e56074eeaa1f0d821031b","description":"[GitHub Repository](https://github.com/digital-blueprint/nexus-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/nexus-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/nexus-app/) |","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-U3pJdEUr1EWERBioT8eHHvDbateXLvMmuXrM9cd1HZYpEx7WpC68KRzndNZ5frwUu4G1iiLV9uxucu8DmpNqPg==","shasum":"d80350de74dfae5dcf439cddad80d7da94a3f242","tarball":"https://registry.npmjs.org/@digital-blueprint/nexus-app/-/nexus-app-0.0.1.tgz","fileCount":924,"unpackedSize":7846671,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCCTWYBXjbNzsV3AxgbF6JtdIDZN2i5lc7E2KC2VVNuwgIhAKT319EMA1H+tuqzZCUZ3zAUU5pJDnEgx9uxWu6AmddE"}]},"_npmUser":{"name":"dbp-deploy","email":"patrizio+dbp-deploy@bekerle.com"},"directories":{},"maintainers":[{"name":"pbek","email":"patrizio@bekerle.com"},{"name":"dbp-deploy","email":"patrizio+dbp-deploy@bekerle.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nexus-app_0.0.1_1744208770925_0.24951824490838392"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-09T14:26:10.837Z","0.0.1":"2025-04-09T14:26:11.253Z","modified":"2025-04-09T14:26:11.556Z"},"maintainers":[{"name":"pbek","email":"patrizio@bekerle.com"},{"name":"dbp-deploy","email":"patrizio+dbp-deploy@bekerle.com"}],"description":"[GitHub Repository](https://github.com/digital-blueprint/nexus-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/nexus-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/nexus-app/) |","license":"LGPL-2.1-or-later","readme":"# Nexus Application\n\n[GitHub Repository](https://github.com/digital-blueprint/nexus-app) |\n[npmjs package](https://www.npmjs.com/package/@digital-blueprint/nexus-app) |\n[Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/nexus-app/) |\n\n[![Build and Test](https://github.com/digital-blueprint/nexus-app/actions/workflows/build-test-publish.yml/badge.svg)](https://github.com/digital-blueprint/nexus-app/actions/workflows/build-test-publish.yml)\n\nThis is an application for searching DigitalBlueprint activities.\n\n## Prerequisites\n\n- You need the [API server](https://gitlab.tugraz.at/dbp/relay/dbp-relay-server-template) running\n\n## Local development\n\n```bash\n# get the source\ngit clone git@github.com:digital-blueprint/nexus-app.git\ncd nexus-app\ngit submodule update --init\n\n# install dependencies\nnpm install\n\n# constantly build dist/bundle.js and run a local web-server on port 8001\nnpm run watch\n\n# constantly build dist/bundle.js and run a local web-server on port 8001 using a custom assets directory assets_custom/\nnpm run watch-custom\n\n# run tests\nnpm test\n\n### Typesense schema\n```json\n{\n  \"name\": \"nexus\",\n  \"fields\": [\n    {\n      \"name\": \"activityName\",\n      \"type\": \"string\",\n      \"facet\": false,\n      \"optional\": false,\n      \"index\": true,\n      \"sort\": true,\n      \"infix\": false,\n      \"locale\": \"\",\n      \"stem\": false,\n      \"store\": true\n    },\n    {\n      \"name\": \"activityDescription\",\n      \"type\": \"string\",\n      \"facet\": false,\n      \"optional\": false,\n      \"index\": true,\n      \"sort\": false,\n      \"infix\": false,\n      \"locale\": \"\",\n      \"stem\": false,\n      \"store\": true\n    },\n    {\n      \"name\": \"activityRoutingName\",\n      \"type\": \"string\",\n      \"facet\": false,\n      \"optional\": false,\n      \"index\": false,\n      \"sort\": false,\n      \"infix\": false,\n      \"locale\": \"\",\n      \"stem\": false,\n      \"store\": true\n    },\n    {\n      \"name\": \"activityModuleSrc\",\n      \"type\": \"string\",\n      \"facet\": false,\n      \"optional\": false,\n      \"index\": false,\n      \"sort\": false,\n      \"infix\": false,\n      \"locale\": \"\",\n      \"stem\": false,\n      \"store\": true\n    },\n    {\n      \"name\": \"activityPath\",\n      \"type\": \"string\",\n      \"facet\": false,\n      \"optional\": false,\n      \"index\": false,\n      \"sort\": false,\n      \"infix\": false,\n      \"locale\": \"\",\n      \"stem\": false,\n      \"store\": true\n    },\n    {\n      \"name\": \"activityTag\",\n      \"type\": \"string[]\",\n      \"facet\": false,\n      \"optional\": false,\n      \"index\": true,\n      \"sort\": false,\n      \"infix\": false,\n      \"locale\": \"\",\n      \"stem\": false,\n      \"store\": true\n    },\n    {\n      \"name\": \"activityIcon\",\n      \"type\": \"string\",\n      \"facet\": false,\n      \"optional\": false,\n      \"index\": false,\n      \"sort\": false,\n      \"infix\": false,\n      \"locale\": \"\",\n      \"stem\": false,\n      \"store\": true\n    }\n  ],\n  \"default_sorting_field\": \"\",\n  \"enable_nested_fields\": false,\n  \"symbols_to_index\": [],\n  \"token_separators\": []\n}\n```\n\nJump to <http://localhost:8001>, and you should get a Single Sign On login page.\n\nBy default, the application is built using the assets in `assets/`. However, custom assets can also be used to build the application. The custom assets can be added to the directory `assets_custom/dbp-nexus/assets/`. This allows developers to easily develop and build the application for different environments.\n\nTo use the Nextcloud functionality you need a running Nextcloud server with the\n[webapppassword](https://gitlab.tugraz.at/dbp/nextcloud/webapppassword) Nextcloud app like this\n[Nextcloud Development Environment](https://gitlab.tugraz.at/dbp/nextcloud/webapppassword/-/tree/master/docker).\n\n\n## Using this app as pre-built package\n\n### Install app\n\nIf you want to install the dbp nexus app in a new folder `nexus-app` with a path prefix `/` you can call:\n\n```bash\nnpx @digital-blueprint/cli@latest install-app nexus nexus-app /\n```\n\nAfterward you can point your Apache web-server to `nexus-app/public`.\n\nMake sure you are allowing `.htaccess` files in your Apache configuration.\n\nAlso make sure to add all of your resources you are using (like your API and Keycloak servers) to the\n`Content-Security-Policy` in your `nexus-app/public/.htaccess`, so the browser allows access to those sites.\n\nYou can also use this app directly from the [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/nexus-app/)\nfor example like this: [dbp-nexus/index.html](https://github.com/digital-blueprint/nexus-app/tree/main/examples/dbp-nexus/index.html)\n\nNote that you will need a Keycloak server along with a client id for the domain you are running this html on.\n\n### Update app\n\nIf you want to update the dbp nexus app in the current folder you can call:\n\n```bash\nnpx @digital-blueprint/cli@latest update-app nexus\n```\n\n## Adapt app\n\n### Functionality\n\nYou can add multiple attributes to the `<dbp-nexus>` tag.\n\n| attribute name | value | Link to description                                                                                                                 |\n|----------------|-------|-------------------------------------------------------------------------------------------------------------------------------------|\n| `provider-root` | Boolean | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `lang`         | String | [language-select](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/language-select#attributes)              |\n| `entry-point-url` | String | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `keycloak-config` | Object | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `base-path` | String | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `src` | String | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell#attributes)                          |\n| `html-overrides` | String | [common](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/common#overriding-slots-in-nested-web-components) |\n| `themes` | Array | [theme-switcher](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/theme-switcher#themes-attribute)          |\n| `darkModeThemeOverride` | String | [theme-switcher](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/theme-switcher#themes-attribute)          |\n\n#### Mandatory attributes\n\nIf you are not using the `provider-root` attribute to \"terminate\" all provider attributes\nyou need to manually add these attributes so that the topic will work properly:\n\n```html\n<dbp-nexus\n  auth\n  requested-login-status\n  analytics-event\n  initial-file-handling-state\n  clipboard-files\n>\n</dbp-nexus>\n```\n\n### Design\n\nFor frontend design customizations, such as logo, colors, font, favicon, and more, take a look at the [theming documentation](https://dbp-demo.tugraz.at/dev-guide/frontend/theming/).\n\n## \"dbp-nexus\" slots\n\nThese are common slots for the app-shell. You can find the documentation of these slots in the [app-shell documentation](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/main/packages/app-shell).\nFor the app specific slots take a look at the [nexus activities](https://github.com/digital-blueprint/nexus-app/tree/main/src).\n","readmeFilename":"README.md","_rev":"1-128e6913460240242fe6a3959d346e39"}