Features: - Full RBAC with 3 roles (superadmin/manager/contributor) - Ownership tracking on posts, tasks, campaigns, projects - Task system: assign to anyone, filter combobox, visibility scoping - Team members merged into users table (single source of truth) - Post thumbnails on kanban cards from attachments - Publication link validation before publishing - Interactive onboarding tutorial with Settings restart - Full Arabic/English i18n with RTL layout support - Language toggle in sidebar, IBM Plex Sans Arabic font - Brand-based visibility filtering for non-superadmins - Manager can only create contributors - Profile completion flow for new users - Cookie-based sessions (express-session + SQLite)
1.3 KiB
1.3 KiB
signal-exit
When you want to fire an event no matter how a process exits:
- reaching the end of execution.
- explicitly having
process.exit(code)called. - having
process.kill(pid, sig)called. - receiving a fatal signal from outside the process
Use signal-exit.
var onExit = require('signal-exit')
onExit(function (code, signal) {
console.log('process exited!')
})
API
var remove = onExit(function (code, signal) {}, options)
The return value of the function is a function that will remove the handler.
Note that the function only fires for signals if the signal would cause the process to exit. That is, there are no other listeners, and it is a fatal signal.
Options
alwaysLast: Run this handler after any other signal or exit handlers. This causesprocess.emitto be monkeypatched.
