{"_id":"@arlioz/flagship-angular-legacy","_rev":"5-9ae6fbe1ef614c5a2b19311f6a4ce46c","name":"@arlioz/flagship-angular-legacy","dist-tags":{"latest":"5.1.0"},"versions":{"1.1.0":{"name":"@arlioz/flagship-angular-legacy","version":"1.1.0","keywords":["feature-flags","feature-toggle","flagship","angular","sdk","legacy"],"license":"MIT","_id":"@arlioz/flagship-angular-legacy@1.1.0","maintainers":[{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"}],"homepage":"https://github.com/ALapaque/FlagShip#readme","bugs":{"url":"https://github.com/ALapaque/FlagShip/issues"},"dist":{"shasum":"8d6d82a6d1ce505d28353850658bacc126f98512","tarball":"https://registry.npmjs.org/@arlioz/flagship-angular-legacy/-/flagship-angular-legacy-1.1.0.tgz","fileCount":8,"integrity":"sha512-ECPB1Vw55HQ1RRiDjlTcm15Sfm0QJr4HDlj343V/4LFN10e0yJoZLSdxb8PUNy7jVRJpdHBkphLzzlNDWOwTGA==","signatures":[{"sig":"MEUCIQDbzGtvwciEqwFseZ/5P6YoD6YSnN6wW6AST601Eoj+FQIgFvt/iArM9mFSWZrDZgQEQv4q0izI0Eq208h9oS7f/84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57740},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"d2cccb42e7865e11994af3accc5d684fa1614e9a","scripts":{"dev":"tsup --watch","lint":"echo 'ok'","test":"vitest run","build":"tsup","clean":"rm -rf dist","test:watch":"vitest","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"},"repository":{"url":"git+https://github.com/ALapaque/FlagShip.git","type":"git","directory":"packages/sdk-angular-legacy"},"_npmVersion":"10.8.2","description":"Official Angular SDK for FlagShip — legacy support for Angular 10-15","directories":{},"sideEffects":false,"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.0","tsup":"^8.5.1","typescript":"^5.4.5","@angular/core":"^15.0.0","@angular/router":"^15.0.0","@arlioz/flagship":"^3.1.1"},"peerDependencies":{"rxjs":">=6.6.0","@angular/core":">=10.0.0 <16","@angular/router":">=10.0.0 <16","@arlioz/flagship":">=3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/flagship-angular-legacy_1.1.0_1773524234703_0.5913670441161474","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@arlioz/flagship-angular-legacy","version":"2.0.0","keywords":["feature-flags","feature-toggle","flagship","angular","sdk","legacy"],"license":"MIT","_id":"@arlioz/flagship-angular-legacy@2.0.0","maintainers":[{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"}],"homepage":"https://github.com/ALapaque/FlagShip#readme","bugs":{"url":"https://github.com/ALapaque/FlagShip/issues"},"dist":{"shasum":"d8fe99d60ef1b774a2382f6257c9360c6cac4bd6","tarball":"https://registry.npmjs.org/@arlioz/flagship-angular-legacy/-/flagship-angular-legacy-2.0.0.tgz","fileCount":8,"integrity":"sha512-V/Qd4LrvpgN1wuRMA6e9NMaNvhjezu3gUqyZ6Zh7DLhWqEklJTBQmnAovHzw5G0eVgMPh181jPcSHdQsSTSXaQ==","signatures":[{"sig":"MEUCIDHAnOzXPMmu+EiTx3YVFWyYok7jJR0vu+Zyv8iyqILWAiEAwsfHnNDVmDAY/YHABCNDDzzV9POQNMEW2SHn9N2I2io=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57740},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"a2dd9ada6d6e28fe0e9ca5117092e9498067312c","scripts":{"dev":"tsup --watch","lint":"echo 'ok'","test":"vitest run","build":"tsup","clean":"rm -rf dist","test:watch":"vitest","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"},"repository":{"url":"git+https://github.com/ALapaque/FlagShip.git","type":"git","directory":"packages/sdk-angular-legacy"},"_npmVersion":"10.8.2","description":"Official Angular SDK for FlagShip — legacy support for Angular 10-15","directories":{},"sideEffects":false,"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.0","tsup":"^8.5.1","typescript":"^5.4.5","@angular/core":"^15.0.0","@angular/router":"^15.0.0","@arlioz/flagship":"^3.2.0"},"peerDependencies":{"rxjs":">=6.6.0","@angular/core":">=10.0.0 <16","@angular/router":">=10.0.0 <16","@arlioz/flagship":">=3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/flagship-angular-legacy_2.0.0_1773527602366_0.3747494219917562","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@arlioz/flagship-angular-legacy","version":"4.0.0","keywords":["feature-flags","feature-toggle","flagship","angular","sdk","legacy"],"license":"MIT","_id":"@arlioz/flagship-angular-legacy@4.0.0","maintainers":[{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"}],"homepage":"https://github.com/ALapaque/FlagShip#readme","bugs":{"url":"https://github.com/ALapaque/FlagShip/issues"},"dist":{"shasum":"d06bf9cf3ea93f6d1ea3fbac0c0d5a836c88e813","tarball":"https://registry.npmjs.org/@arlioz/flagship-angular-legacy/-/flagship-angular-legacy-4.0.0.tgz","fileCount":8,"integrity":"sha512-usGcTDpCkxwdZotb6uNOSIHbSXYNrx+YtxMFVVQxp+jcPYY695ysBXN33Gni0bXz0MU9LB6gWXp31AFRsAQd4Q==","signatures":[{"sig":"MEYCIQDcHld56Ib29XC76f6kmubixzO/8P+0HnaC8SLUc2++jgIhAJ+qTjCH2cw/XcqPCtHSMn4a4LNcwBmAILxK/wDiRkG7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57740},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"29cd0d35c079ba49aea37e03918093feb6674901","scripts":{"dev":"tsup --watch","lint":"echo 'ok'","test":"vitest run","build":"tsup","clean":"rm -rf dist","test:watch":"vitest","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"},"repository":{"url":"git+https://github.com/ALapaque/FlagShip.git","type":"git","directory":"packages/sdk-angular-legacy"},"_npmVersion":"10.8.2","description":"Official Angular SDK for FlagShip — legacy support for Angular 10-15","directories":{},"sideEffects":false,"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.0","tsup":"^8.5.1","typescript":"^5.4.5","@angular/core":"^15.0.0","@angular/router":"^15.0.0","@arlioz/flagship":"^3.4.0"},"peerDependencies":{"rxjs":">=6.6.0","@angular/core":">=10.0.0 <16","@angular/router":">=10.0.0 <16","@arlioz/flagship":">=3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/flagship-angular-legacy_4.0.0_1773873207690_0.42633527070296173","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@arlioz/flagship-angular-legacy","version":"5.0.0","keywords":["feature-flags","feature-toggle","flagship","angular","sdk","legacy"],"license":"MIT","_id":"@arlioz/flagship-angular-legacy@5.0.0","maintainers":[{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"}],"homepage":"https://github.com/ALapaque/FlagShip#readme","bugs":{"url":"https://github.com/ALapaque/FlagShip/issues"},"dist":{"shasum":"f1738d18316e292cb08cfc4a5b1aafbffff312b0","tarball":"https://registry.npmjs.org/@arlioz/flagship-angular-legacy/-/flagship-angular-legacy-5.0.0.tgz","fileCount":8,"integrity":"sha512-5Lynvkl86MpampjZMTMMjehzg2i+jqcJEQ9QNu1064PnXAu0znIGSW/qq1VEmR8Hy0ZNDrXnt5RBaPCGBGlQTQ==","signatures":[{"sig":"MEUCIQC5Mj6e5bsr80K68gQoQfmLd23+08YAFuVG/dwhWC0zawIgNt7tPHxB95YdXLbqOyl2i63GcCM99DDwARojlWJb8t0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57740},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"ea36284e85294584df5a761598b9879f058a80e1","scripts":{"dev":"tsup --watch","lint":"echo 'ok'","test":"vitest run","build":"tsup","clean":"rm -rf dist","test:watch":"vitest","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"},"repository":{"url":"git+https://github.com/ALapaque/FlagShip.git","type":"git","directory":"packages/sdk-angular-legacy"},"_npmVersion":"10.8.2","description":"Official Angular SDK for FlagShip — legacy support for Angular 10-15","directories":{},"sideEffects":false,"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.0","tsup":"^8.5.1","typescript":"^5.4.5","@angular/core":"^15.0.0","@angular/router":"^15.0.0","@arlioz/flagship":"^3.5.0"},"peerDependencies":{"rxjs":">=6.6.0","@angular/core":">=10.0.0 <16","@angular/router":">=10.0.0 <16","@arlioz/flagship":">=3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/flagship-angular-legacy_5.0.0_1773952804560_0.11359032919423084","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@arlioz/flagship-angular-legacy","version":"5.1.0","description":"Official Angular SDK for FlagShip — legacy support for Angular 10-15","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"scripts":{"build":"tsup","dev":"tsup --watch","clean":"rm -rf dist","lint":"echo 'ok'","test":"vitest run","test:watch":"vitest","prepublishOnly":"pnpm run build"},"keywords":["feature-flags","feature-toggle","flagship","angular","sdk","legacy"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ALapaque/FlagShip.git","directory":"packages/sdk-angular-legacy"},"homepage":"https://github.com/ALapaque/FlagShip#readme","sideEffects":false,"peerDependencies":{"@angular/core":">=10.0.0 <16","@angular/router":">=10.0.0 <16","@arlioz/flagship":">=3.5.0","rxjs":">=6.6.0"},"devDependencies":{"@angular/core":"^15.0.0","@angular/router":"^15.0.0","@arlioz/flagship":"^3.7.0","rxjs":"^7.8.0","tsup":"^8.5.1","typescript":"^5.4.5"},"_id":"@arlioz/flagship-angular-legacy@5.1.0","gitHead":"8d8b86e4df6caa95951ca71253a5f0478fe7eb23","bugs":{"url":"https://github.com/ALapaque/FlagShip/issues"},"_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-HBRGLeaFFjoNCT2CHKIJlKP6N/1BeF60TyaeB4Fyj/dlhFDCQa7ZtPJFdRiDvi9mWuA4hkqTid8A0PQ3EuubBA==","shasum":"b16138536b261de0352d2ecc1cf05970af58a6d3","tarball":"https://registry.npmjs.org/@arlioz/flagship-angular-legacy/-/flagship-angular-legacy-5.1.0.tgz","fileCount":8,"unpackedSize":58112,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH5hYeBOjdYRvczjbJ53Ci8GoQVt48tsyr9iONBU9655AiBEHhIdEX8v9jGUZDnr207nQX/Uka1vV9jwvbxkeQiz2g=="}]},"_npmUser":{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"},"directories":{},"maintainers":[{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/flagship-angular-legacy_5.1.0_1776620661981_0.9017558101786871"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-14T21:37:14.633Z","modified":"2026-04-19T17:44:22.265Z","1.1.0":"2026-03-14T21:37:14.854Z","2.0.0":"2026-03-14T22:33:22.520Z","4.0.0":"2026-03-18T22:33:27.877Z","5.0.0":"2026-03-19T20:40:04.733Z","5.1.0":"2026-04-19T17:44:22.127Z"},"bugs":{"url":"https://github.com/ALapaque/FlagShip/issues"},"license":"MIT","homepage":"https://github.com/ALapaque/FlagShip#readme","keywords":["feature-flags","feature-toggle","flagship","angular","sdk","legacy"],"repository":{"type":"git","url":"git+https://github.com/ALapaque/FlagShip.git","directory":"packages/sdk-angular-legacy"},"description":"Official Angular SDK for FlagShip — legacy support for Angular 10-15","maintainers":[{"name":"amaurylapaque","email":"amaury.lapaque@arlioz.be"}],"readme":"<p align=\"center\">\n  <img src=\"https://img.shields.io/badge/coverage-99%25-22c55e?labelColor=0a0a0a&style=flat-square\" alt=\"coverage\" />\n  <a href=\"https://github.com/ALapaque/FlagShip/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-22c55e?labelColor=0a0a0a&style=flat-square\" alt=\"license\" /></a>\n</p>\n\n# @arlioz/flagship-angular-legacy\n\nOfficial Angular SDK for [FlagShip](https://github.com/ALapaque/FlagShip) — legacy support for **Angular 10 to 15**.\n\n> For Angular 16+, use [`@arlioz/flagship-angular`](https://www.npmjs.com/package/@arlioz/flagship-angular) which includes Signal support, standalone components, and functional guards.\n\n## Installation\n\n```bash\nnpm install @arlioz/flagship @arlioz/flagship-angular-legacy\n```\n\n## Setup\n\n```typescript\n// app.module.ts\nimport { FlagShipModule } from '@arlioz/flagship-angular-legacy'\n\n@NgModule({\n  imports: [\n    FlagShipModule.forRoot({\n      apiKey: 'flg_production_...',\n      baseUrl: 'https://api.flagship.dev/api',\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n## Usage\n\n### RxJS API\n\n```typescript\nimport { Component } from '@angular/core'\nimport { FlagShipService } from '@arlioz/flagship-angular-legacy'\n\n@Component({\n  selector: 'app-feature',\n  template: `\n    <div *ngIf=\"darkMode$ | async\">Dark mode is enabled!</div>\n    <p>Welcome: {{ welcomeMsg$ | async }}</p>\n  `,\n})\nexport class FeatureComponent {\n  constructor(private flagship: FlagShipService) {}\n\n  darkMode$ = this.flagship.getFlag('dark-mode', false)\n  welcomeMsg$ = this.flagship.getFlag('welcome-message', 'Hello!')\n}\n```\n\n### Structural Directive\n\n```html\n<div *ifFlag=\"'beta-feature'; else fallback\">Welcome to the beta!</div>\n<ng-template #fallback>\n  <p>This feature is coming soon.</p>\n</ng-template>\n```\n\n### Pipe\n\n```html\n<h1>{{ 'welcome-message' | flagValue:'Hello, World!' }}</h1>\n```\n\n### Route Guard\n\nUse `FlagShipGuard` with route data to protect routes behind feature flags:\n\n```typescript\nimport { FlagShipGuard } from '@arlioz/flagship-angular-legacy'\n\nconst routes: Routes = [\n  {\n    path: 'beta-dashboard',\n    component: BetaDashboardComponent,\n    canActivate: [FlagShipGuard],\n    data: { flagKey: 'beta-dashboard', redirectTo: '/home' },\n  },\n]\n```\n\n### User Targeting\n\n```typescript\n@Component({\n  /* ... */\n})\nexport class AppComponent {\n  constructor(private flagship: FlagShipService) {}\n\n  async onLogin(user: { id: string; plan: string }) {\n    await this.flagship.identify(user.id, { plan: user.plan })\n  }\n}\n```\n\n## API Reference\n\n### `FlagShipService`\n\n| Method                                  | Return                            | Description                             |\n| --------------------------------------- | --------------------------------- | --------------------------------------- |\n| `getFlag<T>(key, defaultValue)`         | `Observable<T>`                   | Single flag value, emits only on change |\n| `getFlags()`                            | `Observable<Record<string, any>>` | All flag values                         |\n| `getFlagSnapshot<T>(key, defaultValue)` | `T`                               | Synchronous read from cache             |\n| `identify(userId, attributes?)`         | `Promise<void>`                   | Update user context and re-fetch flags  |\n\n### `IfFlagDirective`\n\n```html\n<div *ifFlag=\"'flag-key'\">Shown when flag is true</div>\n<div *ifFlag=\"'flag-key'; else other\">With else template</div>\n```\n\n### `FlagValuePipe`\n\n```html\n{{ 'flag-key' | flagValue:'default value' }}\n```\n\n### `FlagShipGuard`\n\nClass-based `CanActivate` guard. Configure via route `data`:\n\n| Data property | Type     | Default | Description                        |\n| ------------- | -------- | ------- | ---------------------------------- |\n| `flagKey`     | `string` | —       | Feature flag key to check          |\n| `redirectTo`  | `string` | `'/'`   | Redirect URL when flag is disabled |\n\n## Compatibility\n\n| Angular | Status    |\n| ------- | --------- |\n| 10.x    | Supported |\n| 11.x    | Supported |\n| 12.x    | Supported |\n| 13.x    | Supported |\n| 14.x    | Supported |\n| 15.x    | Supported |\n\n## Migrating to `@arlioz/flagship-angular`\n\nWhen upgrading to Angular 16+, switch to `@arlioz/flagship-angular` for:\n\n- **Signal API** — `flag()` and `flags()` for zoneless change detection\n- **Standalone components** — `provideFlagShip()` without NgModule\n- **Functional guards** — `flagGuard()` instead of class-based `FlagShipGuard`\n\n## License\n\nMIT\n","readmeFilename":"README.md"}