From 7ddc938b06c640016ad5be99428896142f9066af Mon Sep 17 00:00:00 2001 From: Adetunji Oyebanji Date: Mon, 27 Jan 2025 17:23:34 +0000 Subject: [PATCH 1/3] CURE-584: Revert algoliaseach upgrade --- apps/e-commerce/src/app/app.component.ts | 10 +++++----- libs/angular-instantsearch/package.json | 2 +- .../src/create-ssr-search-client.ts | 11 +++++++++-- .../src/instantsearch/instantsearch.ts | 10 +++++----- package.json | 2 +- 5 files changed, 21 insertions(+), 14 deletions(-) diff --git a/apps/e-commerce/src/app/app.component.ts b/apps/e-commerce/src/app/app.component.ts index 16dd06715..f62416169 100644 --- a/apps/e-commerce/src/app/app.component.ts +++ b/apps/e-commerce/src/app/app.component.ts @@ -1,14 +1,14 @@ import { Component, AfterViewInit } from '@angular/core'; -import { liteClient } from 'algoliasearch/lite'; +import algoliasearch from 'algoliasearch/lite'; @Component({ - selector: 'app-root', - templateUrl: './app.component.html', - standalone: false + selector: 'app-root', + templateUrl: './app.component.html', + standalone: false, }) export class AppComponent implements AfterViewInit { config = { - searchClient: liteClient('latency', '6be0576ff61c053d5f9a3225e2a90f76'), + searchClient: algoliasearch('latency', '6be0576ff61c053d5f9a3225e2a90f76'), indexName: 'instant_search', routing: true, }; diff --git a/libs/angular-instantsearch/package.json b/libs/angular-instantsearch/package.json index afa566a16..1e6a95a0c 100644 --- a/libs/angular-instantsearch/package.json +++ b/libs/angular-instantsearch/package.json @@ -4,7 +4,7 @@ "peerDependencies": { "@angular/common": ">=17.0.0 <20.0.0", "@angular/core": ">=17.0.0 <20.0.0", - "algoliasearch": "^5.1.1", + "algoliasearch": "^4.22.1", "algoliasearch-helper": "^3.16.3", "instantsearch.js": "^4.75.7", "nouislider": "^10.0.0", diff --git a/libs/angular-instantsearch/src/create-ssr-search-client.ts b/libs/angular-instantsearch/src/create-ssr-search-client.ts index 82c3534a8..27468ac75 100644 --- a/libs/angular-instantsearch/src/create-ssr-search-client.ts +++ b/libs/angular-instantsearch/src/create-ssr-search-client.ts @@ -1,4 +1,4 @@ -import { liteClient as algoliasearchProxy, SearchTypeDefault } from 'algoliasearch/lite'; +import * as algoliasearchProxy from 'algoliasearch/lite'; import * as encodeProxy from 'querystring-es3/encode'; import { VERSION as AngularVersion, @@ -30,7 +30,14 @@ type RequestOptions = { // compatibility with different typescript settings: // - esModuleInterop // - allowSyntheticDefaultImports -const algoliasearch = algoliasearchProxy; +const algoliasearch = ( + typeof algoliasearchProxy.default === 'function' + ? algoliasearchProxy.default + : algoliasearchProxy +// eslint-disable-next-line @typescript-eslint/ban-types +) as typeof algoliasearchProxy.default extends Function + ? typeof algoliasearchProxy.default + : typeof algoliasearchProxy; const encode = encodeProxy.default || encodeProxy; diff --git a/libs/angular-instantsearch/src/instantsearch/instantsearch.ts b/libs/angular-instantsearch/src/instantsearch/instantsearch.ts index e80673d76..58648c4c0 100644 --- a/libs/angular-instantsearch/src/instantsearch/instantsearch.ts +++ b/libs/angular-instantsearch/src/instantsearch/instantsearch.ts @@ -12,7 +12,7 @@ import { VERSION as AngularVersion, } from '@angular/core'; -import { liteClient } from 'algoliasearch/lite'; +import * as algoliasearchProxy from 'algoliasearch/lite'; import instantsearch from 'instantsearch.js/es'; import { Widget } from '../typed-base-widget'; @@ -22,7 +22,7 @@ export { SearchClient, Hit } from 'instantsearch.js/es/types'; export { PlainSearchParameters as SearchParameters } from 'algoliasearch-helper'; // this is needed for different webpack/typescript configurations -const _algoliasearch = liteClient; +const _algoliasearch = algoliasearchProxy.default || algoliasearchProxy; export type FacetSortByStringOptions = | 'count' @@ -37,9 +37,9 @@ export type InstantSearchConfig = InstantSearchOptions; export type InstantSearchInstance = InstantSearch; @Component({ - selector: 'ais-instantsearch', - template: '', - standalone: false + selector: 'ais-instantsearch', + template: '', + standalone: false, }) export class NgAisInstantSearch implements AfterViewInit, OnInit, OnDestroy { @Input() public config: InstantSearchConfig; diff --git a/package.json b/package.json index 5fa682f04..435beb8de 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "@angular/platform-server": "19.0.7", "@angular/router": "19.0.7", "@angular/ssr": "19.0.7", - "algoliasearch": "^5.1.1", + "algoliasearch": "^4.22.1", "algoliasearch-helper": "^3.16.3", "express": "^4.15.2", "instantsearch.css": "^7.3.1", From 7de4b8d6af09f8084078c06ff21ab554f95e600b Mon Sep 17 00:00:00 2001 From: Adetunji Oyebanji Date: Mon, 27 Jan 2025 17:23:53 +0000 Subject: [PATCH 2/3] CURE-584: Fix type error --- .../app/reset-filters-mobile/reset-filters-mobile.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/e-commerce/src/app/reset-filters-mobile/reset-filters-mobile.component.ts b/apps/e-commerce/src/app/reset-filters-mobile/reset-filters-mobile.component.ts index 53b5bf9e0..39f2e340e 100644 --- a/apps/e-commerce/src/app/reset-filters-mobile/reset-filters-mobile.component.ts +++ b/apps/e-commerce/src/app/reset-filters-mobile/reset-filters-mobile.component.ts @@ -21,7 +21,7 @@ import { connectClearRefinements } from 'instantsearch.js/es/connectors'; `, standalone: false }) -export class ResetFiltersMobile extends BaseWidget { +export class ResetFiltersMobile extends BaseWidget> { public state = { hasRefinements: false, refine: () => {}, From c56b6b4e0c40479c6ceba6f57bf4fa3c62295b90 Mon Sep 17 00:00:00 2001 From: Adetunji Oyebanji Date: Mon, 27 Jan 2025 17:25:29 +0000 Subject: [PATCH 3/3] CURE-584: Updated version --- libs/angular-instantsearch/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/angular-instantsearch/package.json b/libs/angular-instantsearch/package.json index 1e6a95a0c..3b68e01f2 100644 --- a/libs/angular-instantsearch/package.json +++ b/libs/angular-instantsearch/package.json @@ -1,6 +1,6 @@ { "name": "@carnegie-learning/angular-instantsearch", - "version": "6.0.0", + "version": "6.0.1", "peerDependencies": { "@angular/common": ">=17.0.0 <20.0.0", "@angular/core": ">=17.0.0 <20.0.0",