Search by

coolms / theme-admin

coolms

The CoolMS administration SPA, built with Angular

Package info

github.com/coolms/theme-admin

Language:TypeScript

Type:symfony-bundle

pkg:composer/coolms/theme-admin

Statistics

Installs: 12

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 10


README

CI PHP License

The CoolMS administration SPA, built with Angular

A theme is not a module. It owns no domain and no storage: it implements a small provider port, ships templates and assets, and wires them into the container. That is why this package extends Symfony's Bundle rather than AbstractCoolmsBundle, and why it requires coolms/core -- the contract -- and not coolms/coolms, which is a deployment.

Installation

composer require coolms/theme-admin
// config/bundles.php
CoolMS\ThemeAdmin\ThemeAdminBundle::class => ['all' => true],
bin/console coolms:theme:install coolms-admin
bin/console coolms:theme:activate coolms-admin

What it is

slug coolms-admin
front-end stack spa
manifest theme.yaml

Contracts it implements

  • CoolMS\Core\Theme\ThemeProviderInterface

Both live in coolms/core as of. Before that they were application classes, which is what made a theme unpublishable.

Building the libraries it compiles

The admin compiles a set of sibling libraries (core-angular, ui-angular, editor-angular and the others, beside it as ../../<name>). Each also builds as a library of its own, against its peers' built dist/, so they build in dependency order:

  • npm run kits:build (in angular/): every library once, in order; it stops at the first that fails and names it.
  • npm run kits:watch: every library in watch mode, each started after the ones it imports, so an edit to a kit rebuilds its dist/ in a few seconds.

The admin itself still compiles the libraries from source for now. Consuming their built output is the next step.

Branches

develop is the default and where work lands; main carries releases. The package is not tagged yet -- the platform generation ships as 2.0.0-alpha.N first, and the lockstep set is tagged together.