{"_id":"@digital-blueprint/bulletin-app","_rev":"2-2014b2f2390edbbfd39da88fd39dc79f","name":"@digital-blueprint/bulletin-app","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@digital-blueprint/bulletin-app","version":"0.1.0","license":"LGPL-2.1-or-later","_id":"@digital-blueprint/bulletin-app@0.1.0","maintainers":[{"name":"pbek","email":"patrizio@bekerle.com"},{"name":"dbp-deploy","email":"patrizio+dbp-deploy@bekerle.com"}],"dbp":{"urls":[{"src":"**/*.css","srcPackage":"select2"}]},"dist":{"shasum":"3d243b6734b5010391ab0af9ee627fcd69ae6a08","tarball":"https://registry.npmjs.org/@digital-blueprint/bulletin-app/-/bulletin-app-0.1.0.tgz","fileCount":956,"integrity":"sha512-A09+y2dIUrtv9xr1mAAyp2NKER8LFWi5ENP1vx+OxRC3a52FGX4mZWdDaQy7H9NIO18cYwl/lE2E3Hj11b4Nug==","signatures":[{"sig":"MEUCICzNh5VG015e9ZrDwjjDB/it918j4B4vemwWW6QPQ8NgAiEAtA49nXgbZ+qCwjZfivJ02qD6hlWbhONKCXu+QDX2eFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13235677},"main":"src/dbp-bulletin.js","type":"module","engines":{"npm":">=7.0.0","node":">=20.0.0"},"gitHead":"b15713de31e7ca4e517f0567c82dea72db723ae0","private":false,"scripts":{"fix":"npm run eslint:fix && npm run prettier:fix && npm run i18next:fix","test":"rolldown -c rollup.config.js --environment APP_ENV:test && web-test-runner","build":"rolldown -c rollup.config.js","check":"npm run eslint && npm run prettier && npm run i18next","watch":"rolldown -c rollup.config.js --watch","eslint":"eslint \"**/*.{js,ts}\"","i18next":"i18next-cli extract --ci --dry-run","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","build-wl":"rolldown -c rollup.config.js","prettier":"prettier \"**/*.{js,json,ts,md,yaml,yml}\" --check","watch-bs":"rolldown -c rollup.config.js --watch --environment APP_ENV:bs","watch-wl":"rolldown -c rollup.config.js --watch","test-full":"rolldown -c rollup.config.js --environment FORCE_FULL,APP_ENV:test && web-test-runner","eslint:fix":"eslint \"**/*.{js,ts}\" --fix","watch-full":"rolldown -c rollup.config.js --watch --environment FORCE_FULL","i18next:fix":"i18next-cli extract","build-custom":"rolldown -c rollup.config.js --environment APP_ENV:localCustom","prettier:fix":"prettier \"**/*.{js,json,ts,md,yaml,yml}\" --write","watch-custom":"rolldown -c rollup.config.js --watch --environment APP_ENV:localCustom"},"_npmUser":{"name":"pbek","email":"patrizio@bekerle.com"},"workspaces":["vendor/toolkit/packages/*"],"_npmVersion":"10.9.4","description":"[GitHub Repository](https://github.com/digital-blueprint/bulletin-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/bulletin-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/bulletin-app/) | [Bulletin Bundle](https://gi","directories":{},"_nodeVersion":"22.22.0","dependencies":{"lit":"^2.7.0 || ^3.0.0","xss":"^1.0.11","i18next":"^25.0.0","html2pdf.js":"^0.14.0","tabulator-tables":"^6.0.0","@dbp-toolkit/auth":"^0.3.0","@dbp-toolkit/common":"^0.3.0","@dbp-toolkit/tooltip":"^0.1.6","@dbp-toolkit/app-shell":"^0.3.0","@tugraz/web-components":"^0.3.6","@dbp-toolkit/pdf-viewer":"^0.3.0","@fontsource/nunito-sans":"^5.0.0","@dbp-toolkit/notification":"^0.3.0","@dbp-toolkit/file-handling":"^0.3.0","@dbp-toolkit/form-elements":"^0.2.0","@dbp-toolkit/person-select":"^0.3.7","@dbp-toolkit/language-select":"^0.3.0","@tugraz/font-source-sans-pro":"^0.2.4","@dbp-toolkit/grant-permission-dialog":"^0.3.0","@webcomponents/scoped-custom-element-registry":"^0.0.10"},"internalName":"dbp-bulletin","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.0.0","mocha":"^11.0.0","eslint":"^10.0.0","globals":"^17.0.0","prettier":"^3.0.0","rolldown":"^1.0.0-beta.42","playwright":"^1.34.0","@babel/core":"^7.10.3","i18next-cli":"^1.9.0","playwright-core":"^1.20.2","@web/test-runner":"^0.20.2","@babel/preset-env":"^7.10.3","eslint-plugin-jsdoc":"^62.0.0","rollup-plugin-serve":"^3.0.0","@rollup/plugin-babel":"^6.0.0","rollup-plugin-license":"^3.0.0","@dbp-toolkit/dev-utils":"^0.1.0","rollup-plugin-emit-ejs":"^3.1.0","@web/test-runner-playwright":"^0.11.1"},"_npmOperationalInternal":{"tmp":"tmp/bulletin-app_0.1.0_1773217151270_0.3081251916404444","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@digital-blueprint/bulletin-app","internalName":"dbp-bulletin","type":"module","version":"0.1.1","main":"src/dbp-bulletin.js","license":"LGPL-2.1-or-later","repository":{"type":"git","url":"git+https://github.com/digital-blueprint/bulletin-app.git"},"private":false,"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"workspaces":["vendor/toolkit/packages/*"],"engines":{"node":">=20.0.0","npm":">=7.0.0"},"dbp":{"urls":[{"srcPackage":"select2","src":"**/*.css"}]},"devDependencies":{"@babel/core":"^7.10.3","@babel/preset-env":"^7.10.3","@dbp-toolkit/dev-utils":"^0.1.0","@rollup/plugin-babel":"^6.0.0","@web/test-runner":"^0.20.2","@web/test-runner-playwright":"^0.11.1","chai":"^6.0.0","eslint":"^10.0.0","eslint-plugin-jsdoc":"^62.0.0","globals":"^17.0.0","i18next-cli":"^1.9.0","mocha":"^11.0.0","playwright":"^1.34.0","playwright-core":"^1.20.2","prettier":"^3.0.0","rolldown":"^1.0.0-beta.42","rollup-plugin-emit-ejs":"^3.1.0","rollup-plugin-license":"^3.0.0","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/grant-permission-dialog":"^0.3.0","@dbp-toolkit/language-select":"^0.3.0","@dbp-toolkit/notification":"^0.3.0","@dbp-toolkit/pdf-viewer":"^0.3.0","@dbp-toolkit/person-select":"^0.3.7","@dbp-toolkit/tooltip":"^0.1.6","@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.10","html2pdf.js":"^0.14.0","i18next":"^25.0.0","lit":"^2.7.0 || ^3.0.0","tabulator-tables":"^6.0.0","xss":"^1.0.11"},"scripts":{"build":"rolldown -c rollup.config.js","build-wl":"rolldown -c rollup.config.js","build-custom":"rolldown -c rollup.config.js --environment APP_ENV:localCustom","i18next:fix":"i18next-cli extract","i18next":"i18next-cli extract --ci --dry-run","fix":"npm run eslint:fix && npm run prettier:fix && npm run i18next:fix","check":"npm run eslint && npm run prettier && npm run i18next","eslint:fix":"eslint \"**/*.{js,ts}\" --fix","eslint":"eslint \"**/*.{js,ts}\"","prettier:fix":"prettier \"**/*.{js,json,ts,md,yaml,yml}\" --write","prettier":"prettier \"**/*.{js,json,ts,md,yaml,yml}\" --check","watch":"rolldown -c rollup.config.js --watch","watch-wl":"rolldown -c rollup.config.js --watch","watch-custom":"rolldown -c rollup.config.js --watch --environment APP_ENV:localCustom","watch-full":"rolldown -c rollup.config.js --watch --environment FORCE_FULL","watch-bs":"rolldown -c rollup.config.js --watch --environment APP_ENV:bs","test":"rolldown -c rollup.config.js --environment APP_ENV:test && web-test-runner","test-full":"rolldown -c rollup.config.js --environment FORCE_FULL,APP_ENV:test && web-test-runner","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"},"gitHead":"5cdb692bbf7edfa45c810e8bdf9d5e800f33de70","_id":"@digital-blueprint/bulletin-app@0.1.1","description":"[GitHub Repository](https://github.com/digital-blueprint/bulletin-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/bulletin-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/bulletin-app/) | [Bulletin Bundle](https://gi","bugs":{"url":"https://github.com/digital-blueprint/bulletin-app/issues"},"homepage":"https://github.com/digital-blueprint/bulletin-app#readme","_nodeVersion":"24.14.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-HoKuCKHUFhNowlRm6dPg2OQG9IY2dqPFHWsf8Z73mu9IqwzhoK1lA/dvzP166m3t7VVGraEI4TiS1STltyMEUg==","shasum":"e25301921530fa4013dc4fc2e255a4a4238ef9b6","tarball":"https://registry.npmjs.org/@digital-blueprint/bulletin-app/-/bulletin-app-0.1.1.tgz","fileCount":1159,"unpackedSize":13651203,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digital-blueprint%2fbulletin-app@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEIUqubvIGC+kf/FIGTd6sSCwyWQy/8uws3y1i0GCIAPAiA8t/18VU7BC2eoCT796vGDR9NoWXJ1NDC2ExVejNOZLw=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:abc96898-78b8-4bb9-ad03-85173947613d"}},"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/bulletin-app_0.1.1_1773223039499_0.6514099141804732"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-11T08:19:11.162Z","modified":"2026-03-11T09:57:20.186Z","0.1.0":"2026-03-11T08:19:11.626Z","0.1.1":"2026-03-11T09:57:19.865Z"},"license":"LGPL-2.1-or-later","description":"[GitHub Repository](https://github.com/digital-blueprint/bulletin-app) | [npmjs package](https://www.npmjs.com/package/@digital-blueprint/bulletin-app) | [Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/bulletin-app/) | [Bulletin Bundle](https://gi","maintainers":[{"name":"pbek","email":"patrizio@bekerle.com"},{"name":"dbp-deploy","email":"patrizio+dbp-deploy@bekerle.com"}],"readme":"# Bulletin Application\n\n[GitHub Repository](https://github.com/digital-blueprint/bulletin-app) |\n[npmjs package](https://www.npmjs.com/package/@digital-blueprint/bulletin-app) |\n[Unpkg CDN](https://unpkg.com/browse/@digital-blueprint/bulletin-app/) |\n[Bulletin Bundle](https://github.com/digital-blueprint/relay-bulletin-bundle)\n\n[![Build, Test and Publish](https://github.com/digital-blueprint/bulletin-app/actions/workflows/build-test-publish.yml/badge.svg)](https://github.com/digital-blueprint/bulletin-app/actions/workflows/build-test-publish.yml)\n\nManagement of job offers.\n\n## Prerequisites\n\n- You need the [API server](https://gitlab.tugraz.at/dbp/relay/dbp-relay-server-template) running\n- You need the [DbpRelayBulletinBundle](https://github.com/digital-blueprint/relay-bulletin-bundle) for the API server to persist and fetch submissions\n\n## Local development\n\n```bash\n# get the source\ngit clone git@github.com:digital-blueprint/bulletin-app.git\ncd bulletin-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_local/\nnpm run watch-local\n\n# run tests\nnpm test\n```\n\nJump to <https://localhost:8001>, and you should get a Single Sign On login page.\n\n## Using this app as pre-built package\n\n### Install app\n\nIf you want to install the dbp bulletin app in a new folder `bulletin-app` you can call:\n\n```bash\nnpx @digital-blueprint/cli install-app bulletin bulletin-app /\n```\n\n**Warning:** There may be issues when you run these commands as root user, best use a non-root user, like `www-data`.\nTo do this you can for example open a shell with `runuser -u www-data -- bash`.\n\nAfterwards, you can point your Apache web-server to `bulletin-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 `bulletin-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/bulletin-app/)\nfor example like this: [dbp-bulletin/index.html](https://github.com/digital-blueprint/bulletin-app/tree/main/examples/dbp-bulletin/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 bulletin app in the current folder you can call:\n\n```bash\nnpx @digital-blueprint/cli update-app bulletin\n```\n\n**Warning:** There may be issues when you run these commands as root user, best use a non-root user, like `www-data`.\nTo do this you can for example open a shell with `runuser -u www-data -- bash`.\n\n## Activities\n\nThis app has the following activities:\n\n- `dbp-bulletin-view-job-offers`\n- `dbp-bulletin-manage-job-offers`\n\nYou can find the documentation of the activity in the [bulletin activities documentation](https://github.com/digital-blueprint/bulletin-app/tree/main/src).\n\n## Adapt app\n\n### Functionality\n\nYou can add multiple attributes to the `<dbp-bulletin>` tag.\n\n| attribute name          | value   | description                                                                                                   |\n| ----------------------- | ------- | ------------------------------------------------------------------------------------------------------------- |\n| `provider-root`         | Boolean | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `lang`                  | String  | [language-select](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/language-select) |\n| `entry-point-url`       | String  | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `keycloak-config`       | Object  | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `base-path`             | String  | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `src`                   | String  | [app-shell](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/app-shell)             |\n| `html-overrides`        | String  | [common](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/common)                   |\n| `themes`                | Array   | [theme-switcher](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/theme-switcher)   |\n| `darkModeThemeOverride` | String  | [theme-switcher](https://gitlab.tugraz.at/dbp/web-components/toolkit/-/tree/master/packages/theme-switcher)   |\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-bulletin auth requested-login-status analytics-event></dbp-bulletin>\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-bulletin\" 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/master/packages/app-shell).\nFor the app specific slots take a look at the [bulletin activities](https://github.com/digital-blueprint/bulletin-app/tree/main/src).\n\n## Notice\n\nWe use autogenerated table headers for creating submission tables.\n\nA [get query](https://api-demo.tugraz.at/#operations-Bulletin-getBulletinSubmissionItem) is made to dbp-relay.\nThis returns JSON. The JSON contains various data from previously submitted entries.\n\nTo post a form to the API, take a look at: [operations-Bulletin-postBulletinSubmissionCollection](https://api-demo.tugraz.at/#operations-Bulletin-postBulletinSubmissionCollection).\nThis request contains the form name (`form`) and the form data (`dataFeedElement`). The data must be valid JSON as a string, i.e. quotation marks must be escaped with `\\\"`.\nThe data keys of forms with the same `form` name must be consistent; otherwise, new keys are not displayed and old table headers may become inconsistent.\n","readmeFilename":"README.md","homepage":"https://github.com/digital-blueprint/bulletin-app#readme","repository":{"type":"git","url":"git+https://github.com/digital-blueprint/bulletin-app.git"},"bugs":{"url":"https://github.com/digital-blueprint/bulletin-app/issues"}}