diff --git a/angular.json b/angular.json index 4173faf7e..18e1be87e 100644 --- a/angular.json +++ b/angular.json @@ -483,7 +483,8 @@ "production": { "tsConfig": "projects/aca-about/tsconfig.lib.prod.json" } - } + }, + "defaultConfiguration": "production" }, "test": { "builder": "@angular-devkit/build-angular:karma", @@ -523,7 +524,8 @@ "production": { "tsConfig": "projects/aca-settings/tsconfig.lib.prod.json" } - } + }, + "defaultConfiguration": "production" }, "test": { "builder": "@angular-devkit/build-angular:karma", diff --git a/app/src/app/extensions.module.ts b/app/src/app/extensions.module.ts index 96418e8fa..66e77a2c9 100644 --- a/app/src/app/extensions.module.ts +++ b/app/src/app/extensions.module.ts @@ -29,12 +29,13 @@ import { AcaAboutModule } from '@alfresco/aca-about'; import { AcaSettingsModule } from '@alfresco/aca-settings'; import { AcaFolderRulesModule } from '@alfresco/aca-folder-rules'; import { environment } from '../environments/environment'; +import packageJson from 'package.json'; @NgModule({ imports: [ AosExtensionModule, ...(environment.devTools ? [AcaSettingsModule] : []), - AcaAboutModule.forRoot(environment.production), + AcaAboutModule.forRoot(environment.production, packageJson), AcaFolderRulesModule ] }) diff --git a/package.json b/package.json index 356c53c79..df229ca64 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "prebuild": "mkdir -p ./app/.tmp && cp ./app/src/app.config.json.tpl ./app/.tmp/app.config.json", "build": "ng build content-ce", "build.release": "npm run build -- --configuration=production,release", - "build-libs": "ng build aca-shared && ng build adf-office-services-ext", + "build-libs": "ng build aca-shared && ng build adf-office-services-ext && ng build aca-settings && ng build aca-about ", "test": "ng test", "test:ci": "ng test adf-office-services-ext && ng test content-ce --code-coverage", "lint": "NODE_OPTIONS=--max_old_space_size=4096 ng lint && npm run spellcheck && npm run e2e.typecheck", diff --git a/projects/aca-about/ng-package.json b/projects/aca-about/ng-package.json new file mode 100644 index 000000000..8926e6c1b --- /dev/null +++ b/projects/aca-about/ng-package.json @@ -0,0 +1,11 @@ +{ + "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/@alfresco/aca-about", + + "lib": { + "entryFile": "src/public-api.ts" + }, + "assets": [ + "assets" + ] +} diff --git a/projects/aca-about/package.json b/projects/aca-about/package.json new file mode 100644 index 000000000..c2ec593a6 --- /dev/null +++ b/projects/aca-about/package.json @@ -0,0 +1,11 @@ +{ + "name": "@alfresco/aca-about", + "version": "0.0.1", + "peerDependencies": { + "@angular/common": "^14.1.0", + "@angular/core": "^14.1.0" + }, + "dependencies": { + "tslib": "^2.3.0" + } +} diff --git a/projects/aca-about/src/lib/about.component.html b/projects/aca-about/src/lib/about.component.html index 306181370..5791cb2fc 100644 --- a/projects/aca-about/src/lib/about.component.html +++ b/projects/aca-about/src/lib/about.component.html @@ -15,7 +15,7 @@ - + diff --git a/projects/aca-about/src/lib/about.component.ts b/projects/aca-about/src/lib/about.component.ts index b55b19d34..295271dd5 100644 --- a/projects/aca-about/src/lib/about.component.ts +++ b/projects/aca-about/src/lib/about.component.ts @@ -23,12 +23,12 @@ * along with Alfresco. If not, see . */ -import { Component, Inject, OnInit } from '@angular/core'; +import { Component, Inject, OnInit, Optional } from '@angular/core'; import { DEV_MODE_TOKEN } from './dev-mode.tokens'; -import pkg from 'package.json'; import { Observable } from 'rxjs'; import { AppExtensionService, ExtensionRef } from '@alfresco/adf-extensions'; import { AuthenticationService, DiscoveryApiService, RepositoryInfo } from '@alfresco/adf-core'; +import { PACKAGE_JSON } from './package-json.token'; @Component({ selector: 'app-about-page', @@ -43,12 +43,14 @@ export class AboutComponent implements OnInit { constructor( @Inject(DEV_MODE_TOKEN) devMode, + @Optional() + @Inject(PACKAGE_JSON) + public packageJson, private authService: AuthenticationService, private appExtensions: AppExtensionService, private discovery: DiscoveryApiService ) { this.dev = !devMode; - this.pkg = pkg; this.extensions$ = this.appExtensions.references$; } diff --git a/projects/aca-about/src/lib/aca-about.module.ts b/projects/aca-about/src/lib/aca-about.module.ts index 4359cc050..2f0550fe7 100644 --- a/projects/aca-about/src/lib/aca-about.module.ts +++ b/projects/aca-about/src/lib/aca-about.module.ts @@ -23,7 +23,7 @@ * along with Alfresco. If not, see . */ -import { ModuleWithProviders, NgModule } from '@angular/core'; +import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; import { AboutComponent } from './about.component'; import { CommonModule } from '@angular/common'; import { CoreModule } from '@alfresco/adf-core'; @@ -31,6 +31,7 @@ import { SharedModule, PageLayoutModule } from '@alfresco/aca-shared'; import { ExtensionService, provideExtensionConfig } from '@alfresco/adf-extensions'; import { DEV_MODE_TOKEN } from './dev-mode.tokens'; +import { PACKAGE_JSON } from './package-json.token'; @NgModule({ imports: [CommonModule, CoreModule.forChild(), SharedModule, PageLayoutModule], @@ -44,10 +45,19 @@ export class AcaAboutModule { }); } - public static forRoot(devMode: any): ModuleWithProviders { + public static forRoot(devMode: any, packageJson?: any): ModuleWithProviders { + const providers: Provider[] = [{ provide: DEV_MODE_TOKEN, useValue: devMode }]; + + if (packageJson) { + providers.push({ + provide: PACKAGE_JSON, + useValue: packageJson + }); + } + return { ngModule: AcaAboutModule, - providers: [{ provide: DEV_MODE_TOKEN, useValue: devMode }] + providers }; } } diff --git a/projects/aca-about/src/lib/package-json.token.ts b/projects/aca-about/src/lib/package-json.token.ts new file mode 100644 index 000000000..f30ca52d2 --- /dev/null +++ b/projects/aca-about/src/lib/package-json.token.ts @@ -0,0 +1,3 @@ +import { InjectionToken } from '@angular/core'; + +export const PACKAGE_JSON = new InjectionToken('PACKAGE_JSON'); diff --git a/projects/aca-about/src/public-api.ts b/projects/aca-about/src/public-api.ts index a3fcd24c4..a79a66995 100644 --- a/projects/aca-about/src/public-api.ts +++ b/projects/aca-about/src/public-api.ts @@ -25,3 +25,4 @@ export * from './lib/about.component'; export * from './lib/aca-about.module'; +export * from './lib/package-json.token'; diff --git a/projects/aca-about/tsconfig.lib.prod.json b/projects/aca-about/tsconfig.lib.prod.json index 06de549e1..1715cbee8 100644 --- a/projects/aca-about/tsconfig.lib.prod.json +++ b/projects/aca-about/tsconfig.lib.prod.json @@ -2,7 +2,12 @@ { "extends": "./tsconfig.lib.json", "compilerOptions": { - "declarationMap": false + "declarationMap": false, + "paths": { + "@alfresco/aca-shared": ["dist/@alfresco/aca-shared"], + "@alfresco/aca-shared/store": ["dist/@alfresco/aca-shared/store"], + "@alfresco/aca-shared/rules": ["dist/@alfresco/aca-shared/rules"] + } }, "angularCompilerOptions": { "compilationMode": "partial" diff --git a/projects/aca-settings/ng-package.json b/projects/aca-settings/ng-package.json new file mode 100644 index 000000000..bd5547c88 --- /dev/null +++ b/projects/aca-settings/ng-package.json @@ -0,0 +1,8 @@ +{ + "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", + "dest": "../../dist/@alfresco/aca-settings", + "lib": { + "entryFile": "src/public-api.ts" + }, + "assets": ["assets"] +} diff --git a/projects/aca-settings/package.json b/projects/aca-settings/package.json new file mode 100644 index 000000000..87f8dd283 --- /dev/null +++ b/projects/aca-settings/package.json @@ -0,0 +1,11 @@ +{ + "name": "@alfresco/aca-settings", + "version": "0.0.1", + "peerDependencies": { + "@angular/common": "^14.1.0", + "@angular/core": "^14.1.0" + }, + "dependencies": { + "tslib": "^2.3.0" + } +} diff --git a/projects/aca-settings/tsconfig.lib.prod.json b/projects/aca-settings/tsconfig.lib.prod.json index 06de549e1..1715cbee8 100644 --- a/projects/aca-settings/tsconfig.lib.prod.json +++ b/projects/aca-settings/tsconfig.lib.prod.json @@ -2,7 +2,12 @@ { "extends": "./tsconfig.lib.json", "compilerOptions": { - "declarationMap": false + "declarationMap": false, + "paths": { + "@alfresco/aca-shared": ["dist/@alfresco/aca-shared"], + "@alfresco/aca-shared/store": ["dist/@alfresco/aca-shared/store"], + "@alfresco/aca-shared/rules": ["dist/@alfresco/aca-shared/rules"] + } }, "angularCompilerOptions": { "compilationMode": "partial" diff --git a/scripts/ci/npm/publish-libs.sh b/scripts/ci/npm/publish-libs.sh index ec216eb4f..63a72fb98 100755 --- a/scripts/ci/npm/publish-libs.sh +++ b/scripts/ci/npm/publish-libs.sh @@ -41,6 +41,8 @@ echo -e "Branch is '$TRAVIS_BRANCH', therefore publish with '$TAG_NPM' tag\n" PROJECTS=( 'aca-shared' 'adf-office-services-ext' + 'aca-settings' + 'aca-about' ); for PROJECT in "${PROJECTS[@]}"