Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1032 commits
Select commit Hold shift + click to select a range
11897ff
Migrate account pages.
bendvc Mar 18, 2025
b63f9f0
Migrade checkout page changes
bendvc Mar 18, 2025
f8d7779
Migrate checkout partial changes
bendvc Mar 18, 2025
1b0c07a
Migrate product-list components
bendvc Mar 18, 2025
a21570e
Migrate theme colors
bendvc Mar 18, 2025
b0ec143
Migrate utils
bendvc Mar 18, 2025
2059029
migrate project files/configs
bendvc Mar 18, 2025
a8ef167
Remove unused files in extension projects
bendvc Mar 18, 2025
fe3d108
Move static folder
bendvc Mar 18, 2025
9ac3f88
Update eslint ignore
bendvc Mar 19, 2025
8657d41
Remove some more unused scripts/folders
bendvc Mar 19, 2025
f669272
Fix lint warnings
bendvc Mar 19, 2025
d4d1ce5
Fix import paths for hooks
bendvc Mar 19, 2025
646b8de
Migrate theme index
bendvc Mar 19, 2025
88a7c28
Replace `@salesforce/template-retail-react-app` imports with relative…
bendvc Mar 19, 2025
c23622a
Linting
bendvc Mar 19, 2025
8477c4d
Migrate page-designer assets
bendvc Mar 19, 2025
7a742f9
Migrate page-designer layouts
bendvc Mar 19, 2025
ca6f651
Migrate page-designer misc
bendvc Mar 19, 2025
1f11264
Migrate utils
bendvc Mar 19, 2025
5acf26d
Migrate theme base and project folders
bendvc Mar 19, 2025
a195c0b
Migrate theme foundations
bendvc Mar 19, 2025
977d6c5
Update imports for account pages
bendvc Mar 19, 2025
ddbfe4a
Update cart page imports
bendvc Mar 19, 2025
21fa156
Migrate home page
bendvc Mar 19, 2025
74feb6d
Migrate login page
bendvc Mar 19, 2025
6342330
Migrate login-redirect page
bendvc Mar 19, 2025
fe79dff
Migrate page-not-found page
bendvc Mar 19, 2025
6b3b154
Migrate the product-details page
bendvc Mar 19, 2025
686024f
Migrate product-list page
bendvc Mar 19, 2025
e2cfbfe
Migrate registration page
bendvc Mar 19, 2025
c1a1e34
Migrate reset password
bendvc Mar 19, 2025
1e41d5d
Migrate checkout page
bendvc Mar 19, 2025
ff816e9
Migrate cart pages
bendvc Mar 19, 2025
f6398aa
Migrate account pages
bendvc Mar 19, 2025
4afd7b6
Lint
bendvc Mar 19, 2025
a629381
Chane aliased imports to relative imports for new code
bendvc Mar 19, 2025
53b5d78
Remove `template-retail-react-app` from generator
bendvc Mar 20, 2025
87ad1e8
Migrate mocks folder
bendvc Mar 20, 2025
cc20977
Migrate search component partials folder
bendvc Mar 20, 2025
f7ea8df
Migrate svg assets
bendvc Mar 20, 2025
7ba5751
Migrate contexts file
bendvc Mar 20, 2025
728f1ea
Delete chakra storefront old project
bendvc Mar 20, 2025
22e9dae
Re-generate lock files across mono repo
bendvc Mar 20, 2025
b61bd56
Add data cloud types and update code to work with as an extension
bendvc Mar 20, 2025
702fc87
Fix login page
bendvc Mar 20, 2025
f2c8157
Lint
bendvc Mar 20, 2025
0e37244
Fix some tests, rework others
bendvc Mar 20, 2025
5f2fef4
Fix some failing tests
bendvc Mar 25, 2025
0f0dc30
Remove references to old template
bendvc Mar 25, 2025
5cdb1d5
Remove smoke and lighthouse tests for defunct retail template
bendvc Mar 25, 2025
67eec6d
Remove other instance of smoke test script runner
bendvc Mar 25, 2025
e9398d1
Update test.yml
bendvc Mar 25, 2025
bb23ea6
Remove code that was added back via a merge
bendvc Mar 25, 2025
cc3b86d
Remove code that was added as a result of a bad merge
bendvc Mar 25, 2025
9ccf763
Merge pull request #2333 from SalesforceCommerceCloud/bendvc/fix-gene…
bendvc Mar 26, 2025
e7aaf0f
Merge branch 'feature/extensibility-v2' into bendev/W-18023320_update…
bendvc Mar 26, 2025
66262c2
Update peer deps for storefront extension
bendvc Mar 26, 2025
7d8feaa
Remove mobify object from extensions package.json files (#2336)
adamraya Mar 26, 2025
39e43cb
Merge branch 'feature/extensibility-v2' into bendev/W-18023320_update…
bendvc Mar 26, 2025
483c3c5
[App Extensibility] replace `extendRoutes` with `getRoutes` and `getR…
vmarta Mar 26, 2025
e2d27d6
Merge pull request #2325 from SalesforceCommerceCloud/bendev/W-180233…
bendvc Mar 27, 2025
76d858e
Initial refactor of ssr into setup-server
bendvc Mar 27, 2025
5d02241
Refactor some of the utils and create middleware
bendvc Mar 28, 2025
34037f5
Remove wishlist from configurate list of pages for now
bendvc Mar 28, 2025
7f7b9cb
Fix some lint errors
bendvc Mar 31, 2025
0854d75
[App Extensibility ⚙️] Pin Specific Versions for Extensions in Genera…
adamraya Mar 31, 2025
f8f4ea6
Fix jwks path and replace constants with configurable values
bendvc Mar 31, 2025
9b852be
Empty commit
bendvc Mar 31, 2025
94f6bc2
Fix regression and fix some tests config
bendvc Mar 31, 2025
01893ba
Fix mock config
bendvc Mar 31, 2025
4db624c
Don't send undefined redirect urls
bendvc Apr 1, 2025
a6c5b6a
Use extension config not app config in checkout
bendvc Apr 1, 2025
048a072
Fix idps destructure
bendvc Apr 1, 2025
a0feb14
Fix test and pr feedback
bendvc Apr 1, 2025
0afb5ca
Initial commit
bendvc Apr 2, 2025
94712d0
Remove debugging logs
bendvc Apr 2, 2025
18b0713
Removed unused error handler middleware
bendvc Apr 2, 2025
1fea64b
Adding flex value as this component is used in display flex
bendvc Apr 2, 2025
ece56c4
Better fix, still not great
bendvc Apr 2, 2025
e7e745b
Fix issue with null pointer
bendvc Apr 2, 2025
885193d
Lint
bendvc Apr 2, 2025
dbdafca
Update with-layout.tsx
bendvc Apr 2, 2025
0161798
Lint
bendvc Apr 3, 2025
d38cdb3
Merge pull request #2340 from SalesforceCommerceCloud/bendvc/update-s…
bendvc Apr 3, 2025
ad11fb9
[App Extensibility] make sure DNT feature still works as expected (@W…
vmarta Apr 5, 2025
030d4e2
Add `build:watch` script, like what other packages have (#2346)
vmarta Apr 7, 2025
f377796
[App Extensibility] Bring back and fix the recently-skipped tests (@W…
vmarta Apr 8, 2025
5a1029b
Merge pull request #2344 from SalesforceCommerceCloud/bendvc/W-177792…
bendvc Apr 8, 2025
52be6f3
Route serialization to support Shopper SEO URL mapping integration (#…
hajinsuha1 Apr 11, 2025
cb384b5
[App Extensibility] Bring back recently-commented-out Github actions …
vmarta Apr 24, 2025
a41c584
Sync with latest develop branch
vmarta Apr 25, 2025
5fd0b2b
Initial implementation
bendvc Apr 25, 2025
4bd8e58
Update package lock files
vmarta Apr 25, 2025
e558f52
Pin to previous version of cc-datacloud-typescript
vmarta Apr 26, 2025
cf1d4c7
Revert "Pin to previous version of cc-datacloud-typescript"
vmarta Apr 26, 2025
a9d038f
Make constants file, clean up, remove logs
bendvc Apr 29, 2025
fb9550e
Update CHANGELOG.md
bendvc Apr 29, 2025
f48a14b
Add tests for utilities.
bendvc Apr 29, 2025
7d38fc4
Fix failing tests
bendvc Apr 29, 2025
e9a2fa1
Merge branch 'develop' into vm/sync-extensibility-with-latest-develop
vmarta Apr 29, 2025
e1a96fa
Update package lock files
vmarta Apr 29, 2025
dc26b6e
Try replacing `sh.cat` with native file reading
vmarta Apr 29, 2025
07888fd
Debug: see what gets generated
vmarta Apr 30, 2025
d24f7be
Fix regression in getAsseturl
bendvc Apr 30, 2025
91f5c62
Debugging
vmarta Apr 30, 2025
9e05f5d
Refactor file copying logic
vmarta May 1, 2025
55a437f
Clean up
vmarta May 1, 2025
b6edfb7
Revert "Try replacing `sh.cat` with native file reading"
vmarta May 1, 2025
07b5d1a
Remove debug code
vmarta May 1, 2025
e8eb7f6
Add changelog for the chakra-storefront
vmarta May 1, 2025
5fd80e2
Update CHANGELOG.md
vmarta May 1, 2025
516fe84
Merge pull request #2377 from SalesforceCommerceCloud/vm/sync-extensi…
vmarta May 1, 2025
0560bf4
[App Extensibility ⚙️] Remove `extension-` prefix requirement (@W-181…
adamraya May 5, 2025
34db785
Update packages/pwa-kit-react-sdk/src/ssr/universal/utils.ts
bendvc May 5, 2025
64067c4
PR feedback round 1
bendvc May 5, 2025
56a7b32
Merge branch 'feature/extensibility-v2' into bendvc/W-18216861_extens…
bendvc May 5, 2025
a02fbf6
Remove test configuration
bendvc May 5, 2025
19dd0c9
Remove sample override for testing
bendvc May 5, 2025
7ff477f
Fix lint error
bendvc May 6, 2025
88b90d8
Merge branch 'feature/extensibility-v2' into bendvc/fix-get-asset-url
bendvc May 6, 2025
f44c1d4
Merge pull request #2386 from SalesforceCommerceCloud/bendvc/fix-get-…
bendvc May 6, 2025
e6b2789
Revert override
bendvc May 6, 2025
83c0a71
Merge pull request #2380 from SalesforceCommerceCloud/bendvc/W-182168…
bendvc May 6, 2025
ef57257
[App Extensibility ⚙️] Bump preview version to `-extensibility-previe…
adamraya May 7, 2025
eec27b3
[App extensibility] Fix github action's publishing step (@W-18121817@…
vmarta May 9, 2025
348121b
[App Extensibility ⚙️] Fix Override Regression (@W-18485954@) (#2418)
adamraya May 15, 2025
74089c1
Merge branch 'develop' into feature/extensibility-v2
bfeister May 16, 2025
bb343fa
Remove `template-retail-react-app` again, accidentally re-added
bfeister May 16, 2025
f0bd5c1
Initial removal of upgradeability, targets only `pwa-kit-extension-sd…
bfeister May 20, 2025
0a47b2d
Remove references to `pwa-kit-extension-sdk` in `package.json` files
bfeister May 20, 2025
dd3fca9
Remove some missed `package.json` files
bfeister May 21, 2025
2499133
remove all `setup-app.ts` and `setup-server.ts` files, along with `pw…
bfeister May 21, 2025
6c21119
Remove upgradeability from `extension-chakra-store-locator`
bfeister May 21, 2025
b5d5a9d
Remove upgradeability: `useExtensionConfig` => `useConfig()` / `utils…
bfeister May 22, 2025
1d26c94
Prune references to: `ApplicationExtensionsProvider`, `setup-app`, `b…
bfeister May 22, 2025
0897812
Remove `overridable` directive / strings
bfeister May 22, 2025
9f77156
remove more `setup-server` bits
bfeister May 22, 2025
dc07f35
fix bad merge
bfeister May 22, 2025
6732aca
`extension-chakra-storefront` => `template-chakra-storefront`
bfeister May 22, 2025
03675db
`extension-chakra-storefront` => `template-chakra-storefront`
bfeister May 22, 2025
4cf09f7
Revert "`extension-chakra-storefront` => `template-chakra-storefront`"
bfeister May 22, 2025
00ae703
`extension-chakra-storefront` => `template-chakra-storefront`
bfeister May 22, 2025
6a28ac4
more cleanup, fixing plumbing / wiring in internals
bfeister May 23, 2025
5d54bda
More wire up / cleanup migrating extensibility
bfeister May 23, 2025
545c276
WIP (broken) mostly working `_app/index` and `_app-config/index` but …
bfeister May 29, 2025
b5db573
WIP (still broken) infinite render re-loop, seems some props passed t…
bfeister May 30, 2025
e4ccde7
Working now (server side pass), fixed infinite loop, root cause ended…
bfeister May 30, 2025
be878c4
`import {useConfig} from '../hooks'` => `import {getConfig} from '@sa…
bfeister May 30, 2025
fe509a1
Add gitignore (basic for now)
bfeister May 30, 2025
c4782b5
cleanup
bfeister May 30, 2025
48ab4f7
cleanup
bfeister May 30, 2025
daac5f6
Cleanup upgradeability extensions code, `pages` / `pages.Home.path` w…
bfeister May 30, 2025
3f0ebef
fix `getConfig` circular reference
bfeister Jun 2, 2025
83b265f
Fix legacy references to page-based config related to extensibility
bfeister Jun 2, 2025
e8f1da3
More cleanup
bfeister Jun 3, 2025
d54996d
Fix references to missing configuration, add missing to `default.json…
bfeister Jun 3, 2025
70a8f17
Restructure: `/src/assets` => `/assets`
bfeister Jun 4, 2025
b851324
Fix inconsistent `withCommerceSdkReact` hook. We are using V3 code in…
bfeister Jun 6, 2025
3c73d14
Fix `config.homeHref` => `config.pages.home.path`
bfeister Jun 6, 2025
e57c927
cleanup
bfeister Jun 6, 2025
7ae7896
tree shake and integration with create-mobify-app
kzheng-sfdc Jun 6, 2025
2ce5f7d
fixed typo
kzheng-sfdc Jun 6, 2025
323d670
tree shake tests
kzheng-sfdc Jun 9, 2025
598c05b
removed unused import
kzheng-sfdc Jun 9, 2025
8ce938b
Move `src/constants.js` => `config/constants.js`
bfeister Jun 10, 2025
1d03243
re-structure folders `/src/*` => `/**`
bfeister Jun 10, 2025
518d194
Cleanup (remove `above-header` template hook) remove unused `with-lay…
bfeister Jun 10, 2025
bad2925
checksum
kzheng-sfdc Jun 10, 2025
7862d08
dependencies
kzheng-sfdc Jun 10, 2025
28946bb
removed command line code
kzheng-sfdc Jun 10, 2025
010d6ec
added missing export
kzheng-sfdc Jun 10, 2025
01fccbe
update lockfile
bfeister Jun 11, 2025
3d8581a
fixed plugins length check
kzheng-sfdc Jun 11, 2025
5a427a1
Add back missing translation compile scripts + remove V3 extensibility
bfeister Jun 12, 2025
3a66cc5
Cleaning up V3 `ccExtensibility` + V4 extensions
bfeister Jun 12, 2025
13d3e4d
Remove unused scripts
bfeister Jun 12, 2025
a4ce3e1
Remove more upgradeability code
bfeister Jun 16, 2025
6764eae
more upgradeability removal
bfeister Jun 16, 2025
cc3ea90
Add default chakra-storefront answers
bfeister Jun 16, 2025
c63a35e
back out debugging code
bfeister Jun 16, 2025
140d477
Introduce fallback value pattern and differentiation between `interac…
bfeister Jun 16, 2025
1a72fa6
default to non-interactive mode
bfeister Jun 16, 2025
6be1ee6
Add to CHANGELOG
bfeister Jun 16, 2025
fec39f4
make typescript template --preset interactive by default
bfeister Jun 16, 2025
92bfe1e
lint fix
bfeister Jun 16, 2025
3ac29ac
fixed linting errors
kzheng-sfdc Jun 16, 2025
4d84aea
lint fix
bfeister Jun 16, 2025
a35c4db
more lint fixes
bfeister Jun 17, 2025
756deab
remove unused HOCs
bfeister Jun 17, 2025
636799a
more unused legacy upgradeability cleanup
bfeister Jun 17, 2025
473bafe
remove test for `cc_overrides`
bfeister Jun 17, 2025
8c28cb9
delete upgradeability test cases
bfeister Jun 17, 2025
5347085
Rollback `useServerContext` hook added to `commerce-sdk-react` for up…
bfeister Jun 17, 2025
961d0df
Revert "Rollback `useServerContext` hook added to `commerce-sdk-react…
bfeister Jun 17, 2025
678490c
attempting to fix `commerce-sdk-react` test failures
bfeister Jun 17, 2025
7d86b16
Refactor store locator to no longer use `useExtensionStore` hook
bfeister Jun 17, 2025
19a0260
fix broken test in `extension-chakra-store-locator`
bfeister Jun 17, 2025
ad7f70d
bump threshold down to pass tests because this will all fold into the…
bfeister Jun 18, 2025
6a565ac
this is not actually mocking `getConfig`, it was mocking `get-extensi…
bfeister Jun 19, 2025
a427f58
remove upgradeability code changes failing CI
bfeister Jun 19, 2025
4c746dd
attempt to fix unmocked file read
kzheng-sfdc Jun 19, 2025
1fa7572
fix lint error pwa-kit-dev jest config
bfeister Jun 19, 2025
8de99e2
Merge branch 'feature/@W-18577401@/upgradeability-rollback' of github…
bfeister Jun 19, 2025
5959500
lint fix jest config
bfeister Jun 19, 2025
8c206e7
Merge branch 'feature/@W-18577401@/upgradeability-rollback' of github…
bfeister Jun 19, 2025
6d2b848
fix outdated references to `@salesforce/retail-react-app`
bfeister Jun 19, 2025
89f07f4
fixed renderWithProviders import
kzheng-sfdc Jun 19, 2025
a164fa8
mock file read
kzheng-sfdc Jun 19, 2025
9038523
added error handling
kzheng-sfdc Jun 19, 2025
43df193
fixed for path mismatch in Windows
kzheng-sfdc Jun 19, 2025
5b96b4c
fix for windows path
kzheng-sfdc Jun 19, 2025
7f50754
fixed linter
kzheng-sfdc Jun 19, 2025
a92e20b
more fix for Windows
kzheng-sfdc Jun 19, 2025
cb85b21
fixed mockConfig for stores-list test
kzheng-sfdc Jun 19, 2025
c5b8472
test fixes
kzheng-sfdc Jun 19, 2025
fae2941
lint
kzheng-sfdc Jun 19, 2025
a7aa8e2
fixed iport path for locale jsons
kzheng-sfdc Jun 19, 2025
dede939
fixed url test
kzheng-sfdc Jun 19, 2025
4168253
fixed breadcrumb test
kzheng-sfdc Jun 19, 2025
e81f7eb
fixed store locator modal test
kzheng-sfdc Jun 19, 2025
b3f6f53
mock config fixes
kzheng-sfdc Jun 19, 2025
5ad3589
more mock config fixes
kzheng-sfdc Jun 19, 2025
6ec9ec2
mock config fixes
kzheng-sfdc Jun 19, 2025
e304d69
fixed mock config once and for all
kzheng-sfdc Jun 19, 2025
ff95cbf
fixed remaining tests
kzheng-sfdc Jun 20, 2025
0afebd5
updated coverage collection list
kzheng-sfdc Jun 20, 2025
590e063
renamed tree-shake to trim-extension
kzheng-sfdc Jun 20, 2025
e94b50f
fixed linter
kzheng-sfdc Jun 20, 2025
6e497a3
rename tree-shake.js in package.json
kzheng-sfdc Jun 20, 2025
9f3dfef
renamed retail-react-app to chakra-storefront and adjusted configs ac…
kzheng-sfdc Jun 23, 2025
b89a687
keep preset ids as retail-react-app
kzheng-sfdc Jun 23, 2025
f7232cf
revert the project name back to retail-react-app
kzheng-sfdc Jun 23, 2025
0b425c9
moved source folders to under src/ and updated all references
kzheng-sfdc Jun 24, 2025
c5856cc
fixed lint error
kzheng-sfdc Jun 25, 2025
c4ea2f8
updated jest config
kzheng-sfdc Jun 25, 2025
28a63bb
more mock data path fixes
kzheng-sfdc Jun 25, 2025
6e2733f
Merge pull request #2573 from SalesforceCommerceCloud/feature/@W-1857…
kzheng-sfdc Jun 25, 2025
b0ea45a
@W-18670301 set default context preset, error handling in trim-extens…
kzheng-sfdc Jun 25, 2025
3413187
Merge pull request #2656 from SalesforceCommerceCloud/u/kzheng/W-1867…
kzheng-sfdc Jun 27, 2025
0abfcd1
@W-18670301 - added prettier and tuned tests
kzheng-sfdc Jun 27, 2025
9c70063
fixed lint errors
kzheng-sfdc Jun 27, 2025
964ef17
change log
kzheng-sfdc Jun 28, 2025
7cade92
fixed windows path
kzheng-sfdc Jun 30, 2025
3e08448
Merge pull request #2688 from SalesforceCommerceCloud/u/kzheng/W-1867…
kzheng-sfdc Jun 30, 2025
b69d82f
pull latest label from PR for skip changelog action
kzheng-sfdc Jun 30, 2025
6d81c40
updated name for get_pr
kzheng-sfdc Jun 30, 2025
b054789
Merge pull request #2698 from SalesforceCommerceCloud/u/kzheng/fix-sk…
kzheng-sfdc Jun 30, 2025
ac01d16
[feature] Rename V4 `app` dir to => `src` @W-18895152@ (#2693)
bfeister Jul 1, 2025
33f0722
[fix] Generator restructure @W-18895152@ (#2711)
bfeister Jul 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 1 addition & 21 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,25 +32,5 @@ module.exports = {
]
}
]
},
// For an import in a file to be replaced via template extensibility, the import must use the
// full package name, rather than relative imports, i.e. all retail react app imports must use
// "@salesforce/retail-react-app/" rather than relative imports.
overrides: [
{
files: ['packages/template-retail-react-app/**'],
plugins: ['no-relative-import-paths'],
rules: {
// https://github.com/MelvinVermeer/eslint-plugin-no-relative-import-paths
'no-relative-import-paths/no-relative-import-paths': [
'error',
{
allowSameFolder: false,
rootDir: 'packages/template-retail-react-app',
prefix: '@salesforce/retail-react-app'
}
]
}
}
]
}
}
37 changes: 34 additions & 3 deletions .github/actions/bundle_size_test/action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,39 @@
name: bundlesize
name: bundle_size_test
inputs:
cwd:
required: true
config:
required: true
runs:
using: composite
steps:
- name: Check bundle size
- name: Analyze build
working-directory: ${{ inputs.cwd }}
run: |-
npm run test:max-file-size
npm run analyze-build
shell: bash

- name: Check bundle sizes
working-directory: ${{ inputs.cwd }}
# NOTE: A bug prevented us from running bundlesize with a config file:
# npx bundlesize --scope ${{ github.action_path }}/bundlesize.config.json
# For more details, see https://github.com/siddharthkp/bundlesize/issues/326
run: |-
json_string='${{ inputs.config }}'

if ! echo "$json_string" | jq '.' > /dev/null 2>&1; then
echo "::error::Invalid JSON input provided: $json_string"
exit 1
fi

# Parse the given json string and build the command to run
echo "$json_string" | jq -r 'to_entries[] | "npx bundlesize -f \"" + .key + "\" -s " + .value' | while IFS= read -r command; do
echo "Executing: $command"
eval "$command"
done
shell: bash

- name: Report bundle sizes
run: |-
node ./scripts/report-bundle-size.js ${{ inputs.cwd }}/build
shell: bash
13 changes: 11 additions & 2 deletions .github/actions/changelog-check/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,19 @@ runs:
fi
shell: bash

- name: Get latest PR data
id: get_pr
uses: octokit/request-action@v2.x
with:
route: GET /repos/${{ github.repository }}/issues/${{ inputs.pr_number }}
env:
GITHUB_TOKEN: ${{ github.token }}

- name: Check if 'skip changelog' label is present
id: check_labels
run: |
SKIP_CHANGELOG_LABEL="${{ contains(github.event.pull_request.labels.*.name, 'skip changelog') }}"
echo "PR labels: ${{ toJSON(fromJSON(steps.get_pr.outputs.data).labels.*.name) }}"
SKIP_CHANGELOG_LABEL="${{ contains(fromJSON(steps.get_pr.outputs.data).labels.*.name, 'skip changelog') }}"
if [ "$SKIP_CHANGELOG_LABEL" = "true" ]; then
echo "Skip changelog label is present. Skipping changelog check."
echo "SKIP_CHANGELOG_CHECK=true" >> $GITHUB_ENV
Expand All @@ -55,7 +64,7 @@ runs:
fi
echo "Changed files: $CHANGED_FILES"

PUBLIC_PACKAGES=("commerce-sdk-react" "pwa-kit-create-app" "pwa-kit-dev" "pwa-kit-react-sdk" "pwa-kit-runtime" "template-retail-react-app")
PUBLIC_PACKAGES=("commerce-sdk-react" "pwa-kit-create-app" "pwa-kit-dev" "pwa-kit-react-sdk" "pwa-kit-runtime")

for PACKAGE in "${PUBLIC_PACKAGES[@]}"; do
if echo "$CHANGED_FILES" | grep -iq "^packages/$PACKAGE/"; then
Expand Down
12 changes: 0 additions & 12 deletions .github/actions/check_clean/action.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/actions/create_mrt/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ runs:
working-directory: ${{ inputs.cwd }}
run: |-
# Add credentials file at ~/.mobify so we can upload to Mobify Cloud
npm run save-credentials --prefix packages/template-retail-react-app -- --user "${{inputs.mobify_user}}" --key "${{inputs.mobify_api_key}}"
npm run save-credentials --prefix packages/template-typescript-minimal -- --user "${{inputs.mobify_user}}" --key "${{inputs.mobify_api_key}}"
shell: bash
2 changes: 2 additions & 0 deletions .github/actions/datadog/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ runs:
steps:
- name: Send metrics to Datadog
run : |
# TODO: move it back to setup_ubuntu action
# For the datadog cli, it must be installed via python
# to install python packages on CI environment, we must activate the virtual env
# or otherwise it throws error: externally-managed-environment
python3 -m venv venv
source venv/bin/activate
pip install datadog

# TODO: move it back to setup_ubuntu action
# Add a dogrc so we can submit metrics to datadog
printf "[Connection]\napikey = ${{inputs.datadog_api_key}}\nappkey =\n" > ~/.dogrc

Expand Down
2 changes: 1 addition & 1 deletion .github/actions/e2e_generate_app/action.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: e2e_generate_app
inputs:
PROJECT_KEY:
description: Project key to specify project to generate ("retail-app-demo", "retail-app-ext" or "retail-app-no-ext")
description: Project key to specify project to generate ("retail-app-demo")
required: true
type: string

Expand Down
2 changes: 1 addition & 1 deletion .github/actions/e2e_validate_generated_app/action.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: e2e_validate_generated_app
inputs:
PROJECT_KEY:
description: Project key to specify project to validate ("retail-app-demo", "retail-app-ext" or "retail-app-no-ext")
description: Project key to specify project to validate ("retail-app-demo")
required: true
type: string

Expand Down
15 changes: 15 additions & 0 deletions .github/actions/generate_app_with_preset/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: generate_app_with_preset
inputs:
preset:
required: true
output_dir:
required: false
default: generated_pwa
runs:
using: composite
steps:
- run: |-
node packages/pwa-kit-create-app/scripts/create-mobify-app-dev.js --outputDir ${{ inputs.output_dir }}
shell: bash
env:
GENERATOR_PRESET: ${{ inputs.preset }}
16 changes: 13 additions & 3 deletions .github/actions/lighthouse_ci/action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
name: lighthouse_ci
inputs:
project_dir:
required: true
config_filename:
required: true
runs:
using: composite
steps:
- name: Run Lighthouse CI on the PWA
# This test is flaky, so let's try it three times!
run: npm run test:lighthouse --prefix packages/template-retail-react-app || npm run test:lighthouse --prefix packages/template-retail-react-app || npm run test:lighthouse --prefix packages/template-retail-react-app
- name: Run Lighthouse CI
working-directory: ${{ inputs.project_dir }}
run: |-
lighthouse_test="npx @lhci/cli autorun --config=${{ github.action_path }}/${{ inputs.config_filename }}"
# This test is flaky, so let's try it three times!
$lighthouse_test || $lighthouse_test || $lighthouse_test
shell: bash
env:
NODE_ENV: production
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* SPDX-License-Identifier: BSD-3-Clause
* For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause
*/

module.exports = {
// The different Lighthouse CI configuration options:
// https://github.com/GoogleChrome/lighthouse-ci/blob/master/docs/configuration.md
Expand Down
12 changes: 12 additions & 0 deletions .github/actions/npm_scripts/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: npm_scripts
inputs:
cwd:
required: true
runs:
using: composite
steps:
- name: Smoke test the npm scripts
run: |-
# Basic smoke-tests for uncommonly run scripts in a project
node ./scripts/smoke-test-npm-scripts.js --dir "${{ inputs.cwd }}"
shell: bash
35 changes: 27 additions & 8 deletions .github/actions/setup_ubuntu/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,46 @@ inputs:
cwd:
required: false
default: ${{ github.workspace }}
node:
required: true
description: Major node version
npm:
required: false
description: Major npm version
update_npm:
required: false
default: false
description: "Setup Ubuntu Machine"
runs:
using: composite
steps:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node }}
cache: npm

- name: Update NPM version
if: inputs.update_npm == 'true'
run: |-
npm install -g npm@${{ inputs.npm }}
shell: bash

- name: Verify node and npm versions
uses: ./.github/actions/verify_node_npm_major_versions
with:
node: ${{ inputs.node }}
npm: ${{ inputs.npm }}

- name: Install Dependencies
working-directory: ${{ inputs.cwd }}
run: |-
# Install node dependencies
node ./scripts/gtime.js monorepo_install npm ci

# Build the PWA
npm run lerna -- run analyze-build --scope "@salesforce/retail-react-app"

# Report bundle sizes
node ./scripts/report-bundle-size.js

# Install Snyk CLI
# TODO: Ticket W-12425059. Revisit Snyk CLI integration to monitor manifest files on generated projects.
# TODO: Latest Snyk CLI version is currently failing on npm i. We use the alternative Snyk GitHub integration.
# sudo npm install -g snyk

# Install Lighthouse CI CLI
sudo npm install -g @lhci/cli
shell: bash
27 changes: 27 additions & 0 deletions .github/actions/setup_windows/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,37 @@ inputs:
cwd:
required: false
default: "${PWD}"
node:
required: true
description: Major node version
npm:
required: false
description: Major npm version
update_npm:
required: false
default: false
description: "Setup Windows Machine"
runs:
using: composite
steps:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node }}
cache: npm

- name: Update NPM version
if: inputs.update_npm == 'true'
run: |-
npm install -g npm@${{ inputs.npm }}
shell: bash

- name: Verify node and npm versions
uses: ./.github/actions/verify_node_npm_major_versions
with:
node: ${{ inputs.node }}
npm: ${{ inputs.npm }}

- name: Install Dependencies
run: |-
# Install node dependencies
Expand Down
14 changes: 0 additions & 14 deletions .github/actions/smoke_tests/action.yml

This file was deleted.

39 changes: 39 additions & 0 deletions .github/actions/verify_node_npm_major_versions/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: verify_node_npm_major_versions
inputs:
node:
required: false
description: Major node version
npm:
required: false
description: Major npm version
runs:
using: composite
steps:
- run: |-
EXPECTED_NODE_VERSION="${{ inputs.node }}"
EXPECTED_NPM_VERSION="${{ inputs.npm }}"

FULL_NODE_VERSION=$(node -v)
FULL_NPM_VERSION=$(npm -v)
# Parse out the _major_ versions
INSTALLED_NODE_VERSION=$(echo $FULL_NODE_VERSION | sed 's/^v\([0-9]*\).*/\1/')
INSTALLED_NPM_VERSION=$(echo $FULL_NPM_VERSION | sed 's/^\([0-9]*\).*/\1/')

if [ -n "$EXPECTED_NODE_VERSION" ]; then
if [ "$INSTALLED_NODE_VERSION" != "$EXPECTED_NODE_VERSION" ]; then
echo "The node version is incorrect. Expected: v$EXPECTED_NODE_VERSION, but found: v$INSTALLED_NODE_VERSION"
exit 1
fi
fi

if [ -n "$EXPECTED_NPM_VERSION" ]; then
if [ "$INSTALLED_NPM_VERSION" != "$EXPECTED_NPM_VERSION" ]; then
echo "The npm version is incorrect. Expected: $EXPECTED_NPM_VERSION, but found: $INSTALLED_NPM_VERSION"
exit 1
fi
fi

echo "Node/npm version check completed successfully."
echo "Installed node version: $FULL_NODE_VERSION"
echo "Installed npm version: $FULL_NPM_VERSION"
shell: bash
6 changes: 3 additions & 3 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ jobs:

- name: Get Template Version
run: |-
version=`jq -r ".version" packages/template-retail-react-app/package.json`
version=`jq -r ".version" packages/template-chakra-storefront/package.json`
echo "retail_app_template_version=$version" >> "$GITHUB_ENV"

- name: Generate Retail App Without Extensibility
Expand Down Expand Up @@ -227,7 +227,7 @@ jobs:

- name: Get Template Version
run: |-
version=`jq -r ".version" packages/template-retail-react-app/package.json`
version=`jq -r ".version" packages/template-chakra-storefront/package.json`
echo "retail_app_template_version=$version" >> "$GITHUB_ENV"

- name: Generate Retail App With Extensibility
Expand Down Expand Up @@ -342,7 +342,7 @@ jobs:

- name: Get Template Version
run: |-
version=`jq -r ".version" packages/template-retail-react-app/package.json`
version=`jq -r ".version" packages/template-chakra-storefront/package.json`
echo "retail_app_template_version=$version" >> "$GITHUB_ENV"

- name: Generate Retail App Private Client
Expand Down
Loading