Skip to content
/ prang Public

A framework that looks like Angular, smells like Angular, but is actually Vue.

License

Notifications You must be signed in to change notification settings

Joery-M/prang

Repository files navigation

Prang

Pretty Reactive, Almost aNGular (Im so good at names)

What

A "framework" (if you will) that looks like Angular, smells like Angular, but is actually Vue.

Look in libraries/playground for the current testing setup.

Features

  • Components are defined as classes with a decorator
  • PIPES!! (proud of this one)
  • Angular style signals (actually Vue shallowRef under the hood)
  • Built-in rxjs support (thanks vueuse!)
  • Attribute binding with [attr]="value"
  • Event binding with (click)="clicked()"
  • Components can have inputs and outputs
  • Inline templates and styles
  • viewChild()
  • Directives with * syntax:
    • v-model="text" > *model="text"
    • v-if="condition" > *if="condition"

Plans

  • HMR for styles and templates
  • 2 way binding
  • contentChild()
  • Template ref binding with <comp #myComp /> (for #slot syntax, use @slot control flow or *slot directive instead)
  • Services using decorator
  • Directives using decorator
  • NgModule equivalent
  • Injection
  • Control flow (@if, @for (no trackBy yet), @slot)
  • SSR
  • Forms module
  • Angular style router
  • Formatter and IDE integration (unlikely)

Why

fun

Real reason: Got annoyed at the fact that Angular requires the Typescript compiler, meaning they can't use the amazing performance of Vite, esbuild or Rolldown (in the future). So I set out to make a version without Typescript.

Also, yes, I do realise that this has come full circle: Angular syntax inspired Vue, Vue tooling is used for this version of Angular.

About

A framework that looks like Angular, smells like Angular, but is actually Vue.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages