Skip to content

Commit 153cc5f

Browse files
committed
Merge branch 'develop' into epic/punchout
2 parents 7bc1f4b + b11c068 commit 153cc5f

File tree

220 files changed

+22182
-24219
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

220 files changed

+22182
-24219
lines changed

.eslintignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
index.d.ts

.eslintrc.json

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
"error",
7979
{
8080
"allow": [],
81+
"allowCircularSelfDependency": true,
8182
"depConstraints": [
8283
{
8384
"sourceTag": "*",

.github/workflows/ci-merge-checks.yml

+17-18
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,20 @@ on:
77
- release-*
88
workflow_dispatch:
99
# empty as it is used only to manually trigger the workflow
10-
10+
1111
env:
1212
CYPRESS_KEY: ${{ secrets.CYPRESS_KEY }}
1313
GH_TOKEN: ${{ github.token }}
1414
NODE_VERSION: '20'
15-
AMP_API_TOKEN: ${{ secrets.AMP_API_TOKEN }}
1615
CONTINUUM_REGISTRY_TOKEN: ${{ secrets.CONTINUUM_REGISTRY_TOKEN }}
1716

18-
concurrency:
17+
concurrency:
1918
group: ci-merge-checks-${{ github.head_ref || github.run_id }}
2019
cancel-in-progress: true
2120

2221
name: Merge Checks
2322
jobs:
24-
no_retries:
23+
no_retries:
2524
name: MC - Prevent retries
2625
# E2Es can't be retried. Moreover, in some retry cases, they don't run
2726
# and the job returns a success code.
@@ -31,20 +30,20 @@ jobs:
3130
uses: actions/github-script@v7
3231
with:
3332
script: |
34-
core.setFailed('Please push a commit to trigger the build. To push an empty commit you can use `git commit --allow-empty -m "Trigger Build"`')
33+
core.setFailed('Please push a commit to trigger the build. To push an empty commit you can use `git commit --allow-empty -m "Trigger Build"`')
3534
if: ${{ github.run_attempt > 1 }}
3635
validate_e2e_execution:
3736
name: MC - Confirm e2es should run
3837
runs-on: ubuntu-latest
39-
outputs:
38+
outputs:
4039
SHOULD_RUN_E2E: ${{ steps.save-e2e-output-result.outputs.SHOULD_RUN_E2E }}
4140
steps:
4241
- uses: actions/checkout@v4
4342
with:
4443
fetch-depth: 0
4544
- name: Determine whether to run e2es
4645
id: save-e2e-output-result
47-
run: |
46+
run: |
4847
source ci-scripts/validate-e2e-execution.sh
4948
echo "::set-output name=SHOULD_RUN_E2E::$(echo $RUN_E2E)"
5049
b2c_e2e_tests:
@@ -60,7 +59,7 @@ jobs:
6059
uses: actions/github-script@v7
6160
with:
6261
script: |
63-
core.setFailed('Please push a commit to trigger the build. To push an empty commit you can use `git commit --allow-empty -m "Trigger Build"`')
62+
core.setFailed('Please push a commit to trigger the build. To push an empty commit you can use `git commit --allow-empty -m "Trigger Build"`')
6463
if: ${{ github.run_attempt > 1 }}
6564
- uses: actions/checkout@v4
6665
- name: Setup node
@@ -71,14 +70,14 @@ jobs:
7170
id: cache-node-modules
7271
uses: actions/cache@v4
7372
with:
74-
path: |
73+
path: |
7574
node_modules
7675
projects/storefrontapp-e2e-cypress/node_modules
7776
~/.cache/Cypress
7877
key: nodemodules-${{ github.event.pull_request.base.sha }}
7978
restore-keys: nodemodules-${{ github.event.pull_request.base.sha }}
8079
- name: Run e2es
81-
env:
80+
env:
8281
SPA_ENV: ci,b2c
8382
BUILD_NUMBER: ci-build-number-${{ github.event.pull_request.head.sha || github.run_id }}
8483
run: |
@@ -93,7 +92,7 @@ jobs:
9392
uses: actions/github-script@v7
9493
with:
9594
script: |
96-
core.setFailed('Please push a commit to trigger the build. To push an empty commit you can use `git commit --allow-empty -m "Trigger Build"`')
95+
core.setFailed('Please push a commit to trigger the build. To push an empty commit you can use `git commit --allow-empty -m "Trigger Build"`')
9796
if: ${{ github.run_attempt > 1 }}
9897
- uses: actions/checkout@v4
9998
- name: Setup node
@@ -104,14 +103,14 @@ jobs:
104103
id: cache-node-modules
105104
uses: actions/cache@v4
106105
with:
107-
path: |
106+
path: |
108107
node_modules
109108
projects/storefrontapp-e2e-cypress/node_modules
110109
~/.cache/Cypress
111110
key: nodemodules-${{ github.event.pull_request.base.sha }}
112111
restore-keys: nodemodules-${{ github.event.pull_request.base.sha }}
113112
- name: Run e2es
114-
env:
113+
env:
115114
SPA_ENV: ci,b2c
116115
BUILD_NUMBER: ci-build-number-${{ github.event.pull_request.head.sha || github.run_id }}
117116
run: |
@@ -129,7 +128,7 @@ jobs:
129128
uses: actions/github-script@v7
130129
with:
131130
script: |
132-
core.setFailed('Please push a commit to trigger the build. To push an empty commit you can use `git commit --allow-empty -m "Trigger Build"`')
131+
core.setFailed('Please push a commit to trigger the build. To push an empty commit you can use `git commit --allow-empty -m "Trigger Build"`')
133132
if: ${{ github.run_attempt > 1 }}
134133
- uses: actions/checkout@v4
135134
- name: Setup node
@@ -140,7 +139,7 @@ jobs:
140139
id: cache-node-modules
141140
uses: actions/cache@v4
142141
with:
143-
path: |
142+
path: |
144143
node_modules
145144
projects/storefrontapp-e2e-cypress/node_modules
146145
~/.cache/Cypress
@@ -150,7 +149,7 @@ jobs:
150149
env:
151150
SPA_ENV: ci,b2b
152151
BUILD_NUMBER: ci-build-number-${{ github.event.pull_request.head.sha || github.run_id }}
153-
run: |
152+
run: |
154153
ci-scripts/e2e-cypress.sh -s b2b
155154
merge_checks_result:
156155
needs: [b2c_e2e_tests, b2c_ssr_e2e_tests, b2b_e2e_tests]
@@ -167,11 +166,11 @@ jobs:
167166
owner: context.repo.owner,
168167
repo: context.repo.repo,
169168
body: `# Merge Checks Failed
170-
Please push a commit to re-trigger the build.
169+
Please push a commit to re-trigger the build.
171170
To push an empty commit you can use \`git commit --allow-empty -m "Trigger Build"\``
172171
})
173172
core.setFailed('Please push a commit to re-trigger the build. To push an empty commit you can use `git commit --allow-empty -m "Trigger Build"`')
174173
if: |
175174
needs.b2c_e2e_tests.result == 'failure' || needs.b2c_e2e_tests.result == 'cancelled' ||
176-
needs.b2c_ssr_e2e_tests.result == 'failure' || needs.b2c_ssr_e2e_tests.result == 'cancelled' ||
175+
needs.b2c_ssr_e2e_tests.result == 'failure' || needs.b2c_ssr_e2e_tests.result == 'cancelled' ||
177176
needs.b2b_e2e_tests.result == 'failure' || needs.b2b_e2e_tests.result == 'cancelled'

.github/workflows/ci.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ on:
1010
env:
1111
CYPRESS_KEY: ${{ secrets.CYPRESS_KEY }}
1212
NODE_VERSION: '20'
13-
AMP_API_TOKEN: ${{ secrets.AMP_API_TOKEN }}
1413
CONTINUUM_REGISTRY_TOKEN: ${{ secrets.CONTINUUM_REGISTRY_TOKEN }}
1514

1615
concurrency:
@@ -232,7 +231,7 @@ jobs:
232231
id: cache-node-modules
233232
uses: actions/cache@v4
234233
with:
235-
path: |
234+
path: |
236235
node_modules
237236
key: nodemodules-${{ github.event.pull_request.base.sha }}
238237
restore-keys: nodemodules-${{ github.event.pull_request.base.sha }}

.stylelintrc.json

+2-7
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,9 @@
3838
"margin-inline"
3939
],
4040
"declaration-property-value-disallowed-list": {
41-
"text-align": [
42-
"right",
43-
"left"
44-
]
41+
"text-align": ["right", "left"]
4542
},
4643
"scss/comment-no-loud": true
4744
},
48-
"ignoreFiles": [
49-
"projects/storefrontstyles/vendor/**/*.scss"
50-
]
45+
"ignoreFiles": ["projects/storefrontstyles/vendor/**/*.scss"]
5146
}

core-libs/setup/package.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@spartacus/setup",
3-
"version": "2211.37.0-1",
3+
"version": "2211.37.0",
44
"description": "Includes features that makes Spartacus and it's setup easier and streamlined.",
55
"keywords": [
66
"spartacus",
@@ -19,15 +19,15 @@
1919
"tslib": "^2.8.1"
2020
},
2121
"peerDependencies": {
22-
"@angular/core": "^19.0.3",
23-
"@angular/ssr": "^19.0.4",
24-
"@spartacus/cart": "2211.37.0-1",
25-
"@spartacus/core": "2211.37.0-1",
26-
"@spartacus/order": "2211.37.0-1",
27-
"@spartacus/user": "2211.37.0-1"
22+
"@angular/core": "^19.1.8",
23+
"@angular/ssr": "^19.1.9",
24+
"@spartacus/cart": "2211.37.0",
25+
"@spartacus/core": "2211.37.0",
26+
"@spartacus/order": "2211.37.0",
27+
"@spartacus/user": "2211.37.0"
2828
},
2929
"optionalDependencies": {
30-
"@angular/platform-server": "^19.0.3",
30+
"@angular/platform-server": "^19.1.8",
3131
"express": "^4.21.2"
3232
},
3333
"engines": {

core-libs/setup/ssr/engine/__snapshots__/cx-common-engine.spec.ts.snap

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ exports[`CxCommonEngine should handle APP_INITIALIZER errors the standard Angula
77

88
exports[`CxCommonEngine should handle errors propagated from SSR 1`] = `"test error"`;
99

10-
exports[`CxCommonEngine should not override providers passed to options 1`] = `"<html data-beasties-container><head></head><body><cx-token ng-version="19.0.3" ng-server-context="ssr">message:test</cx-token></body></html>"`;
10+
exports[`CxCommonEngine should not override providers passed to options 1`] = `"<html data-beasties-container><head></head><body><cx-token ng-version="19.1.8" ng-server-context="ssr">message:test</cx-token></body></html>"`;
1111

12-
exports[`CxCommonEngine should return html if no errors 1`] = `"<html data-beasties-container><head></head><body><cx-mock ng-version="19.0.3" ng-server-context="ssr">some template</cx-mock></body></html>"`;
12+
exports[`CxCommonEngine should return html if no errors 1`] = `"<html data-beasties-container><head></head><body><cx-mock ng-version="19.1.8" ng-server-context="ssr">some template</cx-mock></body></html>"`;

feature-libs/asm/package.json

+15-15
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@spartacus/asm",
3-
"version": "2211.37.0-1",
3+
"version": "2211.37.0",
44
"description": "ASM feature library for Spartacus",
55
"keywords": [
66
"spartacus",
@@ -25,21 +25,21 @@
2525
"tslib": "^2.8.1"
2626
},
2727
"peerDependencies": {
28-
"@angular-devkit/schematics": "^19.0.4",
29-
"@angular/common": "^19.0.3",
30-
"@angular/core": "^19.0.3",
31-
"@angular/forms": "^19.0.3",
28+
"@angular-devkit/schematics": "^19.1.9",
29+
"@angular/common": "^19.1.8",
30+
"@angular/core": "^19.1.8",
31+
"@angular/forms": "^19.1.8",
3232
"@ng-select/ng-select": "^14.1.0",
33-
"@ngrx/effects": "^19.0.0",
34-
"@ngrx/store": "^19.0.0",
35-
"@spartacus/cart": "2211.37.0-1",
36-
"@spartacus/core": "2211.37.0-1",
37-
"@spartacus/order": "2211.37.0-1",
38-
"@spartacus/schematics": "2211.37.0-1",
39-
"@spartacus/storefinder": "2211.37.0-1",
40-
"@spartacus/storefront": "2211.37.0-1",
41-
"@spartacus/styles": "2211.37.0-1",
42-
"@spartacus/user": "2211.37.0-1",
33+
"@ngrx/effects": "^19.0.1",
34+
"@ngrx/store": "^19.0.1",
35+
"@spartacus/cart": "2211.37.0",
36+
"@spartacus/core": "2211.37.0",
37+
"@spartacus/order": "2211.37.0",
38+
"@spartacus/schematics": "2211.37.0",
39+
"@spartacus/storefinder": "2211.37.0",
40+
"@spartacus/storefront": "2211.37.0",
41+
"@spartacus/styles": "2211.37.0",
42+
"@spartacus/user": "2211.37.0",
4343
"rxjs": "^7.8.0"
4444
},
4545
"engines": {

feature-libs/cart/base/components/cart-coupon/cart-coupon.component.html

+1-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
'!a11yDisabledCouponAndQuickOrderActionButtonsInsteadOfRequiredFields'
77
"
88
>
9-
<p *cxFeature="'a11yRequiredAsterisks'" class="form-legend">
10-
{{ 'formLegend.required' | cxTranslate }}
11-
</p>
9+
<cx-form-required-legend />
1210
</ng-container>
1311

1412
<form (ngSubmit)="applyVoucher()" [formGroup]="couponForm">

feature-libs/cart/base/components/cart-coupon/cart-coupon.module.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@ import {
1414
I18nModule,
1515
provideDefaultConfig,
1616
} from '@spartacus/core';
17-
import { FormErrorsModule, IconModule } from '@spartacus/storefront';
17+
import {
18+
FormErrorsModule,
19+
FormRequiredLegendComponent,
20+
IconModule,
21+
} from '@spartacus/storefront';
1822
import { AppliedCouponsComponent } from './applied-coupons/applied-coupons.component';
1923
import { CartCouponComponent } from './cart-coupon.component';
2024

@@ -30,6 +34,7 @@ import { CartCouponComponent } from './cart-coupon.component';
3034
IconModule,
3135
FormErrorsModule,
3236
FeaturesConfigModule,
37+
FormRequiredLegendComponent,
3338
],
3439
providers: [
3540
provideDefaultConfig(<CmsConfig>{

feature-libs/cart/base/styles/components/_item-counter.scss

+3
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@
7676
color: var(--cx-color, var(--cx-color-primary));
7777
cursor: pointer;
7878
font-weight: var(--cx-font-weight-bold);
79+
@include forFeature('a11yVisibleFocusOverflows') {
80+
z-index: 10;
81+
}
7982
}
8083

8184
// TODO: The styles for ":disabled" selector should be deleted when "a11yItemCounterFocus" feature flag has been removed

feature-libs/cart/import-export/components/import-to-cart/import-entries-dialog/import-to-new-saved-cart-form/import-to-new-saved-cart-form.component.html

+3-15
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,13 @@
1414
></cx-message>
1515
</div>
1616
</ng-container>
17-
<p *cxFeature="'a11yRequiredAsterisks'" class="form-legend">
18-
{{ 'formLegend.required' | cxTranslate }}
19-
</p>
17+
<cx-form-required-legend />
2018
<p class="cx-import-entries-subtitle">
2119
{{ 'importEntriesDialog.importProductsNewSavedCartSubtitle' | cxTranslate }}
2220
</p>
2321
<p>
2422
{{ 'importEntriesDialog.importProductFileDetails' | cxTranslate }}
25-
<ng-template [ngTemplateOutlet]="requiredAsterisk"></ng-template>
23+
<cx-form-required-asterisks />
2624
</p>
2725
<label>
2826
<cx-file-upload
@@ -41,7 +39,7 @@
4139
<label>
4240
<span class="cx-import-entries-label label-content">
4341
{{ 'importEntriesDialog.savedCartName' | cxTranslate }}
44-
<ng-template [ngTemplateOutlet]="requiredAsterisk"></ng-template>
42+
<cx-form-required-asterisks />
4543
</span>
4644
<input
4745
[maxLength]="nameMaxLength"
@@ -100,13 +98,3 @@
10098
</button>
10199
</div>
102100
</form>
103-
104-
<ng-template #requiredAsterisk>
105-
<abbr
106-
*cxFeature="'a11yRequiredAsterisks'"
107-
class="text-decoration-none required-asterisk"
108-
aria-hidden="true"
109-
title="{{ 'common.required' | cxTranslate }}"
110-
>*</abbr
111-
>
112-
</ng-template>

feature-libs/cart/import-export/components/import-to-cart/import-order-entries.module.ts

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import {
1717
import {
1818
FileUploadModule,
1919
FormErrorsModule,
20+
FormRequiredAsterisksComponent,
21+
FormRequiredLegendComponent,
2022
IconModule,
2123
KeyboardFocusModule,
2224
MessageComponentModule,
@@ -34,6 +36,8 @@ import { ImportOrderEntriesComponent } from './import-entries/import-order-entri
3436
FormsModule,
3537
ReactiveFormsModule,
3638
FormErrorsModule,
39+
FormRequiredAsterisksComponent,
40+
FormRequiredLegendComponent,
3741
IconModule,
3842
KeyboardFocusModule,
3943
FileUploadModule,

0 commit comments

Comments
 (0)