From 79ee677417f74521f61c432ecb29fc05f843b686 Mon Sep 17 00:00:00 2001 From: petarmarkov9449 <166535589+petarmarkov9449@users.noreply.github.com> Date: Mon, 27 Jan 2025 10:42:54 +0100 Subject: [PATCH 1/8] fix: (CXSPA-8997 & 8988) - Resolve Aria Issues in NavigationUIComponent (#19782) --- .../feature-toggles/config/feature-toggles.ts | 7 ++ .../spartacus/spartacus-features.module.ts | 1 + .../navigation/navigation-ui.component.html | 68 ++++++++++++------- .../navigation-ui.component.spec.ts | 29 ++++---- .../navigation/navigation-ui.component.ts | 14 ++++ 5 files changed, 80 insertions(+), 39 deletions(-) diff --git a/projects/core/src/features-config/feature-toggles/config/feature-toggles.ts b/projects/core/src/features-config/feature-toggles/config/feature-toggles.ts index 51d45448ebe..ca3ac570fa7 100644 --- a/projects/core/src/features-config/feature-toggles/config/feature-toggles.ts +++ b/projects/core/src/features-config/feature-toggles/config/feature-toggles.ts @@ -811,6 +811,12 @@ export interface FeatureTogglesInterface { */ a11yAddPaddingToCarouselPanel?: boolean; + /** + * Removes invalid aria-level usage on button elements and ensures buttons have a proper accessible name via aria-label or aria-labelledby. + * Affects: NavigationUIComponent + */ + a11yNavigationButtonsAriaFixes?: boolean; + /** * Restores the focus to the card once a option has been selected and the checkout has updated. * Affects: CheckoutPaymentMethodComponent, CheckoutDeliveryAddressComponent @@ -1114,6 +1120,7 @@ export const defaultFeatureToggles: Required = { a11yQuickOrderSearchBoxRefocusOnClose: false, a11yKeyboardFocusInSearchBox: false, a11yAddPaddingToCarouselPanel: false, + a11yNavigationButtonsAriaFixes: false, a11yFocusOnCardAfterSelecting: false, a11ySearchableDropdownFirstElementFocus: false, a11yHideConsentButtonWhenBannerVisible: false, diff --git a/projects/storefrontapp/src/app/spartacus/spartacus-features.module.ts b/projects/storefrontapp/src/app/spartacus/spartacus-features.module.ts index ab1c1fa6c9b..9623bf6507b 100644 --- a/projects/storefrontapp/src/app/spartacus/spartacus-features.module.ts +++ b/projects/storefrontapp/src/app/spartacus/spartacus-features.module.ts @@ -424,6 +424,7 @@ if (environment.cpq) { a11yQuickOrderSearchBoxRefocusOnClose: true, a11yKeyboardFocusInSearchBox: true, a11yAddPaddingToCarouselPanel: true, + a11yNavigationButtonsAriaFixes: true, a11yFocusOnCardAfterSelecting: true, a11ySearchableDropdownFirstElementFocus: true, a11yHideConsentButtonWhenBannerVisible: true, diff --git a/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.html b/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.html index eb8c9e4a790..0eb6be824c6 100644 --- a/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.html +++ b/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.html @@ -105,29 +105,49 @@ - + + + + + + @@ -144,7 +164,7 @@
diff --git a/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.spec.ts b/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.spec.ts index 790a9e51c70..7513b158589 100644 --- a/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.spec.ts +++ b/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.spec.ts @@ -317,10 +317,10 @@ describe('Navigation UI Component', () => { .query(By.css('nav > ul > li:nth-child(2) > button')) .nativeElement.click(); element - .query(By.css('button[aria-controls="Child 1"]')) + .query(By.css('button[aria-controls="child-1"]')) .nativeElement.click(); element - .query(By.css('button[aria-controls="Sub child 1"]')) + .query(By.css('button[aria-controls="sub-child-1"]')) .nativeElement.click(); expect(element.queryAll(By.css('li.is-open:not(.back)')).length).toBe(1); @@ -365,10 +365,10 @@ describe('Navigation UI Component', () => { it('should apply role="heading" to nested dropdown trigger button while on desktop', () => { fixture.detectChanges(); const nestedTriggerButton = fixture.debugElement.query( - By.css('button[aria-controls="Child 1"]') + By.css('button[aria-controls="child-1"]') ).nativeElement; const rootTriggerButton = fixture.debugElement.query( - By.css('button[aria-controls="Root 1"]') + By.css('button[aria-controls="root-1"]') ).nativeElement; expect(nestedTriggerButton.getAttribute('role')).toEqual('heading'); @@ -385,7 +385,7 @@ describe('Navigation UI Component', () => { const spy = spyOn(navigationComponent, 'toggleOpen'); const spaceEvent = new KeyboardEvent('keydown', { code: 'Space' }); const dropDownButton = element.query( - By.css('button[aria-controls="Sub child 1"]') + By.css('button[aria-controls="sub-child-1"]') ).nativeElement; Object.defineProperty(spaceEvent, 'target', { value: dropDownButton }); @@ -399,7 +399,7 @@ describe('Navigation UI Component', () => { const spy = spyOn(firstChild.nativeElement, 'focus'); const spaceEvent = new KeyboardEvent('keydown', { code: 'Space' }); const dropDownButton = element.query( - By.css('button[aria-controls="Sub child 1"]') + By.css('button[aria-controls="sub-child-1"]') ).nativeElement; Object.defineProperty(spaceEvent, 'target', { value: dropDownButton }); @@ -420,7 +420,7 @@ describe('Navigation UI Component', () => { }); const spaceEvent = new KeyboardEvent('keydown', { code: 'Space' }); const dropDownButton = element.query( - By.css('button[aria-controls="Sub child 1"]') + By.css('button[aria-controls="sub-child-1"]') ).nativeElement; Object.defineProperty(spaceEvent, 'target', { value: dropDownButton }); Object.defineProperty(arrowDownEvent, 'target', { @@ -471,22 +471,21 @@ describe('Navigation UI Component', () => { const childNode = rootNode?.children?.[0]; const rootTitle = rootNode?.title; const childTitle = childNode?.title; + const sanitizedRootTitle = + navigationComponent.getSanitizedTitle(rootTitle); + const sanitizedChildTitle = + navigationComponent.getSanitizedTitle(childTitle); + fixture.detectChanges(); const nestedTriggerButton = fixture.debugElement.query( - By.css(`button[aria-label="${childTitle}"]`) + By.css(`button[aria-label="${sanitizedRootTitle}"]`) ).nativeElement; const rootTriggerButton = fixture.debugElement.query( - By.css(`button[aria-label="${rootTitle}"]`) + By.css(`button[aria-label="${sanitizedChildTitle}"]`) ).nativeElement; expect(nestedTriggerButton).toBeDefined(); expect(rootTriggerButton).toBeDefined(); - expect(rootTriggerButton.getAttribute('title')).toEqual( - `navigation.menuButonTitle title:${rootTitle}` - ); - expect(nestedTriggerButton.getAttribute('title')).toEqual( - `navigation.menuButonTitle title:${childTitle}` - ); }); }); }); diff --git a/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.ts b/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.ts index 893a4c9072d..e4eca55899a 100644 --- a/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.ts +++ b/projects/storefrontlib/cms-components/navigation/navigation/navigation-ui.component.ts @@ -397,4 +397,18 @@ export class NavigationUIComponent implements OnInit, OnDestroy { } return depth > 0 && !node?.children ? -1 : 0; } + + /** + * // Replace spaces with hyphens and convert to lowercase + */ + getSanitizedTitle(title: string | undefined): string | null { + return title ? title.replace(/\s+/g, '-').toLowerCase() : null; + } + + /** + * Returns the value for the `aria-control` and the `aria-label` attribute of a button. + */ + getAriaLabelAndControl(node: NavigationNode): string | null { + return this.getSanitizedTitle(node.title) || null; + } } From f51aa3ec4fb0bf2b9f82f2eb3eb792bbe0c7a611 Mon Sep 17 00:00:00 2001 From: Krzysztof Platis Date: Mon, 27 Jan 2025 15:31:36 +0100 Subject: [PATCH 2/8] doc: 2 guides on modernizing apps: for apps migrated to 2211.19 and for apps migrated to 2211.35 release (#19924) **Changes in the PR:** - This PR adds 2 guides: 1. for apps migrated to Spa 2211.19 (ng17) in the past - so they are modernized and mimic a new ng17 apps 2. for apps migrated to Spa 2211.35 (ng19) - so they are modernized and mimic a new ng19 apps - Moreover this PR adjusts the main migration guide for 2211.35 (ng19), so it mentions the 2 introduced other guides - the first as a prerequisite and the second as a follow-up (to be prepared better for future next migrations). - by the way, this PR fixes also an unrelated small glitch in the Bootstrap migration guide **Why 2 new guides are needed:** - Apps migrated from ng15 to ng17 are configured very differently than apps created initially in ng17. Analogically, apps migrated from ng17 to ng19 are configured a bit differently than apps created initially in ng19. And unfortunately the old configuration is a tech dept that prevents customers from benefiting from some new Angular's features (e.g. faster app builds) and this dept is makes also next future migrations of Angular and Spartacus more complex. - To be future-proof and to make future next migrations easier, we should help all customers' apps not only to be migrated but also be modernized to use the same new configuration and look like new ng19 apps. This helps both customers and the Spartacus team: - customers apps are as modern as possible and easier to migrate to the future versions of Angular and benefit from new Angular's features - Spartacus team can spend less time on preparing migrations, because they doesn't need to test scenarios of migrating different apps differently (i.e. apps having different level of legacy configuration): 1. new ng19 app 1. ng17 app migrated to ng19 but not modernized - with legacy config 1. ng15 app migrated to ng17 but not modernized, and then migrated to ng19 but not modernized even more - with double legacy config fixes https://jira.tools.sap/browse/CXSPA-9217 --- docs/migration/2211_35/bootstrap.md | 8 +- docs/migration/2211_35/migration.md | 63 ++- ...e-apps-migrated-from-2211.32-to-2211.35.md | 140 ++++++ ...rnize-apps-migrated-from-6.8-to-2211.19.md | 430 ++++++++++++++++++ 4 files changed, 633 insertions(+), 8 deletions(-) create mode 100644 docs/migration/2211_35/modernize-apps-migrated-from-2211.32-to-2211.35.md create mode 100644 docs/migration/2211_35/modernize-apps-migrated-from-6.8-to-2211.19.md diff --git a/docs/migration/2211_35/bootstrap.md b/docs/migration/2211_35/bootstrap.md index 6e6f9601123..7ba0e99078a 100644 --- a/docs/migration/2211_35/bootstrap.md +++ b/docs/migration/2211_35/bootstrap.md @@ -52,12 +52,18 @@ @import '@spartacus/styles/vendor/bootstrap/scss/reboot'; ``` -4. Some libraries have stopped importing Bootstrap-related styles. Instead, these styles should now be imported directly within the application. For example, the lib-cart.scss file should include the following imports: +4. Some libraries have stopped importing Bootstrap-related styles. Instead, these styles should now be imported directly within the application. For example, the `cart.scss` file should include the following imports: ```scss // original imports @import '../styles-config'; @import '@spartacus/cart'; +``` + +```scss // new imports +@import '../styles-config'; +@import '@spartacus/cart'; + @import '@spartacus/styles/vendor/bootstrap/scss/functions'; @import '@spartacus/styles/vendor/bootstrap/scss/variables'; @import '@spartacus/styles/vendor/bootstrap/scss/_mixins'; diff --git a/docs/migration/2211_35/migration.md b/docs/migration/2211_35/migration.md index 5ba4f7278b2..699ef74bd12 100644 --- a/docs/migration/2211_35/migration.md +++ b/docs/migration/2211_35/migration.md @@ -1,12 +1,14 @@ -# (EARLY NOTES) Migrating a custom app to use Spartacus with Angular v18 +# Migrating a custom app to use Spartacus 2211.35 with Angular 19 Before upgrading Spartacus to the new version with Angular 18, you need to first: +- **If you've upgraded in the past from Spartacus 6.8 to 2211.19, please first follow the guide**: [Modernize Spartacus apps migrated from 6.8 to 2211.19](./modernize-apps-migrated-from-6.8-to-2211.19.md) and only then please get back here. But apps created initially with Spartacus 2211.19+ should skip this step. - upgrade Spartacus to version 2211.32.1 - install Node 22 version -- upgrade `@types/node` to version 22 +- if your project uses SSR (Server-Side Rendering), please upgrade `@types/node` to version 22 + ```bash - npm i @types/node@22 + npm i @types/node@22 -D ``` - upgrade Angular to version v18 and then to v19 @@ -16,7 +18,11 @@ Before upgrading Spartacus to the new version with Angular 18, you need to first > **Warning** > -> Do not select `use-application-builder` migration when migrating to Angular 18. Applications created before SPA 2211.19 doesn't support this builder. Applications created starting from 2211.19 already support it. +> While migrating to Angular 18, you'll be asked whether to run the `use-application-builder` migration: +> +> `❯◯ [use-application-builder] Migrate application projects to the new build system.` +> +> Please do not select this migration, i.e. make sure the circle checkbox is empty `◯ [use-application-builder]` and only then hit ENTER. Follow the [Angular guidelines for upgrading from v17 to v18](https://angular.dev/update-guide?v=17.0-18.0&l=3) and bump the Angular version locally, and update other 3rd party dependencies from Angular ecosystem to versions compatible with Angular 18 (e.g. `@ng-select/ng-select@13`, `@ngrx/store@18`, `ngx-infinite-scroll@18`): @@ -31,7 +37,12 @@ git commit -m "update angular 18 and 3rd party deps angular 18 compatible" > **Warning** > -> Hit SPACE to unselect `use-application-builder` migration when migrating to Angular 19. Applications created before SPA 2211.19 doesn't support this builder. Applications created starting from 2211.19 already support it. +> While migrating to Angular 19, you'll be asked again whether to run the `use-application-builder` migration, but this time it will be preselected: +> +> `❯◉ [use-application-builder] Migrate application projects to the new build system.` +> +> Please unselect select this migration, i.e. first hit SPACE to make the circle checkbox empty `◯ [use-application-builder]` and only then hit ENTER. + Follow the [Angular guidelines for upgrading from v18 to v19](https://angular.dev/update-guide?v=18.0-19.0&l=3) and bump the Angular version locally, and update other 3rd party dependencies from Angular ecosystem to versions compatible with Angular 19 (e.g. `@ng-select/ng-select@14`, `@ngrx/store@19`, `ngx-infinite-scroll@19`): @@ -48,12 +59,12 @@ git commit -m "update angular 19 and 3rd party deps angular 19 compatible" After successfully updating the application to Angular 19, execute this command to initiate the Spartacus update process. ```bash -ng update @spartacus/schematics@latest +ng update @spartacus/schematics@2211.35 ``` ### If using Server Side Rendering (SSR) and `application` builder -For applications with SSR support that use the Angular's `application` builder (i.e. having in `angular.json` the following value: `... "architect": { "build": { "builder": "@angular-devkit/build-angular:application", ...`), you need to adjust the `server.ts` file to be compatible with the output generated by this builder. +For applications with SSR support you need to adjust the `server.ts`: ```diff /* ... */ @@ -61,6 +72,44 @@ For applications with SSR support that use the Angular's `application` builder ( + const indexHtml = join(serverDistFolder, 'index.server.html'); ``` +## Adjust the Bootstrap usage + +Spartacus internalized the Bootstrap 4 styles, so you don't need the Bootstrap being installed in your project anymore. + +Please follow the guide: [Spartacus migration - Bootstrap](./bootstrap.md) + +## Silence Sass deprecation warnings + +In `angular.json` in the section `architect > build > options > stylePreprocessorOptions` please add the property with object `"sass": { "silenceDeprecations": ["import"] }` + +```diff + "stylePreprocessorOptions": { + "includePaths": ["node_modules/"], ++ "sass": { ++ "silenceDeprecations": ["import"] ++ } + } +``` + +**Why it's needed:** +We need to silence the deprecation warnings for the Sass `@import` because `@import` is used in the Spartacus styles and in the Bootstrap 4 styles (which are imported by the Spartacus styles). + +Otherwise, Angular CLI v19 would pollute the terminal with a wall of deprecation warnings when running `ng serve`, making the developer experience less pleasant. + +In the future, we plan to remove all the Sass `@import` usages from the Spartacus styles and drop the usage of Bootstrap 4, and only then we will be able to remove the `silenceDeprecations` option. + +For more, see: + +- https://sass-lang.com/blog/import-is-deprecated +- https://angular.dev/reference/configs/workspace-config#style-preprocessor-options + +## Modernize your app migrated to Angular 19, so it looks like a new Angular 19 app + +Now you've migrated your app to Angular 19 and Spartacus 2211.35, but it's not the end of the migration process. + +Apps migrated to Angular 19 are not configured exactly the same as the new Angular 19 apps. +It is good to modernize your app to look like a new Angular 19 app, because it will help with migrations to future next versions of Angular and Spartacus. So now please follow the last guide: [Modernize Spartacus app migrated from 2211.32 to 2211.35](./modernize-apps-migrated-from-2211.32-to-2211.35.md) + diff --git a/docs/migration/2211_35/modernize-apps-migrated-from-2211.32-to-2211.35.md b/docs/migration/2211_35/modernize-apps-migrated-from-2211.32-to-2211.35.md new file mode 100644 index 00000000000..91f7f8c4553 --- /dev/null +++ b/docs/migration/2211_35/modernize-apps-migrated-from-2211.32-to-2211.35.md @@ -0,0 +1,140 @@ +# Modernize apps upgraded from Angular v2211.32 to v2211.35 + +New Angular 19 apps are configured a bit differently than the Angular 17 apps migrated to v19. This document is a migration guide for modernizing the migrated apps to look as much as possible like the new Angular 19 apps. + +### `angular.json` + +1. In the section `architect > build > options > assets`, please replace 2 string values in the array: `"src/favicon.ico"` and `"src/assets"` with a single object `{ "glob": "**/*", "input": "public" }` + +```diff + "assets": [ +- "src/favicon.ico", +- "src/assets" ++ { ++ "glob": "**/*", ++ "input": "public" ++ }, +``` + +2. Please do the same but now in the `test` section - `architect > test > options > assets`. + + +### `tsconfig.json` + +In the `"compilerOptions"` section, please: + +- add a new option `"isolatedModules": true`, +- remove options `"sourceMap": true`, `"declaration": false`, `"useDefineForClassFields": false`, `"lib": ["ES2022", "dom"]` +- change the value of `"moduleResolution"` from `"node"` to `"bundler"` + +```diff + "compilerOptions": { ++ "isolatedModules": true, +- "sourceMap": true, +- "declaration": false, +- "moduleResolution": "node", ++ "moduleResolution": "bundler", +- "useDefineForClassFields": false, +- "lib": [ +- "ES2022", +- "dom" +- ] +``` + + +### `src/assets` + +1. Please rename the folder to `/public` +2. Please move this folder up to the project's root folder. + +Example command on Mac/Linux: + +```bash +mv src/assets public +``` + +### `src/favicon.ico` + +Please move the file to the folder `/public`. + +Example command on Mac/Linux: + +```bash +mv src/favicon.ico public +``` + +### `src/main.ts` + +Please add an option `{ ngZoneEventCoalescing: true }` to the second argument of the`platformBrowserDynamic().bootstrapModule()` call. + +```diff +- platformBrowserDynamic().bootstrapModule(AppModule) ++ platformBrowserDynamic().bootstrapModule(AppModule, { ++ ngZoneEventCoalescing: true, ++ }) +``` + +## For SSR projects, additionally: + +### `server.ts` + +1. Please move the file from the root folder to the folder `/src` + `server.ts` -> `src/server.ts` + +Example command on Mac/Linux: + +```bash +mv server.ts src/server.ts +``` + +2. In the contents of the file, please replace the import path of `AppServerModule` from `./src/main.server` to `./main.server` + +```diff +-import AppServerModule from './src/main.server'; ++import AppServerModule from './main.server'; +``` + + +### `angular.json` + +In the section `architect > build > options > ssr > entry` please replace the value `"server.ts"` to `"src/server.ts"` + +```diff + "ssr": { +- "entry": "server.ts" ++ "entry": "src/server.ts" + } +``` + +### `tsconfig.app.json` + +In the `"files"` array, please change the item `"server.ts"` to `"src/server.ts"` + +```diff + "files": [ + "src/main.ts", + "src/main.server.ts", +- "server.ts" ++ "src/server.ts" + ], +``` + +## For projects using lazy loaded i18n + +If your project uses [lazy loaded i18n](https://help.sap.com/docs/SAP_COMMERCE_COMPOSABLE_STOREFRONT/eaef8c61b6d9477daf75bff9ac1b7eb4/775e61ed219c4999852d43be5244e94a.html?q=i18n#lazy-loading) and if you stored your i18n files in the `src/assets/` folder, now you've just moved them to the `public/` folder. + +So please update the Spartacus config for the lazy loading of i18n files (likely in your `spartacus-configuration.module.ts` file) to use the new path: + +```diff + providers: [ + provideConfig({ + i18n: { + backend: { + loader: (lng: string, ns: string) => +- import(`../../assets/i18n-assets/${lng}/${ns}.json`), ++ import(`../../../public/i18n-assets/${lng}/${ns}.json`), +``` + +## Congratulations! + +Congratulations! You've modernized your app to look like a new Angular 19 app. diff --git a/docs/migration/2211_35/modernize-apps-migrated-from-6.8-to-2211.19.md b/docs/migration/2211_35/modernize-apps-migrated-from-6.8-to-2211.19.md new file mode 100644 index 00000000000..ee8eaddc2d2 --- /dev/null +++ b/docs/migration/2211_35/modernize-apps-migrated-from-6.8-to-2211.19.md @@ -0,0 +1,430 @@ +# Modernize apps upgraded from Spartacus 6.8 to 2211.19 + +Angular v17 introduced a new Angular CLI configuration format, which was not recommended initially by the Spartacus team with v2211.19 due to initial compatibility issues. + +Now Spartacus team recommends to use the new Angular CLI configuration format and provides the detailed migration guide. **This guide is applicable only for the apps migrated previously from Spartacus 6.8 to 2211.19** (i.e. from Angular v15 to v17). In other words, the apps created initially with Spartacus 2211.19+ should skip this guide. + +The benefits of using the new Angular configuration format are: +- faster builds: application builds are quicker, making life easier and saving time for developers +- being future-proof: any new Angular and Spartacus features might require you to use the new configuration format as a prerequisite + +The side-effect consequences of using the new configuration format are: +- For SSR apps: the server-side rendering and prerendering scripts will be executed differently (it will be explained in the last section of this page "[New commands for SSR projects](#new-commands-for-ssr-projects)") + +Here are the migration steps in detail: + +## Migration to the new Angular `application` builder + +### `angular.json` + +1. In the section `architect > build` please change the value `"builder": "@angular-devkit/build-angular:browser",` + to `"builder": "@angular-devkit/build-angular:application",` + +```diff + "architect": { + "build": { +- "builder": "@angular-devkit/build-angular:browser", ++ "builder": "@angular-devkit/build-angular:application", +``` + +Why: we're configuring here the new `application` builder for Angular v17 and later, which is the recommended fast and future-proof builder for Angular v17 and later. + +1. In the section `architect > build > options` please apply the all the following modifications, to adapt to the new configuration format for the new builder: + +2.1 In the property `"outputPath"` please remove the ending `"/browser"` from the string value. + +```diff + "architect": { + "build": { + "options": { +- "outputPath": "dist/YOUR-APP-NAME/browser", ++ "outputPath": "dist/YOUR-APP-NAME", +``` + +2.2 rename the property `"main"` to `"browser"` + +```diff + "architect": { + "build": { + "options": { +- "main": "src/main.ts", ++ "browser": "src/main.ts", +``` + + +2.3. In the section `architect > build > configurations > development` please remove 3 properties: `"buildOptimizer"`, `"vendorChunk"`, `"namedChunks"` + +```diff + "architect": { + "build": { + "configurations": { + "development": { +- "buildOptimizer": false, +- "vendorChunk": true, +- "namedChunks": true +``` + +### `tsconfig.json` + +In the `"compilerOptions"` section, please: + +1. Remove the properties `"baseUrl"`, `"forceConsistentCasingInFileNames"`, `"downlevelIteration"`, +2. Add `"skipLibCheck": true`, `"esModuleInterop": true` + +```diff + "compilerOptions": { +- "baseUrl": "./", +- "forceConsistentCasingInFileNames": true, +- "downlevelIteration": true, ++ "skipLibCheck": true, ++ "esModuleInterop": true, +}, +``` + +## For SSR projects, additionally: + +### `angular.json` + +1. In the section `architect > build > options` please add 3 new options with values: `"server": "src/main.server.ts"`, `"prerender": false`, `"ssr": { "entry": "server.ts" }` + +```diff + "architect": { + "build": { + "options": { ++ "server": "src/main.server.ts", ++ "prerender": false, ++ "ssr": { ++ "entry": "server.ts" ++ } +``` + +2. In the section `architect > build > configurations` please add a new property with object value `"noSsr": { "ssr": false, "prerender": false }` + +```diff + "architect": { + "build": { + "configurations": { ++ "noSsr": { ++ "ssr": false, ++ "prerender": false ++ } +``` + +3. In the section `architect > serve > configurations` (please mind now the section is `serve` not `build`!) please add the ending `,noSsr` (with the preceding comma) at the end of the string values in subsections `... > production > buildTarget` and `... > development > buildTarget`: + +```diff + "architect": { + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { +- "buildTarget": "YOUR-APP-NAME:build:production" ++ "buildTarget": "YOUR-APP-NAME:build:production,noSsr" + }, + "development": { +- "buildTarget": "YOUR-APP-NAME:build:development" ++ "buildTarget": "YOUR-APP-NAME:build:development,noSsr" + } +``` + + +4. Please remove the whole 3 sections `architect > server`, `architect > serve-ssr` and `architect > prerender` (because their responsibilities are now handled just by the single new Angular `application` builder) + +```diff + "architect": { +- "server": { +- "builder": "@angular-devkit/build-angular:server", +- "options": { +- "outputPath": "dist/YOUR-APP-NAME/server", +- "main": "server.ts", +- "tsConfig": "tsconfig.server.json", +- "stylePreprocessorOptions": { +- "includePaths": [ +- "node_modules/" +- ] +- }, +- "inlineStyleLanguage": "scss" +- }, +- "configurations": { +- "production": { +- "outputHashing": "media" +- }, +- "development": { +- "optimization": false, +- "sourceMap": true, +- "extractLicenses": false, +- "vendorChunk": true, +- "buildOptimizer": false +- } +- }, +- "defaultConfiguration": "production" +- }, +- "serve-ssr": { +- "builder": "@angular-devkit/build-angular:ssr-dev-server", +- "configurations": { +- "development": { +- "browserTarget": "YOUR-APP-NAME:build:development", +- "serverTarget": "YOUR-APP-NAME:server:development" +- }, +- "production": { +- "browserTarget": "YOUR-APP-NAME:build:production", +- "serverTarget": "YOUR-APP-NAME:server:production" +- } +- }, +- "defaultConfiguration": "development" +- }, +- "prerender": { +- "builder": "@angular-devkit/build-angular:prerender", +- "options": { +- "routes": [ +- "/" +- ] +- }, +- "configurations": { +- "production": { +- "browserTarget": "YOUR-APP-NAME:build:production", +- "serverTarget": "YOUR-APP-NAME:server:production" +- }, +- "development": { +- "browserTarget": "YOUR-APP-NAME:build:development", +- "serverTarget": "YOUR-APP-NAME:server:development" +- } +- }, +- "defaultConfiguration": "production" +- } +``` + +### `package.json` + +Please change the following `"scripts"` properties (because the new `application` builder handles the SSR and prerendering with different commands): + +1. Please remove properties `"dev:ssr"` and `"prerender"` + +```diff + "scripts": { +- "dev:ssr": "ng run YOUR-APP-NAME:serve-ssr", +- "prerender": "ng run YOUR-APP-NAME:prerender" +``` + +2. Please change value of the property `"build:ssr"` to `"ng build"` + +```diff + "scripts": { +- "build:ssr": "ng build && ng run YOUR-APP-NAME:server", ++ "build:ssr": "ng build" +``` + +3. Please rename the property `"serve:ssr"` to `"serve:ssr:YOUR-APP-NAME"` and change its value to `"node dist/YOUR-APP-NAME/server/server.mjs"` + +```diff + "scripts": { +- "serve:ssr": "node dist/YOUR-APP-NAME/server/main.js", ++ "serve:ssr:YOUR-APP-NAME": "node dist/YOUR-APP-NAME/server/server.mjs", +``` + +### `tsconfig.app.json` + +1. Please add 1 new item to the array in the property `"types"`: `"node"` + +```diff + "types": [ ++ "node" + ] +``` + +2. Please add 2 new items to the in the `"files"` array: `"src/main.server.ts"` , `"server.ts"` + +```diff + "files": [ + "src/main.ts", ++ "src/main.server.ts", ++ "server.ts" + ] +``` + +### `tsconfig.server.json` + +Remove the file `tsconfig.server.json` + +Example command on Mac/Linux: + +```bash +rm tsconfig.server.json +``` + +### `src/app.server.module.ts` + +Rename file from `app.server.module.ts` to `app.module.server.ts` (i.e. swap the words `server` and `module`). + +Example command on Mac/Linux: + +```bash +mv src/app/app.server.module.ts src/app/app.module.server.ts +``` + +### `src/main.server.ts` + +1. Change the the export path of the `AppServerModule` from `./app/app.server.module'` to `./app/app.module.server'`. +2. And export `AppServerModule` using `as default`. + +```diff +- export { AppServerModule } from './app/app.server.module'; ++ export { AppServerModule as default } from './app/app.module.server'; +``` + +### `server.ts` + +1. Change the imports in the top of the file according to the following diff: + +```diff +- import 'zone.js/node'; + +- import { ngExpressEngine as engine } from - '@spartacus/setup/ssr'; +- import { NgExpressEngineDecorator } from - '@spartacus/setup/ssr'; +- import * as express from 'express'; +- import { join } from 'path'; + +- import { AppServerModule } from './src/main.- server'; +- import { APP_BASE_HREF } from '@angular/common'; +- import { existsSync } from 'fs'; + ++ import { APP_BASE_HREF } from '@angular/common'; ++ import { ++ NgExpressEngineDecorator, ++ ngExpressEngine as engine, ++ } from '@spartacus/setup/ssr'; ++ import express from 'express'; ++ import { dirname, join, resolve } from 'node:path'; ++ import { fileURLToPath } from 'node:url'; ++ import AppServerModule from './src/main.server'; +``` + +2. Replace two old constants: `distFolder` and `indexHtml` with new three constants: `serverDistFolder`, `browserDistFolder`, `indexHtml`, according to the diff below: + +```diff +- const distFolder = join(process.cwd(), 'dist/YOUR-APP-NAME/browser'); +- const indexHtml = existsSync(join(distFolder, 'index.original.html')) +- ? 'index.original.html' +- : 'index'; + ++ const serverDistFolder = dirname(fileURLToPath(import.meta.url)); ++ const browserDistFolder = resolve(serverDistFolder, '../browser'); ++ const indexHtml = join(browserDistFolder, 'index.html'); +``` + +3. In the call `server.set('views, `... please use the constant `browserDistFolder` instead of `distFolder` as a second argument. + +```diff +- server.set('views', distFolder); ++ server.set('views', browserDistFolder); +``` + +4. In the call `express.static( `... please use the constant `browserDistFolder` instead of `distFolder` as an argument. + +```diff + server.get( + '*.*', +- express.static(distFolder, { ++ express.static(browserDistFolder, { +``` + +5. Remove the block of code in the bottom of the file related handling Webpack's `require`, but leave only the call of the function `run()` + +```diff +- // Webpack will replace 'require' with - '__webpack_require__' +- // '__non_webpack_require__' is a proxy to Node 'require' +- // The below code is to ensure that the server is run - only when not requiring the bundle. +- declare const __non_webpack_require__: NodeRequire; +- const mainModule = __non_webpack_require__.main; +- const moduleFilename = (mainModule && mainModule.- filename) || ''; +- if (moduleFilename === __filename || moduleFilename.- includes('iisnode')) { +- run(); +- } + ++ run(); +``` + +6. In the very bottom of the file, remove the re-export of the path `./src/main.server` + +```diff +- export * from './src/main.server'; +``` + +This is the end of the migration guide for the Angular `application` builder. + +## In `app.module.ts`, use new, non-deprecated Angular APIs + +Unrelated to the migration to the new Angular `application` builder, please also update the `app.module.ts` file to use new, non-deprecated Angular APIs: + +### `src/app/app.module.ts` + +1. Remove the `HttpClientModule` from the `imports` array. + +```diff + imports: [ +- HttpClientModule, +``` + +2. Add `provideHttpClient(withFetch(), withInterceptorsFromDi()),` to the `providers` array. + +```diff + providers: [ ++ provideHttpClient(withFetch(), withInterceptorsFromDi()), + ], +``` + +## For SSR projects, additionally: + +### `src/app/app.module.ts` + +Replace the item in the `imports` array `BrowserModule.withServerTransition({ appId: 'serverApp' }),` with just `BrowserModule` + +```diff + imports: [ +- BrowserModule.withServerTransition({ appId: 'serverApp' }), ++ BrowserModule, + ], +``` + +## New commands for SSR projects + +### How to run SSR dev server (watching for changed files and rebuilding) + +Previously the SSR dev server could be run with a command `npm run dev:ssr`. But now this command is removed (because its builder was replaced by the new Angular `application` builder). To workaround this, please: + +1. add to your `package.json` the new custom command `"serve:ssr:watch"`: +```diff + "serve:ssr": "node dist/YOUR-APP-NAME/server/server.mjs", ++ "serve:ssr:watch": "node --watch dist/YOUR-APP-NAME/server/server.mjs", +``` + +1. Then please **run in 2 separate terminal window**s: + +- `npm run watch` - to build the app in the watch mode (watching for changed files source files and rebuilding) +- `npm run serve:ssr:watch` - to run the SSR dev server in the watch mode (watching for compiled files and rerunning the server) + +Note: the same workaround has been documented also for new Angular 17 apps in the [KBA 3460263](https://me.sap.com/notes/3460263). + +### How to run server prerendering + +Previously the server prerendering could be run with a command `npm run prerender`. But now this command is removed (because its builder was replaced by the new Angular `application` builder). To workaround this, please: + +1. in `package.json` create the new custom command `"prerender"`: + +```diff ++ "prerender": "ng build --prerender=true", +``` + +2. Then run the command in a terminal, while passing the Node env variable `SERVER_REQUEST_ORIGIN`, for example: + +```bash +SERVER_REQUEST_ORIGIN="http://localhost:4200" npm run prerender +``` + +Note: Remember to replace "http://localhost:4200" with the real target domain where you want to deploy your prerendered pages, especially if you are deploying for production. Otherwise, some composable storefront SEO features might not work properly. For eample, [Canonical URLs](https://help.sap.com/docs/SAP_COMMERCE_COMPOSABLE_STOREFRONT/eaef8c61b6d9477daf75bff9ac1b7eb4/e712f36722c543359ed699aed9873075.html?version=2211#loio98befe9ef9ae4957a4ae34669c175fd5) might point to a wrong domain, or [Automatic Multi-Site Configuration](https://help.sap.com/docs/SAP_COMMERCE_COMPOSABLE_STOREFRONT/eaef8c61b6d9477daf75bff9ac1b7eb4/9d2e339c2b094e4f99df1c2d7cc999a8.html?version=2211) might not recognize the base-site correctly (for example, if some regexes configured in the CMS for base-site recognition depend on the domain name). + +Note: the same workaround has been documented also for new Angular 17 apps in the [KBA 3460211](https://me.sap.com/notes/3460211). + + +# Next +Once you modernized your app that was migrated from Spartacus 6.8 to 2211.19, you're ready for the next migration guide: [migrating to Angular 19 and Spartacus 2211.35](./migration.md). From e54be34a38c1985e08bdf00de12c28f31044d4eb Mon Sep 17 00:00:00 2001 From: petarmarkov9449 <166535589+petarmarkov9449@users.noreply.github.com> Date: Mon, 27 Jan 2025 17:40:39 +0100 Subject: [PATCH 3/8] fix: (CXSPA-8997 & 8988) - Resolve Aria Issues in NavigationUIComponent (#19938) --- .../regression/user_access/navigation-login-a11y.e2e.cy.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/storefrontapp-e2e-cypress/cypress/e2e/regression/user_access/navigation-login-a11y.e2e.cy.ts b/projects/storefrontapp-e2e-cypress/cypress/e2e/regression/user_access/navigation-login-a11y.e2e.cy.ts index ee4545f8143..927610b6b0f 100644 --- a/projects/storefrontapp-e2e-cypress/cypress/e2e/regression/user_access/navigation-login-a11y.e2e.cy.ts +++ b/projects/storefrontapp-e2e-cypress/cypress/e2e/regression/user_access/navigation-login-a11y.e2e.cy.ts @@ -11,8 +11,8 @@ function assertNavigationButtonsAttributes(buttonsSelector: string) { cy.get(buttonsSelector).each(($btn) => { const btnAriaControl = $btn.attr('aria-controls'); cy.wrap($btn) - .should('have.attr', 'title', `${btnAriaControl} Menu`) - .should('have.attr', 'aria-label', btnAriaControl); + .should('have.attr', 'aria-label', btnAriaControl) + .and('have.attr', 'aria-controls', btnAriaControl); }); } From c66d4f9e74d7910f4306959041abb570c195b44f Mon Sep 17 00:00:00 2001 From: Hak Woo Kim Date: Mon, 27 Jan 2025 17:32:13 -0500 Subject: [PATCH 4/8] feat: remove duplicate i18n key (CXSPA-9287) (#19914) Co-authored-by: Hakwoo Kim Co-authored-by: Krzysztof Platis --- .../pickup-in-store/assets/translations/cs/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/de/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/en/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/es/pickupInStore.json | 3 --- .../assets/translations/es_CO/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/fr/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/hi/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/hu/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/id/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/it/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/ja/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/ko/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/pl/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/pt/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/ru/pickupInStore.json | 3 --- .../pickup-in-store/assets/translations/zh/pickupInStore.json | 3 --- .../assets/translations/zh_TW/pickupInStore.json | 4 +--- 17 files changed, 1 insertion(+), 51 deletions(-) diff --git a/feature-libs/pickup-in-store/assets/translations/cs/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/cs/pickupInStore.json index dea03498fe4..7a6b1b9d78b 100644 --- a/feature-libs/pickup-in-store/assets/translations/cs/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/cs/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Položky, které mají být vyzvednuty", "storeItemHeading": "Adresa prodejny pro vyzvednutí" }, - "cartItems": { - "item": "Položka" - }, "cardActions": { "getDirections": "Získat popis cesty – tento odkaz otevře nové okno" }, diff --git a/feature-libs/pickup-in-store/assets/translations/de/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/de/pickupInStore.json index e94de5139bf..bbfffc35fe3 100644 --- a/feature-libs/pickup-in-store/assets/translations/de/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/de/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Abzuholende Positionen", "storeItemHeading": "Adresse der Filiale für Abholung" }, - "cartItems": { - "item": "Position" - }, "cardActions": { "getDirections": "Wegbeschreibung abrufen, dieser Link öffnet sich in einem neuen Fenster" }, diff --git a/feature-libs/pickup-in-store/assets/translations/en/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/en/pickupInStore.json index 906cf435b31..dba4f4e3fb1 100644 --- a/feature-libs/pickup-in-store/assets/translations/en/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/en/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Items to be Picked Up", "storeItemHeading": "Pick Up Store Address" }, - "cartItems": { - "item": "Item" - }, "cardActions": { "getDirections": "Get Directions, this link opens in a new window" }, diff --git a/feature-libs/pickup-in-store/assets/translations/es/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/es/pickupInStore.json index caa581c8ee0..d5269c1b365 100644 --- a/feature-libs/pickup-in-store/assets/translations/es/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/es/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Artículos para recoger", "storeItemHeading": "Dirección de la tienda de recogida" }, - "cartItems": { - "item": "Artículo" - }, "cardActions": { "getDirections": "Obtener direcciones, este enlace se abre en una ventana nueva" }, diff --git a/feature-libs/pickup-in-store/assets/translations/es_CO/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/es_CO/pickupInStore.json index 85df20b104f..e10baa18ba7 100644 --- a/feature-libs/pickup-in-store/assets/translations/es_CO/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/es_CO/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Artículos para recoger", "storeItemHeading": "Dirección de la tienda de recogida" }, - "cartItems": { - "item": "Artículo" - }, "cardActions": { "getDirections": "Obtener direcciones, este enlace se abre en una ventana nueva" }, diff --git a/feature-libs/pickup-in-store/assets/translations/fr/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/fr/pickupInStore.json index 6873e6b7b83..2e437f34bca 100644 --- a/feature-libs/pickup-in-store/assets/translations/fr/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/fr/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Articles à retirer", "storeItemHeading": "Adresse du point de vente pour le retrait" }, - "cartItems": { - "item": "Article" - }, "cardActions": { "getDirections": "Obtenir un itinéraire, ce lien s'ouvre dans une nouvelle fenêtre" }, diff --git a/feature-libs/pickup-in-store/assets/translations/hi/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/hi/pickupInStore.json index 4b7289f21e3..dd066e4172d 100644 --- a/feature-libs/pickup-in-store/assets/translations/hi/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/hi/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "पिकअप किए जाने वाले आइटम", "storeItemHeading": "पिकअप स्टोर का पता" }, - "cartItems": { - "item": "आइटम" - }, "cardActions": { "getDirections": "निर्देश प्राप्त करें, यह लिंक नई विंडो में खुलती है" }, diff --git a/feature-libs/pickup-in-store/assets/translations/hu/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/hu/pickupInStore.json index 1e72228025d..d063d8b4d64 100644 --- a/feature-libs/pickup-in-store/assets/translations/hu/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/hu/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Átveendő tételek", "storeItemHeading": "Átvételi üzlet címe" }, - "cartItems": { - "item": "Tétel" - }, "cardActions": { "getDirections": "Útvonal tervezése; ez a hivatkozás új ablakban nyílik meg" }, diff --git a/feature-libs/pickup-in-store/assets/translations/id/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/id/pickupInStore.json index 627145ea1b7..0b08a7c931f 100644 --- a/feature-libs/pickup-in-store/assets/translations/id/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/id/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Item yang Akan Diambil", "storeItemHeading": "Alamat Toko Pengambilan" }, - "cartItems": { - "item": "Item" - }, "cardActions": { "getDirections": "Dapatkan Petunjuk Arah, tautan ini akan terbuka di jendela baru." }, diff --git a/feature-libs/pickup-in-store/assets/translations/it/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/it/pickupInStore.json index 6230a8601b4..e510339239b 100644 --- a/feature-libs/pickup-in-store/assets/translations/it/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/it/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Articoli da ritirare", "storeItemHeading": "Indirizzo del punto vendita di ritiro" }, - "cartItems": { - "item": "Articolo" - }, "cardActions": { "getDirections": "Ottieni indicazioni stradali; questo collegamento aprirà una nuova finestra" }, diff --git a/feature-libs/pickup-in-store/assets/translations/ja/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/ja/pickupInStore.json index c5c0623c748..92cb1506acd 100644 --- a/feature-libs/pickup-in-store/assets/translations/ja/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/ja/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "受け取るアイテム", "storeItemHeading": "受け取り店舗の住所" }, - "cartItems": { - "item": "アイテム" - }, "cardActions": { "getDirections": "ルート案内取得 (このリンクをクリックすると新しいウィンドウが開きます)" }, diff --git a/feature-libs/pickup-in-store/assets/translations/ko/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/ko/pickupInStore.json index ca53b31bc0a..6e7baea8ddc 100644 --- a/feature-libs/pickup-in-store/assets/translations/ko/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/ko/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "픽업할 품목", "storeItemHeading": "픽업 매장 주소" }, - "cartItems": { - "item": "품목" - }, "cardActions": { "getDirections": "오시는 길, 이 링크를 클릭하면 새 창이 열립니다." }, diff --git a/feature-libs/pickup-in-store/assets/translations/pl/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/pl/pickupInStore.json index fbb844dee51..9cd75af6692 100644 --- a/feature-libs/pickup-in-store/assets/translations/pl/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/pl/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Pozycje do odbioru", "storeItemHeading": "Adres punktu odbioru" }, - "cartItems": { - "item": "Pozycja" - }, "cardActions": { "getDirections": "Jak dojechać. Ten link otwiera się w nowym oknie." }, diff --git a/feature-libs/pickup-in-store/assets/translations/pt/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/pt/pickupInStore.json index 03209c93869..322737cf5d9 100644 --- a/feature-libs/pickup-in-store/assets/translations/pt/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/pt/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Itens a serem retirados", "storeItemHeading": "Endereço de loja de retirada" }, - "cartItems": { - "item": "Item" - }, "cardActions": { "getDirections": "Obter indicações, este link se abre em uma nova janela" }, diff --git a/feature-libs/pickup-in-store/assets/translations/ru/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/ru/pickupInStore.json index 1fb158b35cb..3e51d612550 100644 --- a/feature-libs/pickup-in-store/assets/translations/ru/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/ru/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "Позиции для самовывоза", "storeItemHeading": "Адрес магазина самовывоза" }, - "cartItems": { - "item": "Позиция" - }, "cardActions": { "getDirections": "Получить маршрут, эта ссылка откроется в новом окне" }, diff --git a/feature-libs/pickup-in-store/assets/translations/zh/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/zh/pickupInStore.json index a8d6c05d57e..54c4d32e676 100644 --- a/feature-libs/pickup-in-store/assets/translations/zh/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/zh/pickupInStore.json @@ -52,9 +52,6 @@ "heading": "待提货商品", "storeItemHeading": "提货店铺地址" }, - "cartItems": { - "item": "商品" - }, "cardActions": { "getDirections": "获取方位,此链接将在新窗口中打开" }, diff --git a/feature-libs/pickup-in-store/assets/translations/zh_TW/pickupInStore.json b/feature-libs/pickup-in-store/assets/translations/zh_TW/pickupInStore.json index 2a7d9c7e4a0..dfaafa5e85e 100644 --- a/feature-libs/pickup-in-store/assets/translations/zh_TW/pickupInStore.json +++ b/feature-libs/pickup-in-store/assets/translations/zh_TW/pickupInStore.json @@ -52,9 +52,7 @@ "heading": "要取貨的項目", "storeItemHeading": "取貨商店地址" }, - "cartItems": { - "item": "項目" - }, + "cardActions": { "getDirections": "規劃路線,此連結會在新視窗中開啟" }, From 0ab6454ff33f8f4d123e24be664ee3ad89ccc87b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Fra=C5=9B?= Date: Tue, 28 Jan 2025 13:44:55 +0100 Subject: [PATCH 5/8] feat: Migrate existing apps with application builder to use `index.server.html` in server file (#19848) --- .../src/migrations/2211_35/ssr/ssr.ts | 17 ++ .../src/migrations/2211_35/ssr/ssr_spec.ts | 147 +++++++++++++++++ .../ssr/update-ssr/update-server-files.ts | 149 ++++++++++++++++++ .../schematics/src/migrations/migrations.json | 5 + .../src/shared/utils/package-utils.ts | 118 +++++++++++--- .../src/shared/utils/package-utils_spec.ts | 93 +++++++++++ 6 files changed, 511 insertions(+), 18 deletions(-) create mode 100644 projects/schematics/src/migrations/2211_35/ssr/ssr.ts create mode 100644 projects/schematics/src/migrations/2211_35/ssr/ssr_spec.ts create mode 100644 projects/schematics/src/migrations/2211_35/ssr/update-ssr/update-server-files.ts diff --git a/projects/schematics/src/migrations/2211_35/ssr/ssr.ts b/projects/schematics/src/migrations/2211_35/ssr/ssr.ts new file mode 100644 index 00000000000..d0c4b3a943e --- /dev/null +++ b/projects/schematics/src/migrations/2211_35/ssr/ssr.ts @@ -0,0 +1,17 @@ +/* + * SPDX-FileCopyrightText: 2025 SAP Spartacus team + * + * SPDX-License-Identifier: Apache-2.0 + */ + +import { noop, Rule, SchematicContext, Tree } from '@angular-devkit/schematics'; +import { checkIfSSRIsUsedWithApplicationBuilder } from '../../../shared/utils/package-utils'; +import { updateServerFile } from './update-ssr/update-server-files'; + +export function migrate(): Rule { + return (tree: Tree, _context: SchematicContext) => { + return checkIfSSRIsUsedWithApplicationBuilder(tree) + ? updateServerFile() + : noop(); + }; +} diff --git a/projects/schematics/src/migrations/2211_35/ssr/ssr_spec.ts b/projects/schematics/src/migrations/2211_35/ssr/ssr_spec.ts new file mode 100644 index 00000000000..fbe85601c50 --- /dev/null +++ b/projects/schematics/src/migrations/2211_35/ssr/ssr_spec.ts @@ -0,0 +1,147 @@ +import { Tree } from '@angular-devkit/schematics'; +import { SchematicTestRunner } from '@angular-devkit/schematics/testing'; +import { join } from 'path'; +import * as shared from '../../../shared/utils/package-utils'; + +jest.mock('../../../shared/utils/package-utils', () => ({ + ...jest.requireActual('../../../shared/utils/package-utils'), + checkIfSSRIsUsedWithApplicationBuilder: jest.fn(), +})); + +const collectionPath = join(__dirname, '../../migrations.json'); +const MIGRATION_SCRIPT_NAME = '01-migration-v2211_35-ssr'; + +describe('Update SSR Migration', () => { + let tree: Tree; + let runner: SchematicTestRunner; + + const workspaceContent = { + version: 1, + projects: { + app: { + root: '', + architect: { + build: { + builder: '@angular-devkit/build-angular:application', + }, + }, + }, + }, + }; + + const serverFileContent = ` + import { APP_BASE_HREF } from '@angular/common'; + import { + NgExpressEngineDecorator, + defaultExpressErrorHandlers, + ngExpressEngine as engine, + } from '@spartacus/setup/ssr'; + import express from 'express'; + import { readFileSync } from 'node:fs'; + import { dirname, join, resolve } from 'node:path'; + import { fileURLToPath } from 'node:url'; + import AppServerModule from './main.server'; + + const ngExpressEngine = NgExpressEngineDecorator.get(engine, { + ssrFeatureToggles: { + avoidCachingErrors: true, + }, + }); + + // The Express app is exported so that it can be used by serverless Functions. + export function app(): express.Express { + const server = express(); + const serverDistFolder = dirname(fileURLToPath(import.meta.url)); + const browserDistFolder = resolve(serverDistFolder, '../browser'); + const indexHtml = join(browserDistFolder, 'index.html'); + const indexHtmlContent = readFileSync(indexHtml, 'utf-8'); + } + `; + + beforeEach(() => { + tree = Tree.empty(); + runner = new SchematicTestRunner('migrations', collectionPath); + jest.resetAllMocks(); + tree.create('/angular.json', JSON.stringify(workspaceContent)); + }); + + it.each(['/server.ts', '/src/server.ts'])( + 'should update %s when using application builder and SSR is used', + async (filePath) => { + ( + shared.checkIfSSRIsUsedWithApplicationBuilder as jest.Mock + ).mockReturnValue(true); + tree.create(filePath, serverFileContent); + + const newTree = await runner.runSchematic( + MIGRATION_SCRIPT_NAME, + {}, + tree + ); + const content = newTree.readText(filePath); + + expect(content).toContain('export function app()'); + expect(content).toContain("join(serverDistFolder, 'index.server.html')"); + expect(content).not.toContain("join(browserDistFolder, 'index.html')"); + expect( + shared.checkIfSSRIsUsedWithApplicationBuilder + ).toHaveBeenCalledWith(tree); + } + ); + + it('should not update when SSR is not used', async () => { + ( + shared.checkIfSSRIsUsedWithApplicationBuilder as jest.Mock + ).mockReturnValue(false); + tree.create('/server.ts', serverFileContent); + + const newTree = await runner.runSchematic(MIGRATION_SCRIPT_NAME, {}, tree); + const content = newTree.readText('/server.ts'); + + expect(content).toContain("join(browserDistFolder, 'index.html')"); + expect(content).not.toContain( + "join(serverDistFolder, 'index.server.html')" + ); + expect(shared.checkIfSSRIsUsedWithApplicationBuilder).toHaveBeenCalledWith( + tree + ); + }); + + it('should handle missing server.ts file', async () => { + ( + shared.checkIfSSRIsUsedWithApplicationBuilder as jest.Mock + ).mockReturnValue(true); + + const newTree = await runner.runSchematic(MIGRATION_SCRIPT_NAME, {}, tree); + + expect(newTree.exists('/server.ts')).toBe(false); + expect(newTree.exists('/src/server.ts')).toBe(false); + expect(shared.checkIfSSRIsUsedWithApplicationBuilder).toHaveBeenCalledWith( + tree + ); + }); + + it('should preserve other join statements when SSR is used', async () => { + ( + shared.checkIfSSRIsUsedWithApplicationBuilder as jest.Mock + ).mockReturnValue(true); + + const contentWithMultipleJoins = ` + const otherFile = join(process.cwd(), 'other.html'); + const indexHtml = join(browserDistFolder, "index.html"); + const anotherFile = join(process.cwd(), 'another.html'); + `; + + tree.create('/server.ts', contentWithMultipleJoins); + + const newTree = await runner.runSchematic(MIGRATION_SCRIPT_NAME, {}, tree); + const content = newTree.readText('/server.ts'); + + expect(content).toContain("join(process.cwd(), 'other.html')"); + expect(content).toContain('join(serverDistFolder, "index.server.html")'); + expect(content).toContain("join(process.cwd(), 'another.html')"); + expect(shared.checkIfSSRIsUsedWithApplicationBuilder).toHaveBeenCalledWith( + tree + ); + }); +}); diff --git a/projects/schematics/src/migrations/2211_35/ssr/update-ssr/update-server-files.ts b/projects/schematics/src/migrations/2211_35/ssr/update-ssr/update-server-files.ts new file mode 100644 index 00000000000..66c9b4d8627 --- /dev/null +++ b/projects/schematics/src/migrations/2211_35/ssr/update-ssr/update-server-files.ts @@ -0,0 +1,149 @@ +/* + * SPDX-FileCopyrightText: 2025 SAP Spartacus team + * + * SPDX-License-Identifier: Apache-2.0 + */ + +import { normalize } from '@angular-devkit/core'; +import { Rule, SchematicContext, Tree } from '@angular-devkit/schematics'; +import * as ts from 'typescript'; + +/** + * Finds the server.ts file in the project. + * Checks both root and src directory locations. + */ +function findServerFile(tree: Tree): string | null { + const possiblePaths = ['./server.ts', './src/server.ts']; + + for (const path of possiblePaths) { + if (tree.exists(normalize(path))) { + return path; + } + } + return null; +} + +/** + * Determines if a string literal uses single or double quotes. + * @param node - The string literal node to check + * @returns true for single quotes, false for double quotes + */ +function getQuotePreference(node: ts.StringLiteral): boolean { + return node.getText().startsWith("'"); +} + +interface JoinCallResult { + isMatch: boolean; + quotePreference?: boolean; +} + +/** + * Checks if a node is a join() call with 'index.html' as the last argument. + * Also determines the quote style used in the original code. + */ +function isJoinCallWithIndexHtml(node: ts.Node): JoinCallResult { + if (!ts.isCallExpression(node)) { + return { isMatch: false }; + } + + if (!ts.isIdentifier(node.expression) || node.expression.text !== 'join') { + return { isMatch: false }; + } + + const lastArg = node.arguments[node.arguments.length - 1]; + if (!ts.isStringLiteral(lastArg)) { + return { isMatch: false }; + } + + if (lastArg.text === 'index.html') { + return { + isMatch: true, + quotePreference: getQuotePreference(lastArg), + }; + } + + return { isMatch: false }; +} + +/** + * Visits the node and tries to find recursively the indexHtml const. + * When found, it updates the indexHtml const to use serverDistFolder and index.server.html. + */ +function visitNodeToUpdateIndexHtmlConst( + node: ts.Node, + content: string +): string { + let updatedContent = content; + + if (ts.isVariableStatement(node)) { + const declarations = node.declarationList.declarations; + if (declarations.length === 1) { + const declaration = declarations[0]; + if ( + ts.isIdentifier(declaration.name) && + declaration.name.text === 'indexHtml' && + declaration.initializer + ) { + const { isMatch, quotePreference } = isJoinCallWithIndexHtml( + declaration.initializer + ); + if (isMatch) { + const originalText = node.getText(); + const quote = quotePreference ? "'" : '"'; + const newText = `const indexHtml = join(serverDistFolder, ${quote}index.server.html${quote});`; + updatedContent = updatedContent.replace(originalText, newText); + } + } + } + } + + // Recursively visit all children + ts.forEachChild(node, (childNode) => { + updatedContent = visitNodeToUpdateIndexHtmlConst(childNode, updatedContent); + }); + + return updatedContent; +} + +/** + * Creates a rule that updates the server.ts file to use index.server.html + * instead of index.html when using the application builder. + */ +export function updateServerFile(): Rule { + return (tree: Tree, context: SchematicContext) => { + context.logger.info('🔍 Checking if server.ts needs to be updated...'); + const serverFilePath = findServerFile(tree); + if (!serverFilePath) { + context.logger.warn('🔍 Could not find server.ts file - skipping update'); + return tree; + } + + context.logger.info( + `🔄 Updating ${serverFilePath} to use index.server.html` + ); + + const fileContentBuffer = tree.read(serverFilePath); + if (!fileContentBuffer) { + context.logger.warn( + `⚠️ Could not read ${serverFilePath} - skipping update` + ); + return tree; + } + + const content = fileContentBuffer.toString('utf-8'); + const sourceFile = ts.createSourceFile( + 'server.ts', + content, + ts.ScriptTarget.Latest, + true + ); + + const updatedContent = visitNodeToUpdateIndexHtmlConst(sourceFile, content); + + if (updatedContent !== content) { + tree.overwrite(serverFilePath, updatedContent); + context.logger.info(`✅ Successfully updated ${serverFilePath}`); + } + return tree; + }; +} diff --git a/projects/schematics/src/migrations/migrations.json b/projects/schematics/src/migrations/migrations.json index f153338039c..447e9d82997 100644 --- a/projects/schematics/src/migrations/migrations.json +++ b/projects/schematics/src/migrations/migrations.json @@ -238,6 +238,11 @@ "version": "2211.19.0", "factory": "./2211_19/angular-json-styles/angular-json-styles#migrate", "description": "Update the angular.json with the style preprocessor options" + }, + "01-migration-v2211_35-ssr": { + "version": "2211.35.0", + "factory": "./2211_35/ssr/ssr#migrate", + "description": "Updates server.ts file to use dist/server/index.server.ts" } } } diff --git a/projects/schematics/src/shared/utils/package-utils.ts b/projects/schematics/src/shared/utils/package-utils.ts index f83cf43ed59..dd04b6909c1 100644 --- a/projects/schematics/src/shared/utils/package-utils.ts +++ b/projects/schematics/src/shared/utils/package-utils.ts @@ -15,6 +15,7 @@ import { NodeDependency, NodeDependencyType, } from '@schematics/angular/utility/dependencies'; +import { normalize } from 'path'; import semver from 'semver'; import { version } from '../../../package.json'; import collectedDependencies from '../../dependencies.json'; @@ -30,7 +31,10 @@ import { } from '../libs-constants'; import { getServerTsPath } from './file-utils'; import { addPackageJsonDependencies, dependencyExists } from './lib-utils'; -import { getDefaultProjectNameFromWorkspace } from './workspace-utils'; +import { + getDefaultProjectNameFromWorkspace, + getWorkspace, +} from './workspace-utils'; const DEV_DEPENDENCIES_KEYWORDS = [ 'schematics', @@ -120,16 +124,6 @@ export function mapPackageToNodeDependencies( }; } -export function readPackageJson(tree: Tree): any { - const pkgPath = '/package.json'; - const buffer = tree.read(pkgPath); - if (!buffer) { - throw new SchematicsException('Could not find package.json'); - } - - return JSON.parse(buffer.toString(UTF_8)); -} - export function cleanSemverVersion(versionString: string): string { if (isNaN(Number(versionString.charAt(0)))) { return versionString.substring(1, versionString.length); @@ -156,14 +150,9 @@ export function getSpartacusCurrentFeatureLevel(): string { export function checkIfSSRIsUsed(tree: Tree): boolean { const projectName = getDefaultProjectNameFromWorkspace(tree); - const buffer = tree.read('angular.json'); - if (!buffer) { - throw new SchematicsException('Could not find angular.json'); - } - const angularFileBuffer = buffer.toString(UTF_8); - const angularJson = JSON.parse(angularFileBuffer); + const { workspace: angularJson } = getWorkspace(tree); const isServerConfiguration = - !!angularJson.projects[projectName].architect['server']; + !!angularJson?.projects[projectName]?.architect?.['server']; const serverFileLocation = getServerTsPath(tree); @@ -178,6 +167,82 @@ export function checkIfSSRIsUsed(tree: Tree): boolean { return !!(isServerConfiguration && isServerSideAvailable); } +interface ApplicationBuilderWorkspaceArchitect { + build?: { + builder: string; + options?: { + server?: string; + prerender?: boolean; + ssr?: { + entry?: string; + }; + }; + }; +} + +/** + * Checks if Server-Side Rendering (SSR) is configured and used with the new Angular application builder. + * + * @param tree - The file tree to check for SSR configuration + * @returns true if SSR is configured and the server file exists, false otherwise + */ +export function checkIfSSRIsUsedWithApplicationBuilder(tree: Tree): boolean { + const projectName = getDefaultProjectNameFromWorkspace(tree); + const { workspace: angularJson } = getWorkspace(tree); + const architect = angularJson.projects[projectName] + .architect as ApplicationBuilderWorkspaceArchitect; + const builderType = architect?.build?.builder; + const buildOptions = architect?.build?.options; + + if ( + typeof builderType !== 'string' || + builderType !== '@angular-devkit/build-angular:application' + ) { + return false; + } + + // Check if SSR is configured in build options + const hasSSRConfig = buildOptions?.server && buildOptions?.ssr?.entry; + if (!hasSSRConfig) { + return false; + } + + const serverFileLocation = getServerTsPathForApplicationBuilder(tree); + if (!serverFileLocation) { + return false; + } + + const serverBuffer = tree.read(serverFileLocation); + const serverFileBuffer = serverBuffer?.toString(UTF_8); + return Boolean(serverFileBuffer?.length); +} + +/** + * Gets the path to the server.ts file for applications using the Angular application builder. + * Looks up the configured server entry point in angular.json and verifies it exists. + * + * @param tree - The file tree to check for the server file + * @returns The normalized path to the server.ts file if found, null otherwise + */ +export function getServerTsPathForApplicationBuilder( + tree: Tree +): string | null { + const projectName = getDefaultProjectNameFromWorkspace(tree); + const { workspace: angularJson } = getWorkspace(tree); + const architect = angularJson.projects[projectName] + .architect as ApplicationBuilderWorkspaceArchitect; + const buildOptions = architect?.build?.options; + + // Get server file path from SSR configuration + if (buildOptions?.ssr?.entry) { + const configuredPath = normalize(buildOptions.ssr.entry); + if (tree.exists(configuredPath)) { + return configuredPath; + } + } + return null; +} + export function prepareSpartacusDependencies(): NodeDependency[] { const spartacusVersion = getPrefixedSpartacusSchematicsVersion(); @@ -270,3 +335,20 @@ function getCurrentDependencyVersion( const currentVersion = dependencies[dependency.name]; return semver.parse(cleanSemverVersion(currentVersion)); } + +/** + * Reads and parses the package.json file from the root of the project. + * + * @param tree - The virtual file tree provided by the Angular schematics + * @returns The parsed package.json content as an object + * @throws SchematicsException if package.json cannot be found or parsed + */ +export function readPackageJson(tree: Tree): any { + const pkgPath = '/package.json'; + const buffer = tree.read(pkgPath); + if (!buffer) { + throw new SchematicsException('Could not find package.json'); + } + + return JSON.parse(buffer.toString(UTF_8)); +} diff --git a/projects/schematics/src/shared/utils/package-utils_spec.ts b/projects/schematics/src/shared/utils/package-utils_spec.ts index 7394145c43f..5a8eb3d20ed 100644 --- a/projects/schematics/src/shared/utils/package-utils_spec.ts +++ b/projects/schematics/src/shared/utils/package-utils_spec.ts @@ -1,3 +1,4 @@ +import { Tree } from '@angular-devkit/schematics'; import { SchematicTestRunner, UnitTestTree, @@ -11,7 +12,9 @@ import * as path from 'path'; import { UTF_8 } from '../constants'; import { SPARTACUS_SCHEMATICS } from '../libs-constants'; import { + checkIfSSRIsUsedWithApplicationBuilder, getMajorVersionNumber, + getServerTsPathForApplicationBuilder, getSpartacusCurrentFeatureLevel, getSpartacusSchematicsVersion, readPackageJson, @@ -104,4 +107,94 @@ describe('Package utils', () => { expect(featureLevel).toEqual(version.substring(0, 7)); }); }); + + describe('SSR Application Builder Tests', () => { + let ssrTree: UnitTestTree; + + const createWorkspace = ( + builderType: string, + serverPath?: string, + ssrEntry?: string + ) => { + const angularJson = { + projects: { + test: { + architect: { + build: { + builder: builderType, + options: { + ...(serverPath && { server: serverPath }), + ...(ssrEntry && { ssr: { entry: ssrEntry } }), + }, + }, + }, + }, + }, + }; + ssrTree.create('angular.json', JSON.stringify(angularJson)); + }; + + beforeEach(() => { + ssrTree = new UnitTestTree(Tree.empty()); + }); + + describe('checkIfSSRIsUsedWithApplicationBuilder', () => { + it('should return false when builder is not application builder', () => { + createWorkspace('@angular-devkit/build-angular:browser'); + expect(checkIfSSRIsUsedWithApplicationBuilder(ssrTree)).toBeFalsy(); + }); + + it('should return false when SSR config is missing', () => { + createWorkspace('@angular-devkit/build-angular:application'); + expect(checkIfSSRIsUsedWithApplicationBuilder(ssrTree)).toBeFalsy(); + }); + + it('should return false when server file does not exist', () => { + createWorkspace( + '@angular-devkit/build-angular:application', + 'src/main.server.ts', + 'server.ts' + ); + expect(checkIfSSRIsUsedWithApplicationBuilder(ssrTree)).toBeFalsy(); + }); + + it('should return true when SSR is properly configured and server file exists', () => { + createWorkspace( + '@angular-devkit/build-angular:application', + 'src/main.server.ts', + 'server.ts' + ); + ssrTree.create('server.ts', 'export const server = {};'); + expect(checkIfSSRIsUsedWithApplicationBuilder(ssrTree)).toBeTruthy(); + }); + }); + + describe('getServerTsPathForApplicationBuilder', () => { + it('should return configured SSR entry path when it exists', () => { + createWorkspace( + '@angular-devkit/build-angular:application', + 'src/main.server.ts', + 'custom/server.ts' + ); + ssrTree.create('custom/server.ts', 'export const server = {};'); + expect(getServerTsPathForApplicationBuilder(ssrTree)).toBe( + 'custom/server.ts' + ); + }); + + it('should return null when configured SSR entry path does not exist', () => { + createWorkspace( + '@angular-devkit/build-angular:application', + 'src/main.server.ts', + 'custom/server.ts' + ); + expect(getServerTsPathForApplicationBuilder(ssrTree)).toBeNull(); + }); + + it('should return null when no server file exists in any location', () => { + createWorkspace('@angular-devkit/build-angular:application'); + expect(getServerTsPathForApplicationBuilder(ssrTree)).toBeNull(); + }); + }); + }); }); From bae84fabf1412cc6ca2f7eb7bcebc11da995081c Mon Sep 17 00:00:00 2001 From: Roman <129765378+rmch91@users.noreply.github.com> Date: Wed, 29 Jan 2025 11:14:20 +0100 Subject: [PATCH 6/8] Release 2211.35.0 1 (#19945) Co-authored-by: kpawelczak <42094017+kpawelczak@users.noreply.github.com> --- core-libs/setup/package.json | 10 +- feature-libs/asm/package.json | 18 +- feature-libs/cart/package.json | 12 +- feature-libs/checkout/package.json | 16 +- feature-libs/customer-ticketing/package.json | 12 +- .../estimated-delivery-date/package.json | 14 +- feature-libs/order/package.json | 16 +- feature-libs/organization/package.json | 16 +- feature-libs/pdf-invoices/package.json | 10 +- feature-libs/pickup-in-store/package.json | 18 +- .../product-configurator/package.json | 16 +- .../product-multi-dimensional/package.json | 10 +- feature-libs/product/package.json | 10 +- feature-libs/qualtrics/package.json | 8 +- feature-libs/quote/package.json | 12 +- .../requested-delivery-date/package.json | 16 +- feature-libs/smartedit/package.json | 6 +- feature-libs/storefinder/package.json | 10 +- feature-libs/tracking/package.json | 6 +- feature-libs/user/package.json | 10 +- integration-libs/cdc/package.json | 14 +- integration-libs/cdp/package.json | 6 +- integration-libs/cds/package.json | 14 +- integration-libs/cpq-quote/package.json | 10 +- .../digital-payments/package.json | 12 +- .../epd-visualization/package.json | 12 +- integration-libs/omf/package.json | 8 +- integration-libs/opf/package.json | 18 +- integration-libs/opps/package.json | 8 +- integration-libs/s4-service/package.json | 14 +- integration-libs/s4om/package.json | 16 +- integration-libs/segment-refs/package.json | 6 +- projects/assets/package.json | 4 +- projects/core/package.json | 2 +- projects/schematics/package.json | 2 +- projects/schematics/src/dependencies.json | 326 +++++++++--------- .../ng-add/__snapshots__/index_spec.ts.snap | 10 +- projects/ssr-tests/package.json | 4 +- projects/storefrontlib/package.json | 4 +- projects/storefrontstyles/package.json | 2 +- tools/config/const.ts | 2 +- 41 files changed, 370 insertions(+), 370 deletions(-) diff --git a/core-libs/setup/package.json b/core-libs/setup/package.json index 507512ff813..a98b629877b 100644 --- a/core-libs/setup/package.json +++ b/core-libs/setup/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/setup", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Includes features that makes Spartacus and it's setup easier and streamlined.", "keywords": [ "spartacus", @@ -21,10 +21,10 @@ "peerDependencies": { "@angular/core": "^19.0.3", "@angular/ssr": "^19.0.4", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/user": "2211.35.0" + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1" }, "optionalDependencies": { "@angular/platform-server": "^19.0.3", diff --git a/feature-libs/asm/package.json b/feature-libs/asm/package.json index b2b8d977b15..a863af2f95d 100644 --- a/feature-libs/asm/package.json +++ b/feature-libs/asm/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/asm", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "ASM feature library for Spartacus", "keywords": [ "spartacus", @@ -32,14 +32,14 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefinder": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefinder": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/cart/package.json b/feature-libs/cart/package.json index ff343530827..bb14c571511 100644 --- a/feature-libs/cart/package.json +++ b/feature-libs/cart/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/cart", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "", "keywords": [ "spartacus", @@ -37,11 +37,11 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/checkout/package.json b/feature-libs/checkout/package.json index af4cda4e850..9b5e62c3139 100644 --- a/feature-libs/checkout/package.json +++ b/feature-libs/checkout/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/checkout", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Checkout feature library for Spartacus", "keywords": [ "spartacus", @@ -32,13 +32,13 @@ "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/customer-ticketing/package.json b/feature-libs/customer-ticketing/package.json index 44c8a554c99..9177aa7067b 100644 --- a/feature-libs/customer-ticketing/package.json +++ b/feature-libs/customer-ticketing/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/customer-ticketing", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Customer-Ticketing library for Spartacus", "keywords": [ "spartacus", @@ -30,11 +30,11 @@ "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/estimated-delivery-date/package.json b/feature-libs/estimated-delivery-date/package.json index eeb2dd90840..981d3721d2f 100644 --- a/feature-libs/estimated-delivery-date/package.json +++ b/feature-libs/estimated-delivery-date/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/estimated-delivery-date", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Estimated Delivery Date library for Spartacus", "keywords": [ "spartacus", @@ -28,12 +28,12 @@ "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/order/package.json b/feature-libs/order/package.json index 8a47bd91965..0b127fe1b82 100644 --- a/feature-libs/order/package.json +++ b/feature-libs/order/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/order", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Order feature library for Spartacus", "keywords": [ "spartacus", @@ -33,13 +33,13 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/pdf-invoices": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/pdf-invoices": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/organization/package.json b/feature-libs/organization/package.json index 990da968171..8379c96f151 100644 --- a/feature-libs/organization/package.json +++ b/feature-libs/organization/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/organization", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Organization library for Spartacus", "keywords": [ "spartacus", @@ -33,13 +33,13 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/pdf-invoices/package.json b/feature-libs/pdf-invoices/package.json index 4c46cfe8599..ae19b6de843 100644 --- a/feature-libs/pdf-invoices/package.json +++ b/feature-libs/pdf-invoices/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/pdf-invoices", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Invoices library for Spartacus", "keywords": [ "spartacus", @@ -29,10 +29,10 @@ "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/pickup-in-store/package.json b/feature-libs/pickup-in-store/package.json index 5619dd0d1d1..72358fe96c0 100644 --- a/feature-libs/pickup-in-store/package.json +++ b/feature-libs/pickup-in-store/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/pickup-in-store", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "", "keywords": [ "spartacus", @@ -32,14 +32,14 @@ "@angular/router": "^19.0.3", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefinder": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefinder": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/product-configurator/package.json b/feature-libs/product-configurator/package.json index f0d4e166d9f..c224dfeec9f 100644 --- a/feature-libs/product-configurator/package.json +++ b/feature-libs/product-configurator/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/product-configurator", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Product configurator feature library for Spartacus", "keywords": [ "spartacus", @@ -33,13 +33,13 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/product-multi-dimensional/package.json b/feature-libs/product-multi-dimensional/package.json index 26001e0e82c..07982825955 100644 --- a/feature-libs/product-multi-dimensional/package.json +++ b/feature-libs/product-multi-dimensional/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/product-multi-dimensional", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Product Multi-Dimensional library for Spartacus", "keywords": [ "spartacus", @@ -31,10 +31,10 @@ "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/product/package.json b/feature-libs/product/package.json index 431ad1e86d3..798ad00322c 100644 --- a/feature-libs/product/package.json +++ b/feature-libs/product/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/product", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Product library for Spartacus", "keywords": [ "spartacus", @@ -29,10 +29,10 @@ "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/qualtrics/package.json b/feature-libs/qualtrics/package.json index 5c1c29e24e4..60aa55930fd 100644 --- a/feature-libs/qualtrics/package.json +++ b/feature-libs/qualtrics/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/qualtrics", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Qualtrics library for Spartacus", "keywords": [ "spartacus", @@ -30,9 +30,9 @@ "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/quote/package.json b/feature-libs/quote/package.json index 795aab8aea5..447834d6142 100644 --- a/feature-libs/quote/package.json +++ b/feature-libs/quote/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/quote", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "", "keywords": [ "spartacus", @@ -32,11 +32,11 @@ "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/requested-delivery-date/package.json b/feature-libs/requested-delivery-date/package.json index b1d4c01c0ef..283729415f8 100644 --- a/feature-libs/requested-delivery-date/package.json +++ b/feature-libs/requested-delivery-date/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/requested-delivery-date", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Requested Delivery Date library for Spartacus", "keywords": [ "spartacus", @@ -29,13 +29,13 @@ "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/smartedit/package.json b/feature-libs/smartedit/package.json index aef310faf82..e6262561272 100644 --- a/feature-libs/smartedit/package.json +++ b/feature-libs/smartedit/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/smartedit", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Smart Edit feature library for Spartacus", "keywords": [ "spartacus", @@ -23,8 +23,8 @@ "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/storefinder/package.json b/feature-libs/storefinder/package.json index 37eba040ef5..f77a965a6e9 100644 --- a/feature-libs/storefinder/package.json +++ b/feature-libs/storefinder/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/storefinder", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Store finder feature library for Spartacus", "keywords": [ "spartacus", @@ -32,10 +32,10 @@ "@angular/router": "^19.0.3", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/tracking/package.json b/feature-libs/tracking/package.json index e6b0e316123..552c6c3586b 100644 --- a/feature-libs/tracking/package.json +++ b/feature-libs/tracking/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/tracking", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Spartacus tracking and personalization library", "keywords": [ "spartacus", @@ -27,8 +27,8 @@ "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/feature-libs/user/package.json b/feature-libs/user/package.json index fb376223ca3..225ce6ad648 100644 --- a/feature-libs/user/package.json +++ b/feature-libs/user/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/user", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "User feature library for Spartacus", "keywords": [ "spartacus", @@ -32,10 +32,10 @@ "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/cdc/package.json b/integration-libs/cdc/package.json index dba3b38108e..584df880050 100644 --- a/integration-libs/cdc/package.json +++ b/integration-libs/cdc/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/cdc", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Customer Data Cloud Integration library for Spartacus", "keywords": [ "spartacus", @@ -30,12 +30,12 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/asm": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/organization": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/asm": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/organization": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/cdp/package.json b/integration-libs/cdp/package.json index 5ba7f47ba82..3a7e3a4161e 100644 --- a/integration-libs/cdp/package.json +++ b/integration-libs/cdp/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/cdp", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Customer Data Platform Integration library for Spartacus", "keywords": [ "spartacus", @@ -24,8 +24,8 @@ "peerDependencies": { "@angular-devkit/schematics": "^19.0.4", "@angular/core": "^19.0.3", - "@spartacus/customer-ticketing": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/customer-ticketing": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/cds/package.json b/integration-libs/cds/package.json index 57e22dbbed7..40e37fea494 100644 --- a/integration-libs/cds/package.json +++ b/integration-libs/cds/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/cds", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Context Driven Service library for Spartacus", "keywords": [ "spartacus", @@ -28,12 +28,12 @@ "@angular/core": "^19.0.3", "@angular/router": "^19.0.3", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/tracking": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/tracking": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/cpq-quote/package.json b/integration-libs/cpq-quote/package.json index 9e04b96eca5..802e9cd5104 100644 --- a/integration-libs/cpq-quote/package.json +++ b/integration-libs/cpq-quote/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/cpq-quote", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "cpq-quote library for Spartacus", "keywords": [ "spartacus", @@ -23,10 +23,10 @@ "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/digital-payments/package.json b/integration-libs/digital-payments/package.json index 8bea13add6d..7a2f52be7c1 100644 --- a/integration-libs/digital-payments/package.json +++ b/integration-libs/digital-payments/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/digital-payments", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Digital Payments Integration library for Spartacus", "keywords": [ "spartacus", @@ -27,11 +27,11 @@ "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/epd-visualization/package.json b/integration-libs/epd-visualization/package.json index 787b77bb1cb..534a8a8971e 100644 --- a/integration-libs/epd-visualization/package.json +++ b/integration-libs/epd-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/epd-visualization", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "SAP Enterprise Product Development Visualization integration library for Spartacus", "keywords": [ "spartacus", @@ -38,11 +38,11 @@ "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", "@sapui5/ts-types-esm": "1.120.1", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/omf/package.json b/integration-libs/omf/package.json index ebb43d26463..d4aa9cdd6da 100644 --- a/integration-libs/omf/package.json +++ b/integration-libs/omf/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/omf", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "SAP Order Management Foundation Integration", "keywords": [ "spartacus", @@ -25,9 +25,9 @@ "@angular/core": "^19.0.3", "@angular/router": "^19.0.3", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/opf/package.json b/integration-libs/opf/package.json index ff530050749..36c9c3ff714 100644 --- a/integration-libs/opf/package.json +++ b/integration-libs/opf/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/opf", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "SAP Open Payment Framework integration library for Spartacus", "keywords": [ "spartacus", @@ -32,14 +32,14 @@ "@angular/platform-browser": "^19.0.3", "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/opps/package.json b/integration-libs/opps/package.json index 2894b8ffd0a..23a16005be2 100644 --- a/integration-libs/opps/package.json +++ b/integration-libs/opps/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/opps", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "OPPS (Omni-Channel Personalization and Promotions Services) library for Spartacus", "keywords": [ "spartacus", @@ -29,9 +29,9 @@ "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/s4-service/package.json b/integration-libs/s4-service/package.json index 97987961615..0754ca3a9ad 100644 --- a/integration-libs/s4-service/package.json +++ b/integration-libs/s4-service/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/s4-service", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "S/4HANA Service Integration Integration library for Spartacus", "keywords": [ "spartacus", @@ -30,12 +30,12 @@ "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/s4om/package.json b/integration-libs/s4om/package.json index 0029050bba3..88e6bcf1527 100644 --- a/integration-libs/s4om/package.json +++ b/integration-libs/s4om/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/s4om", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "S/4HANA Order Management (b2b feature)", "keywords": [ "spartacus", @@ -23,13 +23,13 @@ "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/pdf-invoices": "2211.35.0", - "@spartacus/requested-delivery-date": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/pdf-invoices": "2211.35.0-1", + "@spartacus/requested-delivery-date": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/integration-libs/segment-refs/package.json b/integration-libs/segment-refs/package.json index 4f3ce960fbd..55b1da96708 100644 --- a/integration-libs/segment-refs/package.json +++ b/integration-libs/segment-refs/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/segment-refs", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "segment-refs", "keywords": [ "spartacus", @@ -23,8 +23,8 @@ "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "publishConfig": { diff --git a/projects/assets/package.json b/projects/assets/package.json index 546b87ec3f8..62f65b75c3a 100644 --- a/projects/assets/package.json +++ b/projects/assets/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/assets", - "version": "2211.35.0", + "version": "2211.35.0-1", "homepage": "https://github.com/SAP/spartacus", "repository": "https://github.com/SAP/spartacus/tree/develop/projects/assets", "scripts": { @@ -13,7 +13,7 @@ "tslib": "^2.8.1" }, "peerDependencies": { - "@spartacus/core": "2211.35.0" + "@spartacus/core": "2211.35.0-1" }, "publishConfig": { "access": "public" diff --git a/projects/core/package.json b/projects/core/package.json index e6f2be1b310..85eadcd47a3 100644 --- a/projects/core/package.json +++ b/projects/core/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/core", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Spartacus - the core framework", "keywords": [ "spartacus", diff --git a/projects/schematics/package.json b/projects/schematics/package.json index 1e74585f236..3526e178a57 100644 --- a/projects/schematics/package.json +++ b/projects/schematics/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/schematics", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Spartacus schematics", "keywords": [ "spartacus", diff --git a/projects/schematics/src/dependencies.json b/projects/schematics/src/dependencies.json index 058da5b26bb..f0ad04c5c99 100644 --- a/projects/schematics/src/dependencies.json +++ b/projects/schematics/src/dependencies.json @@ -1,6 +1,6 @@ { "@spartacus/assets": { - "@spartacus/core": "2211.35.0" + "@spartacus/core": "2211.35.0-1" }, "@spartacus/core": { "@angular/common": "^19.0.3", @@ -26,7 +26,7 @@ "typescript": "^5.6.3" }, "ssr-tests": { - "@spartacus/core": "2211.35.0", + "@spartacus/core": "2211.35.0-1", "http-proxy": "^1.18.1", "jest-circus": "^29.0.0", "jest-environment-node": "^29.0.0" @@ -43,7 +43,7 @@ "@ngrx/effects": "^19.0.0", "@ngrx/router-store": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", + "@spartacus/core": "2211.35.0-1", "ngx-infinite-scroll": "^19.0.0", "rxjs": "^7.8.0" }, @@ -55,10 +55,10 @@ "@spartacus/setup": { "@angular/core": "^19.0.3", "@angular/ssr": "^19.0.4", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/user": "2211.35.0" + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1" }, "@spartacus/asm": { "@angular-devkit/schematics": "^19.0.4", @@ -68,14 +68,14 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefinder": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefinder": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/cart": { @@ -87,11 +87,11 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/checkout": { @@ -102,13 +102,13 @@ "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/customer-ticketing": { @@ -117,23 +117,23 @@ "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/estimated-delivery-date": { "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/order": { @@ -145,13 +145,13 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/pdf-invoices": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/pdf-invoices": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/organization": { @@ -163,13 +163,13 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/pdf-invoices": { @@ -177,10 +177,10 @@ "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/pickup-in-store": { @@ -191,14 +191,14 @@ "@angular/router": "^19.0.3", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefinder": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefinder": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/product": { @@ -206,10 +206,10 @@ "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/product-configurator": { @@ -221,13 +221,13 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/product-multi-dimensional": { @@ -237,19 +237,19 @@ "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/qualtrics": { "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/quote": { @@ -258,11 +258,11 @@ "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/requested-delivery-date": { @@ -270,21 +270,21 @@ "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/smartedit": { "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/storefinder": { @@ -295,18 +295,18 @@ "@angular/router": "^19.0.3", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/tracking": { "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/user": { @@ -317,10 +317,10 @@ "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/cdc": { @@ -332,19 +332,19 @@ "@ng-select/ng-select": "^14.1.0", "@ngrx/effects": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/asm": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/organization": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/asm": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/organization": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/cdp": { "@angular-devkit/schematics": "^19.0.4", "@angular/core": "^19.0.3", - "@spartacus/customer-ticketing": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/customer-ticketing": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/cds": { @@ -353,22 +353,22 @@ "@angular/core": "^19.0.3", "@angular/router": "^19.0.3", "@ngrx/store": "^19.0.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/tracking": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/tracking": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/cpq-quote": { "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/digital-payments": { @@ -378,11 +378,11 @@ "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/epd-visualization": { @@ -392,11 +392,11 @@ "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", "@sapui5/ts-types-esm": "1.120.1", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/omf": { @@ -405,9 +405,9 @@ "@angular/core": "^19.0.3", "@angular/router": "^19.0.3", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/opf": { @@ -418,14 +418,14 @@ "@angular/platform-browser": "^19.0.3", "@angular/router": "^19.0.3", "@ng-select/ng-select": "^14.1.0", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", - "@spartacus/user": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", + "@spartacus/user": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/opps": { @@ -433,9 +433,9 @@ "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/s4-service": { @@ -444,33 +444,33 @@ "@angular/core": "^19.0.3", "@angular/forms": "^19.0.3", "@angular/router": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/checkout": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/order": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/checkout": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/order": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/s4om": { "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/cart": "2211.35.0", - "@spartacus/core": "2211.35.0", - "@spartacus/pdf-invoices": "2211.35.0", - "@spartacus/requested-delivery-date": "2211.35.0", - "@spartacus/schematics": "2211.35.0", - "@spartacus/storefront": "2211.35.0", - "@spartacus/styles": "2211.35.0", + "@spartacus/cart": "2211.35.0-1", + "@spartacus/core": "2211.35.0-1", + "@spartacus/pdf-invoices": "2211.35.0-1", + "@spartacus/requested-delivery-date": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", + "@spartacus/storefront": "2211.35.0-1", + "@spartacus/styles": "2211.35.0-1", "rxjs": "^7.8.0" }, "@spartacus/segment-refs": { "@angular-devkit/schematics": "^19.0.4", "@angular/common": "^19.0.3", "@angular/core": "^19.0.3", - "@spartacus/core": "2211.35.0", - "@spartacus/schematics": "2211.35.0", + "@spartacus/core": "2211.35.0-1", + "@spartacus/schematics": "2211.35.0-1", "rxjs": "^7.8.0" }, "storefrontapp": { diff --git a/projects/schematics/src/ng-add/__snapshots__/index_spec.ts.snap b/projects/schematics/src/ng-add/__snapshots__/index_spec.ts.snap index 4cd061ba2a6..1f9762a8ccc 100644 --- a/projects/schematics/src/ng-add/__snapshots__/index_spec.ts.snap +++ b/projects/schematics/src/ng-add/__snapshots__/index_spec.ts.snap @@ -61,11 +61,11 @@ exports[`Spartacus Schematics: ng-add should add spartacus properly with SSR 2`] "@ngrx/effects": "^19.0.0", "@ngrx/router-store": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/assets": "~2211.35.0", - "@spartacus/core": "~2211.35.0", - "@spartacus/setup": "~2211.35.0", - "@spartacus/storefront": "~2211.35.0", - "@spartacus/styles": "~2211.35.0", + "@spartacus/assets": "~2211.35.0-1", + "@spartacus/core": "~2211.35.0-1", + "@spartacus/setup": "~2211.35.0-1", + "@spartacus/storefront": "~2211.35.0-1", + "@spartacus/styles": "~2211.35.0-1", "angular-oauth2-oidc": "19.0.0", "express": "^4.18.2", "i18next": "^24.2.1", diff --git a/projects/ssr-tests/package.json b/projects/ssr-tests/package.json index ebfd647e726..dddf215ab4b 100644 --- a/projects/ssr-tests/package.json +++ b/projects/ssr-tests/package.json @@ -1,6 +1,6 @@ { "name": "ssr-tests", - "version": "2211.35.0", + "version": "2211.35.0-1", "private": true, "description": "Spartacus SSR Tests", "keywords": [ @@ -17,7 +17,7 @@ "tslib": "^2.8.1" }, "peerDependencies": { - "@spartacus/core": "2211.35.0", + "@spartacus/core": "2211.35.0-1", "http-proxy": "^1.18.1", "jest-circus": "^29.0.0", "jest-environment-node": "^29.0.0" diff --git a/projects/storefrontlib/package.json b/projects/storefrontlib/package.json index 3777faf6427..793e0da3967 100644 --- a/projects/storefrontlib/package.json +++ b/projects/storefrontlib/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/storefront", - "version": "2211.35.0", + "version": "2211.35.0-1", "keywords": [ "spartacus", "storefront", @@ -23,7 +23,7 @@ "@ngrx/effects": "^19.0.0", "@ngrx/router-store": "^19.0.0", "@ngrx/store": "^19.0.0", - "@spartacus/core": "2211.35.0", + "@spartacus/core": "2211.35.0-1", "ngx-infinite-scroll": "^19.0.0", "rxjs": "^7.8.0" }, diff --git a/projects/storefrontstyles/package.json b/projects/storefrontstyles/package.json index c805edd4986..f1e485dcbf6 100644 --- a/projects/storefrontstyles/package.json +++ b/projects/storefrontstyles/package.json @@ -1,6 +1,6 @@ { "name": "@spartacus/styles", - "version": "2211.35.0", + "version": "2211.35.0-1", "description": "Style library containing global styles", "keywords": [ "spartacus", diff --git a/tools/config/const.ts b/tools/config/const.ts index fab528a8486..a906e1340af 100644 --- a/tools/config/const.ts +++ b/tools/config/const.ts @@ -10,4 +10,4 @@ export const SPARTACUS_SCOPE = '@spartacus'; export const SAP_SCOPE = 'sap'; export const SAPUI5_TYPES = '@sapui5/ts-types-esm'; export const SPARTACUS_SCHEMATICS = `${SPARTACUS_SCOPE}/schematics`; -export const PUBLISHING_VERSION = '2211.35.0'; +export const PUBLISHING_VERSION = '2211.35.0-1'; From 86031890c07b9a3619068807c3761be04a906726 Mon Sep 17 00:00:00 2001 From: Stanislav Sukhanov Date: Wed, 29 Jan 2025 14:02:18 +0100 Subject: [PATCH 7/8] fix: (CXSPA-9040) Pick Up in store. Product availability Icon (#19946) --- .../components/presentational/store/store.component.html | 1 + 1 file changed, 1 insertion(+) diff --git a/feature-libs/pickup-in-store/components/presentational/store/store.component.html b/feature-libs/pickup-in-store/components/presentational/store/store.component.html index 4090dc6d34a..4498e751f7d 100644 --- a/feature-libs/pickup-in-store/components/presentational/store/store.component.html +++ b/feature-libs/pickup-in-store/components/presentational/store/store.component.html @@ -42,6 +42,7 @@
From 7875cc7c18fecafa91ee8514828ecb3aa2b48a87 Mon Sep 17 00:00:00 2001 From: lasoh Date: Wed, 29 Jan 2025 15:12:06 +0100 Subject: [PATCH 8/8] Feature/cxspa 9278 fix cds translations (#19939) Co-authored-by: Artur Lasocha Co-authored-by: Krzysztof Platis --- .../translations/cs/{cdsRecentSearches.json => cds.json} | 4 +++- .../cds/assets/translations/cs/cdsTrendingSearches.json | 6 ------ integration-libs/cds/assets/translations/cs/index.ts | 6 ++---- .../translations/de/{cdsRecentSearches.json => cds.json} | 4 +++- .../cds/assets/translations/de/cdsTrendingSearches.json | 6 ------ integration-libs/cds/assets/translations/de/index.ts | 6 ++---- .../en/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/en/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/en/index.ts | 6 ++---- .../es/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/es/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/es/index.ts | 6 ++---- integration-libs/cds/assets/translations/es_CO/cds.json | 8 ++++++++ .../cds/assets/translations/es_CO/cdsRecentSearches.json | 6 ------ .../assets/translations/es_CO/cdsTrendingSearches.json | 6 ------ integration-libs/cds/assets/translations/es_CO/index.ts | 6 ++---- .../fr/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/fr/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/fr/index.ts | 6 ++---- .../hi/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/hi/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/hi/index.ts | 6 ++---- .../hu/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/hu/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/hu/index.ts | 6 ++---- .../id/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/id/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/id/index.ts | 6 ++---- .../it/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/it/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/it/index.ts | 6 ++---- .../ja/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/ja/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/ja/index.ts | 6 ++---- .../ko/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/ko/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/ko/index.ts | 6 ++---- .../pl/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/pl/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/pl/index.ts | 6 ++---- .../pt/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/pt/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/pt/index.ts | 6 ++---- .../ru/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/ru/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/ru/index.ts | 6 ++---- .../zh/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/zh/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/zh/index.ts | 6 ++---- .../zh_TW/{cdsTrendingSearches.json => cds.json} | 4 +++- .../cds/assets/translations/zh_TW/cdsRecentSearches.json | 6 ------ integration-libs/cds/assets/translations/zh_TW/index.ts | 6 ++---- .../src/recent-searches/recent-searches.component.html | 2 +- .../trending-searches/trending-searches.component.html | 2 +- projects/assets/src/translations/cs/common.json | 2 ++ projects/assets/src/translations/de/common.json | 2 ++ projects/assets/src/translations/en/common.json | 2 ++ projects/assets/src/translations/es/common.json | 2 ++ projects/assets/src/translations/es_CO/common.json | 2 ++ projects/assets/src/translations/fr/common.json | 2 ++ projects/assets/src/translations/hi/common.json | 2 ++ projects/assets/src/translations/hu/common.json | 2 ++ projects/assets/src/translations/id/common.json | 2 ++ projects/assets/src/translations/it/common.json | 2 ++ projects/assets/src/translations/ja/common.json | 2 ++ projects/assets/src/translations/ko/common.json | 2 ++ projects/assets/src/translations/pl/common.json | 2 ++ projects/assets/src/translations/pt/common.json | 2 ++ projects/assets/src/translations/ru/common.json | 2 ++ projects/assets/src/translations/zh/common.json | 2 ++ projects/assets/src/translations/zh_TW/common.json | 2 ++ .../navigation/search-box/search-box.component.html | 4 ++-- 72 files changed, 128 insertions(+), 196 deletions(-) rename integration-libs/cds/assets/translations/cs/{cdsRecentSearches.json => cds.json} (51%) delete mode 100644 integration-libs/cds/assets/translations/cs/cdsTrendingSearches.json rename integration-libs/cds/assets/translations/de/{cdsRecentSearches.json => cds.json} (54%) delete mode 100644 integration-libs/cds/assets/translations/de/cdsTrendingSearches.json rename integration-libs/cds/assets/translations/en/{cdsTrendingSearches.json => cds.json} (52%) delete mode 100644 integration-libs/cds/assets/translations/en/cdsRecentSearches.json rename integration-libs/cds/assets/translations/es/{cdsTrendingSearches.json => cds.json} (51%) delete mode 100644 integration-libs/cds/assets/translations/es/cdsRecentSearches.json create mode 100644 integration-libs/cds/assets/translations/es_CO/cds.json delete mode 100644 integration-libs/cds/assets/translations/es_CO/cdsRecentSearches.json delete mode 100644 integration-libs/cds/assets/translations/es_CO/cdsTrendingSearches.json rename integration-libs/cds/assets/translations/fr/{cdsTrendingSearches.json => cds.json} (51%) delete mode 100644 integration-libs/cds/assets/translations/fr/cdsRecentSearches.json rename integration-libs/cds/assets/translations/hi/{cdsTrendingSearches.json => cds.json} (50%) delete mode 100644 integration-libs/cds/assets/translations/hi/cdsRecentSearches.json rename integration-libs/cds/assets/translations/hu/{cdsTrendingSearches.json => cds.json} (52%) delete mode 100644 integration-libs/cds/assets/translations/hu/cdsRecentSearches.json rename integration-libs/cds/assets/translations/id/{cdsTrendingSearches.json => cds.json} (51%) delete mode 100644 integration-libs/cds/assets/translations/id/cdsRecentSearches.json rename integration-libs/cds/assets/translations/it/{cdsTrendingSearches.json => cds.json} (52%) delete mode 100644 integration-libs/cds/assets/translations/it/cdsRecentSearches.json rename integration-libs/cds/assets/translations/ja/{cdsTrendingSearches.json => cds.json} (52%) delete mode 100644 integration-libs/cds/assets/translations/ja/cdsRecentSearches.json rename integration-libs/cds/assets/translations/ko/{cdsTrendingSearches.json => cds.json} (52%) delete mode 100644 integration-libs/cds/assets/translations/ko/cdsRecentSearches.json rename integration-libs/cds/assets/translations/pl/{cdsTrendingSearches.json => cds.json} (52%) delete mode 100644 integration-libs/cds/assets/translations/pl/cdsRecentSearches.json rename integration-libs/cds/assets/translations/pt/{cdsTrendingSearches.json => cds.json} (53%) delete mode 100644 integration-libs/cds/assets/translations/pt/cdsRecentSearches.json rename integration-libs/cds/assets/translations/ru/{cdsTrendingSearches.json => cds.json} (51%) delete mode 100644 integration-libs/cds/assets/translations/ru/cdsRecentSearches.json rename integration-libs/cds/assets/translations/zh/{cdsTrendingSearches.json => cds.json} (52%) delete mode 100644 integration-libs/cds/assets/translations/zh/cdsRecentSearches.json rename integration-libs/cds/assets/translations/zh_TW/{cdsTrendingSearches.json => cds.json} (52%) delete mode 100644 integration-libs/cds/assets/translations/zh_TW/cdsRecentSearches.json diff --git a/integration-libs/cds/assets/translations/cs/cdsRecentSearches.json b/integration-libs/cds/assets/translations/cs/cds.json similarity index 51% rename from integration-libs/cds/assets/translations/cs/cdsRecentSearches.json rename to integration-libs/cds/assets/translations/cs/cds.json index fd382f9e306..767461fc5f0 100644 --- a/integration-libs/cds/assets/translations/cs/cdsRecentSearches.json +++ b/integration-libs/cds/assets/translations/cs/cds.json @@ -1,6 +1,8 @@ { "cdsRecentSearches": { - "recentSearches": "Nejnovější hledání", "ariaRecentSearches": "vypisování nejnovějších hledání" + }, + "cdsTrendingSearches": { + "ariaTrendingSearches": "vypisování častých hledání" } } diff --git a/integration-libs/cds/assets/translations/cs/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/cs/cdsTrendingSearches.json deleted file mode 100644 index 93034f36d38..00000000000 --- a/integration-libs/cds/assets/translations/cs/cdsTrendingSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsTrendingSearches": { - "trendingSearches": "Častá hledání", - "ariaTrendingSearches": "vypisování častých hledání" - } -} diff --git a/integration-libs/cds/assets/translations/cs/index.ts b/integration-libs/cds/assets/translations/cs/index.ts index 2bb349d0284..e1b603c5339 100644 --- a/integration-libs/cds/assets/translations/cs/index.ts +++ b/integration-libs/cds/assets/translations/cs/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const cs = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/de/cdsRecentSearches.json b/integration-libs/cds/assets/translations/de/cds.json similarity index 54% rename from integration-libs/cds/assets/translations/de/cdsRecentSearches.json rename to integration-libs/cds/assets/translations/de/cds.json index 262a931c6bc..12f181dfcd9 100644 --- a/integration-libs/cds/assets/translations/de/cdsRecentSearches.json +++ b/integration-libs/cds/assets/translations/de/cds.json @@ -1,6 +1,8 @@ { "cdsRecentSearches": { - "recentSearches": "Vor kurzem verwendete Suchen", "ariaRecentSearches": "Eingabe der vor kurzem verwendeten Suchen" + }, + "cdsTrendingSearches": { + "ariaTrendingSearches": "Eingabe von Trendsuchen" } } diff --git a/integration-libs/cds/assets/translations/de/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/de/cdsTrendingSearches.json deleted file mode 100644 index c333023fcff..00000000000 --- a/integration-libs/cds/assets/translations/de/cdsTrendingSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsTrendingSearches": { - "trendingSearches": "Trendsuchen", - "ariaTrendingSearches": "Eingabe von Trendsuchen" - } -} diff --git a/integration-libs/cds/assets/translations/de/index.ts b/integration-libs/cds/assets/translations/de/index.ts index 508297384ef..bf8452a7c0a 100644 --- a/integration-libs/cds/assets/translations/de/index.ts +++ b/integration-libs/cds/assets/translations/de/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const de = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/en/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/en/cds.json similarity index 52% rename from integration-libs/cds/assets/translations/en/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/en/cds.json index 9b0b842b1f3..fe03096542b 100644 --- a/integration-libs/cds/assets/translations/en/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/en/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "typing recent searches" + }, "cdsTrendingSearches": { - "trendingSearches": "Trending Searches", "ariaTrendingSearches": "typing trending searches" } } diff --git a/integration-libs/cds/assets/translations/en/cdsRecentSearches.json b/integration-libs/cds/assets/translations/en/cdsRecentSearches.json deleted file mode 100644 index 55dd343602f..00000000000 --- a/integration-libs/cds/assets/translations/en/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Recent Searches", - "ariaRecentSearches": "typing recent searches" - } -} diff --git a/integration-libs/cds/assets/translations/en/index.ts b/integration-libs/cds/assets/translations/en/index.ts index 91266cb7043..20afab074f6 100644 --- a/integration-libs/cds/assets/translations/en/index.ts +++ b/integration-libs/cds/assets/translations/en/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const en = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/es/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/es/cds.json similarity index 51% rename from integration-libs/cds/assets/translations/es/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/es/cds.json index 133f1344188..208dcf96c35 100644 --- a/integration-libs/cds/assets/translations/es/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/es/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "escribiendo búsquedas recientes" + }, "cdsTrendingSearches": { - "trendingSearches": "Búsquedas populares", "ariaTrendingSearches": "escribiendo búsquedas populares" } } diff --git a/integration-libs/cds/assets/translations/es/cdsRecentSearches.json b/integration-libs/cds/assets/translations/es/cdsRecentSearches.json deleted file mode 100644 index 520948401a4..00000000000 --- a/integration-libs/cds/assets/translations/es/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Búsquedas recientes", - "ariaRecentSearches": "escribiendo búsquedas recientes" - } -} diff --git a/integration-libs/cds/assets/translations/es/index.ts b/integration-libs/cds/assets/translations/es/index.ts index 759edb4439c..41b4c166052 100644 --- a/integration-libs/cds/assets/translations/es/index.ts +++ b/integration-libs/cds/assets/translations/es/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const es = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/es_CO/cds.json b/integration-libs/cds/assets/translations/es_CO/cds.json new file mode 100644 index 00000000000..208dcf96c35 --- /dev/null +++ b/integration-libs/cds/assets/translations/es_CO/cds.json @@ -0,0 +1,8 @@ +{ + "cdsRecentSearches": { + "ariaRecentSearches": "escribiendo búsquedas recientes" + }, + "cdsTrendingSearches": { + "ariaTrendingSearches": "escribiendo búsquedas populares" + } +} diff --git a/integration-libs/cds/assets/translations/es_CO/cdsRecentSearches.json b/integration-libs/cds/assets/translations/es_CO/cdsRecentSearches.json deleted file mode 100644 index 520948401a4..00000000000 --- a/integration-libs/cds/assets/translations/es_CO/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Búsquedas recientes", - "ariaRecentSearches": "escribiendo búsquedas recientes" - } -} diff --git a/integration-libs/cds/assets/translations/es_CO/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/es_CO/cdsTrendingSearches.json deleted file mode 100644 index e12568d5bf0..00000000000 --- a/integration-libs/cds/assets/translations/es_CO/cdsTrendingSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsTrendingSearches": { - "trendingSearches": "Búsquedas más populares", - "ariaTrendingSearches": "escribiendo búsquedas más populares" - } -} diff --git a/integration-libs/cds/assets/translations/es_CO/index.ts b/integration-libs/cds/assets/translations/es_CO/index.ts index fc87761682f..8d3429019d8 100644 --- a/integration-libs/cds/assets/translations/es_CO/index.ts +++ b/integration-libs/cds/assets/translations/es_CO/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const es_CO = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/fr/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/fr/cds.json similarity index 51% rename from integration-libs/cds/assets/translations/fr/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/fr/cds.json index 712bc0c5f80..d1286adf33a 100644 --- a/integration-libs/cds/assets/translations/fr/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/fr/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "Saisie des recherches récentes" + }, "cdsTrendingSearches": { - "trendingSearches": "Recherches tendances", "ariaTrendingSearches": "Saisie de recherches tendances" } } diff --git a/integration-libs/cds/assets/translations/fr/cdsRecentSearches.json b/integration-libs/cds/assets/translations/fr/cdsRecentSearches.json deleted file mode 100644 index 3c6e7c3f4ec..00000000000 --- a/integration-libs/cds/assets/translations/fr/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Recherches récentes", - "ariaRecentSearches": "Saisie des recherches récentes" - } -} diff --git a/integration-libs/cds/assets/translations/fr/index.ts b/integration-libs/cds/assets/translations/fr/index.ts index 9b92da5fe9d..e657a18b7d4 100644 --- a/integration-libs/cds/assets/translations/fr/index.ts +++ b/integration-libs/cds/assets/translations/fr/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const fr = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/hi/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/hi/cds.json similarity index 50% rename from integration-libs/cds/assets/translations/hi/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/hi/cds.json index 86ef1995a15..c3bc7462168 100644 --- a/integration-libs/cds/assets/translations/hi/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/hi/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "तात्कालिक खोजें टाइप कर रहे हैं" + }, "cdsTrendingSearches": { - "trendingSearches": "ट्रेडिंग खोजें", "ariaTrendingSearches": "ट्रेडिंग खोजें टाइप कर रहे हैं" } } diff --git a/integration-libs/cds/assets/translations/hi/cdsRecentSearches.json b/integration-libs/cds/assets/translations/hi/cdsRecentSearches.json deleted file mode 100644 index 49ddac6e287..00000000000 --- a/integration-libs/cds/assets/translations/hi/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "तात्कालिक खोजें", - "ariaRecentSearches": "तात्कालिक खोजें टाइप कर रहे हैं" - } -} diff --git a/integration-libs/cds/assets/translations/hi/index.ts b/integration-libs/cds/assets/translations/hi/index.ts index 396239a7e87..0276b2dbecc 100644 --- a/integration-libs/cds/assets/translations/hi/index.ts +++ b/integration-libs/cds/assets/translations/hi/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const hi = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/hu/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/hu/cds.json similarity index 52% rename from integration-libs/cds/assets/translations/hu/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/hu/cds.json index 89df50392f3..517d9e59d53 100644 --- a/integration-libs/cds/assets/translations/hu/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/hu/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "legutóbbi keresések gépelése" + }, "cdsTrendingSearches": { - "trendingSearches": "Népszerű keresések", "ariaTrendingSearches": "népszerű keresések begépelése" } } diff --git a/integration-libs/cds/assets/translations/hu/cdsRecentSearches.json b/integration-libs/cds/assets/translations/hu/cdsRecentSearches.json deleted file mode 100644 index 418fcbfa94c..00000000000 --- a/integration-libs/cds/assets/translations/hu/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Legutóbbi keresések", - "ariaRecentSearches": "legutóbbi keresések gépelése" - } -} diff --git a/integration-libs/cds/assets/translations/hu/index.ts b/integration-libs/cds/assets/translations/hu/index.ts index 0e0fa88ead7..32148bbdd3c 100644 --- a/integration-libs/cds/assets/translations/hu/index.ts +++ b/integration-libs/cds/assets/translations/hu/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const hu = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/id/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/id/cds.json similarity index 51% rename from integration-libs/cds/assets/translations/id/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/id/cds.json index 31d4b8d3705..2ea3adbb091 100644 --- a/integration-libs/cds/assets/translations/id/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/id/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "mengetik pencarian terbaru" + }, "cdsTrendingSearches": { - "trendingSearches": "Pencarian Populer", "ariaTrendingSearches": "mengetik pencarian populer" } } diff --git a/integration-libs/cds/assets/translations/id/cdsRecentSearches.json b/integration-libs/cds/assets/translations/id/cdsRecentSearches.json deleted file mode 100644 index 22f9a905b5f..00000000000 --- a/integration-libs/cds/assets/translations/id/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Pencarian Terbaru", - "ariaRecentSearches": "mengetik pencarian terbaru" - } -} diff --git a/integration-libs/cds/assets/translations/id/index.ts b/integration-libs/cds/assets/translations/id/index.ts index be6884c77ba..9611bc94b44 100644 --- a/integration-libs/cds/assets/translations/id/index.ts +++ b/integration-libs/cds/assets/translations/id/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const id = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/it/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/it/cds.json similarity index 52% rename from integration-libs/cds/assets/translations/it/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/it/cds.json index 499d099230b..6219aa9620e 100644 --- a/integration-libs/cds/assets/translations/it/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/it/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "inserimento di ricerche recenti in corso" + }, "cdsTrendingSearches": { - "trendingSearches": "Ricerche di tendenza", "ariaTrendingSearches": "inserimento di ricerche di tendenza in corso" } } diff --git a/integration-libs/cds/assets/translations/it/cdsRecentSearches.json b/integration-libs/cds/assets/translations/it/cdsRecentSearches.json deleted file mode 100644 index cb997ca1c35..00000000000 --- a/integration-libs/cds/assets/translations/it/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Ricerche recenti", - "ariaRecentSearches": "inserimento di ricerche recenti in corso" - } -} diff --git a/integration-libs/cds/assets/translations/it/index.ts b/integration-libs/cds/assets/translations/it/index.ts index a153ba57928..8b6ca98acb2 100644 --- a/integration-libs/cds/assets/translations/it/index.ts +++ b/integration-libs/cds/assets/translations/it/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const it = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/ja/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/ja/cds.json similarity index 52% rename from integration-libs/cds/assets/translations/ja/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/ja/cds.json index a7dbd269e17..ba312be3237 100644 --- a/integration-libs/cds/assets/translations/ja/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/ja/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "最近の検索を入力" + }, "cdsTrendingSearches": { - "trendingSearches": "検索の傾向", "ariaTrendingSearches": "検索の傾向を入力" } } diff --git a/integration-libs/cds/assets/translations/ja/cdsRecentSearches.json b/integration-libs/cds/assets/translations/ja/cdsRecentSearches.json deleted file mode 100644 index b383ccd8765..00000000000 --- a/integration-libs/cds/assets/translations/ja/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "最近の検索", - "ariaRecentSearches": "最近の検索を入力" - } -} diff --git a/integration-libs/cds/assets/translations/ja/index.ts b/integration-libs/cds/assets/translations/ja/index.ts index dbd0d19950d..d4e22fe3100 100644 --- a/integration-libs/cds/assets/translations/ja/index.ts +++ b/integration-libs/cds/assets/translations/ja/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const ja = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/ko/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/ko/cds.json similarity index 52% rename from integration-libs/cds/assets/translations/ko/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/ko/cds.json index 20935c0a790..dbf834a7ea8 100644 --- a/integration-libs/cds/assets/translations/ko/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/ko/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "최근 검색 입력" + }, "cdsTrendingSearches": { - "trendingSearches": "인기 검색어", "ariaTrendingSearches": "인기 검색어 입력" } } diff --git a/integration-libs/cds/assets/translations/ko/cdsRecentSearches.json b/integration-libs/cds/assets/translations/ko/cdsRecentSearches.json deleted file mode 100644 index 4fb30696eb7..00000000000 --- a/integration-libs/cds/assets/translations/ko/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "최근 검색", - "ariaRecentSearches": "최근 검색 입력" - } -} diff --git a/integration-libs/cds/assets/translations/ko/index.ts b/integration-libs/cds/assets/translations/ko/index.ts index 1f3fc9a4cc1..533d3064f90 100644 --- a/integration-libs/cds/assets/translations/ko/index.ts +++ b/integration-libs/cds/assets/translations/ko/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const ko = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/pl/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/pl/cds.json similarity index 52% rename from integration-libs/cds/assets/translations/pl/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/pl/cds.json index 26e07013c81..ea068d09ae9 100644 --- a/integration-libs/cds/assets/translations/pl/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/pl/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "wpisywanie ostatnich wyszukiwań" + }, "cdsTrendingSearches": { - "trendingSearches": "Popularne wyszukiwania", "ariaTrendingSearches": "wpisywanie popularnych wyszukiwań" } } diff --git a/integration-libs/cds/assets/translations/pl/cdsRecentSearches.json b/integration-libs/cds/assets/translations/pl/cdsRecentSearches.json deleted file mode 100644 index fda9b10862c..00000000000 --- a/integration-libs/cds/assets/translations/pl/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Ostatnie wyszukiwania", - "ariaRecentSearches": "wpisywanie ostatnich wyszukiwań" - } -} diff --git a/integration-libs/cds/assets/translations/pl/index.ts b/integration-libs/cds/assets/translations/pl/index.ts index 0417c5c7cae..4f3e74a1c9f 100644 --- a/integration-libs/cds/assets/translations/pl/index.ts +++ b/integration-libs/cds/assets/translations/pl/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const pl = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/pt/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/pt/cds.json similarity index 53% rename from integration-libs/cds/assets/translations/pt/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/pt/cds.json index d58d99b406b..b6325b0952c 100644 --- a/integration-libs/cds/assets/translations/pt/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/pt/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "digitando pesquisas recentes" + }, "cdsTrendingSearches": { - "trendingSearches": "Pesquisas de tendência", "ariaTrendingSearches": "digitando pesquisas de tendência" } } diff --git a/integration-libs/cds/assets/translations/pt/cdsRecentSearches.json b/integration-libs/cds/assets/translations/pt/cdsRecentSearches.json deleted file mode 100644 index 3f31bfd02d4..00000000000 --- a/integration-libs/cds/assets/translations/pt/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Pesquisas recentes", - "ariaRecentSearches": "digitando pesquisas recentes" - } -} diff --git a/integration-libs/cds/assets/translations/pt/index.ts b/integration-libs/cds/assets/translations/pt/index.ts index 5eff7ec0ea9..b7257e960e2 100644 --- a/integration-libs/cds/assets/translations/pt/index.ts +++ b/integration-libs/cds/assets/translations/pt/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const pt = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/ru/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/ru/cds.json similarity index 51% rename from integration-libs/cds/assets/translations/ru/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/ru/cds.json index 839090595a2..8d25fcbc776 100644 --- a/integration-libs/cds/assets/translations/ru/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/ru/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "ввод последних поисковых запросов" + }, "cdsTrendingSearches": { - "trendingSearches": "Популярные поисковые запросы", "ariaTrendingSearches": "ввод популярных поисковых запросов" } } diff --git a/integration-libs/cds/assets/translations/ru/cdsRecentSearches.json b/integration-libs/cds/assets/translations/ru/cdsRecentSearches.json deleted file mode 100644 index 279707b1729..00000000000 --- a/integration-libs/cds/assets/translations/ru/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "Последние поисковые запросы", - "ariaRecentSearches": "ввод последних поисковых запросов" - } -} diff --git a/integration-libs/cds/assets/translations/ru/index.ts b/integration-libs/cds/assets/translations/ru/index.ts index d4ab2e19c3e..7e43ec8d468 100644 --- a/integration-libs/cds/assets/translations/ru/index.ts +++ b/integration-libs/cds/assets/translations/ru/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const ru = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/zh/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/zh/cds.json similarity index 52% rename from integration-libs/cds/assets/translations/zh/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/zh/cds.json index 344d9439ec4..889f9936230 100644 --- a/integration-libs/cds/assets/translations/zh/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/zh/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "输入最近搜索" + }, "cdsTrendingSearches": { - "trendingSearches": "趋势搜索", "ariaTrendingSearches": "键入趋势搜索" } } diff --git a/integration-libs/cds/assets/translations/zh/cdsRecentSearches.json b/integration-libs/cds/assets/translations/zh/cdsRecentSearches.json deleted file mode 100644 index 01c3ab9c8cb..00000000000 --- a/integration-libs/cds/assets/translations/zh/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "最近搜索", - "ariaRecentSearches": "输入最近搜索" - } -} diff --git a/integration-libs/cds/assets/translations/zh/index.ts b/integration-libs/cds/assets/translations/zh/index.ts index 8dd60ce9ace..d48883cc1a7 100644 --- a/integration-libs/cds/assets/translations/zh/index.ts +++ b/integration-libs/cds/assets/translations/zh/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const zh = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/assets/translations/zh_TW/cdsTrendingSearches.json b/integration-libs/cds/assets/translations/zh_TW/cds.json similarity index 52% rename from integration-libs/cds/assets/translations/zh_TW/cdsTrendingSearches.json rename to integration-libs/cds/assets/translations/zh_TW/cds.json index 05eeeb7f17b..f219b5ec5dc 100644 --- a/integration-libs/cds/assets/translations/zh_TW/cdsTrendingSearches.json +++ b/integration-libs/cds/assets/translations/zh_TW/cds.json @@ -1,6 +1,8 @@ { + "cdsRecentSearches": { + "ariaRecentSearches": "輸入最近搜尋" + }, "cdsTrendingSearches": { - "trendingSearches": "趨勢搜尋", "ariaTrendingSearches": "輸入趨勢搜尋" } } diff --git a/integration-libs/cds/assets/translations/zh_TW/cdsRecentSearches.json b/integration-libs/cds/assets/translations/zh_TW/cdsRecentSearches.json deleted file mode 100644 index 13aec8cbce2..00000000000 --- a/integration-libs/cds/assets/translations/zh_TW/cdsRecentSearches.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cdsRecentSearches": { - "recentSearches": "最近搜尋", - "ariaRecentSearches": "輸入最近搜尋" - } -} diff --git a/integration-libs/cds/assets/translations/zh_TW/index.ts b/integration-libs/cds/assets/translations/zh_TW/index.ts index b7d4e689381..121937bc8d1 100644 --- a/integration-libs/cds/assets/translations/zh_TW/index.ts +++ b/integration-libs/cds/assets/translations/zh_TW/index.ts @@ -4,9 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import cdsRecentSearches from './cdsRecentSearches.json'; -import cdsTrendingSearches from './cdsTrendingSearches.json'; +import cds from './cds.json'; export const zh_TW = { - cdsRecentSearches, - cdsTrendingSearches, + cds, }; diff --git a/integration-libs/cds/src/recent-searches/recent-searches.component.html b/integration-libs/cds/src/recent-searches/recent-searches.component.html index e4e08490a91..36ebf6fd659 100644 --- a/integration-libs/cds/src/recent-searches/recent-searches.component.html +++ b/integration-libs/cds/src/recent-searches/recent-searches.component.html @@ -2,7 +2,7 @@

- {{ 'cdsRecentSearches.recentSearches' | cxTranslate }} + {{ 'searchBox.recentSearches' | cxTranslate }}