@superawesome/permissions
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

SuperAwesome Permissions

  • NPM package: @superawesome/permissions

  • Github: https://github.com/SuperAwesomeLTD/permissions

Features

In lieu of a proper landing page, SuperAwesome Permissions features:

  • 🛅 Controlled Access to Resources

  • 💅 Fine Grained Resource Attributes picking

  • 🛃 Dynamic Ownership Rules, hooked to your data layer

  • 🎭 Trivial conversion of Business Rules for Access Control to executing permissions (and vise versa).

  • :atom: Straight-forward fusion of Role-Based Access Control, Attribute-Based Access Control and Whatever-You-Make-it Access control

  • 🔭 Unlimited Scalability (lazy & eager ownership evaluation)

  • 🔧 Easy Integration with everything (REST, Graphql, SQL, NoSQL, APIs, Frontend, Games, anything)

  • 🐚 Zero dependencies with servers, services & other moving parts

  • 📐 Orthogonal / Aspect Oriented philosophy

  • 🎫 Permit is all you need to allow a user do an action on a resource

(^^ github needed to show icons ^^)

Contents

The actual generated docs are at npm run docs:serve and coming soon at SuperAwesome Permissions Documentation. Go to the left, at the CompoDocs Nav Bar.

NOTE: THESE LINKS BREAK ON GITHUB! (^^^ read above ^^^)

Note: We also have native Nestjs Guard & Decorators empowering an Orthogonal / Aspect Oriented Architecture.

Versioning

The project follows semantic versioning which effectively means a new major version x.0.0 is released for breaking changes, minor 0.x.0 for new features and patch 0.0.x for fixes.

How to develop

Code

  • Simply do an npm run test:watch to develop and test at each change.

  • With npm run build:ts you get a build of the library at /dist.

  • With npm run build you get a full build of library & docs at /dist.

Documentation

End user docs reside at src/docs & *.md.spec files:

  • With npm run docs:build it builds docs at dist/docs once.

  • With npm run docs:serve it serves docs at http://127.0.0.1:8090 in non-watch mode.

  • With npm run docs:watch it serves docs at http://127.0.0.1:8090 in watch & serve mode.

Docs generation

All *.md.spec.ts files generate equivalent src/docs/generated/*.generated.md

Note: On watch mode it's sometimes slow to build & serve, especially initially. Just change & save the *.md.spec.ts file to trigger generation & also refresh browser if its not refreshing automatically.

Package Sidebar

Install

npm i @superawesome/permissions

Weekly Downloads

65

Version

1.0.3

License

Apache-2.0

Unpacked Size

4.86 MB

Total Files

191

Last publish

Collaborators

  • jumal_ali
  • chriswarrensa
  • patrick.mettraux
  • andreyzhm
  • superawesomeadmin
  • sa-release-bot