Indice.Angular

November 7, 2025 · View on GitHub

alt text

Indice.Angular

publish

A collection of Angular libraries providing authentication, configuration, and reusable components for Angular v20+ applications.

Libraries

LibraryNPM VersionDescription
@indice/ng-configNPM VersionIndice dynamic runtime configuration provider for applications
@indice/ng-authNPM VersionIndice extensions for Angular v20 using oidc-client-ts for OpenID Connect authentication
@indice/ng-componentsNPM VersionIndice common components for Angular v20 with Tailwind CSS integration

Prerequisites

  • Angular 20+
  • Node.js 22.19+
  • TypeScript 5.9+

Installation

Install the libraries you need via npm:

# Configuration library
npm install @indice/ng-config

# Authentication library  
npm install @indice/ng-auth oidc-client-ts

# Components library
npm install @indice/ng-components tailwindcss @indice/ng-auth

Quick Start

ng-config

Provides dynamic runtime configuration for Angular applications.

import { NgConfigModule } from '@indice/ng-config';

@NgModule({
  imports: [NgConfigModule.forRoot()]
})
export class AppModule { }

ng-auth

Authentication and authorization using OpenID Connect.

import { NgAuthModule } from '@indice/ng-auth';

@NgModule({
  imports: [NgAuthModule.forRoot({
    authority: 'https://your-identity-server.com',
    client_id: 'your-client-id',
    // additional OIDC configuration
  })]
})
export class AppModule { }

ng-components

Reusable Angular components with Tailwind CSS styling.

import { NgComponentsModule } from '@indice/ng-components';

@NgModule({
  imports: [NgComponentsModule]
})
export class AppModule { }

Development

Prerequisites

  • Node.js 22.19+ (as specified in the GitHub workflow)
  • Angular CLI 20+

Setup

# Clone the repository
git clone https://github.com/indice-co/Indice.Angular.git
cd Indice.Angular

# Install dependencies
npm install

# Build all libraries
npm run build-auth
npm run build-components  
npm run build-config

Available Scripts

CommandDescription
npm startStart the development server
npm run build-authBuild the ng-auth library
npm run build-componentsBuild the ng-components library
npm run build-configBuild the ng-config library
npm run publish-authPublish ng-auth to npm
npm run publish-componentsPublish ng-components to npm
npm run publish-configPublish ng-config to npm
npm run publish-auth-betaPublish ng-auth beta version
npm run publish-components-betaPublish ng-components beta version

Project Structure

Indice.Angular/
├── projects/
│   ├── ng-auth/          # Authentication library
│   ├── ng-components/    # Components library  
│   ├── ng-config/        # Configuration library
│   └── app/              # Demo application
├── dist/                 # Built libraries
├── .github/workflows/    # CI/CD workflows
└── icon/                 # Project assets

Dependencies

Peer Dependencies

All libraries require:

  • @angular/common >= 20.0.0
  • @angular/core >= 20.0.0
  • rxjs >= 7.8.1

Additional dependencies per library:

  • ng-auth: oidc-client-ts >= 3.0.1, @angular/router >= 20.0.0
  • ng-components: tailwindcss ^4.1.16, @indice/ng-auth >= 0.4.0, uuid >= 13.0.0

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Build and test your changes
  5. Commit your changes (git commit -m 'Add some amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Publishing

Libraries are published to npm using GitHub Actions. The workflow can be triggered manually via the GitHub Actions interface.

License

This project is licensed under the MIT License - see the LICENSE file for details.


© 2021-2024 Indice. All rights reserved.