mirror of
https://github.com/forcedotcom/afv-library.git
synced 2026-08-02 13:25:16 +08:00
chore: rename webapp-template packages to ui-bundle-template
This commit is contained in:
parent
a779945206
commit
6448a7f4ef
16
.github/workflows/sync-react-samples.yml
vendored
16
.github/workflows/sync-react-samples.yml
vendored
@ -1,6 +1,6 @@
|
||||
# Syncs React sample packages from npm into samples/:
|
||||
# - @salesforce/webapp-template-app-react-sample-b2e-experimental
|
||||
# - @salesforce/webapp-template-app-react-sample-b2x-experimental
|
||||
# - @salesforce/ui-bundle-template-app-react-sample-b2e
|
||||
# - @salesforce/ui-bundle-template-app-react-sample-b2x
|
||||
#
|
||||
# Opens a single PR when either (or both) npm package versions have changed.
|
||||
# Same steps as running locally: npm install && npm run sync-react-b2e-sample
|
||||
@ -37,7 +37,7 @@ jobs:
|
||||
- name: Get latest B2E npm version
|
||||
id: npm-version-b2e
|
||||
run: |
|
||||
LATEST=$(npm view @salesforce/webapp-template-app-react-sample-b2e-experimental version)
|
||||
LATEST=$(npm view @salesforce/ui-bundle-template-app-react-sample-b2e version)
|
||||
if [ -z "$LATEST" ]; then
|
||||
echo "ERROR: npm view returned empty version for B2E package" >&2
|
||||
exit 1
|
||||
@ -59,7 +59,7 @@ jobs:
|
||||
- name: Get latest B2X npm version
|
||||
id: npm-version-b2x
|
||||
run: |
|
||||
LATEST=$(npm view @salesforce/webapp-template-app-react-sample-b2x-experimental version)
|
||||
LATEST=$(npm view @salesforce/ui-bundle-template-app-react-sample-b2x version)
|
||||
if [ -z "$LATEST" ]; then
|
||||
echo "ERROR: npm view returned empty version for 2x package" >&2
|
||||
exit 1
|
||||
@ -109,11 +109,11 @@ jobs:
|
||||
|
||||
- name: Install latest B2E package
|
||||
if: steps.skip.outputs.skip != 'true' && steps.skip.outputs.b2e_changed == 'true'
|
||||
run: npm install @salesforce/webapp-template-app-react-sample-b2e-experimental@latest
|
||||
run: npm install @salesforce/ui-bundle-template-app-react-sample-b2e@latest
|
||||
|
||||
- name: Install latest B2X package
|
||||
if: steps.skip.outputs.skip != 'true' && steps.skip.outputs.b2x_changed == 'true'
|
||||
run: npm install @salesforce/webapp-template-app-react-sample-b2x-experimental@latest
|
||||
run: npm install @salesforce/ui-bundle-template-app-react-sample-b2x@latest
|
||||
|
||||
- name: Sync B2E sample
|
||||
if: steps.skip.outputs.skip != 'true'
|
||||
@ -133,12 +133,12 @@ jobs:
|
||||
|
||||
if [ "${{ steps.skip.outputs.b2e_changed }}" = "true" ]; then
|
||||
PARTS="${PARTS}b2e-${{ steps.npm-version-b2e.outputs.latest }}"
|
||||
BODY="${BODY}- **B2E** \`@salesforce/webapp-template-app-react-sample-b2e-experimental\`: ${{ steps.current-version-b2e.outputs.current || 'none' }} → ${{ steps.npm-version-b2e.outputs.latest }}"$'\n'
|
||||
BODY="${BODY}- **B2E** \`@salesforce/ui-bundle-template-app-react-sample-b2e\`: ${{ steps.current-version-b2e.outputs.current || 'none' }} → ${{ steps.npm-version-b2e.outputs.latest }}"$'\n'
|
||||
fi
|
||||
if [ "${{ steps.skip.outputs.b2x_changed }}" = "true" ]; then
|
||||
if [ -n "$PARTS" ]; then PARTS="${PARTS}-"; fi
|
||||
PARTS="${PARTS}b2x-${{ steps.npm-version-b2x.outputs.latest }}"
|
||||
BODY="${BODY}- **B2X** \`@salesforce/webapp-template-app-react-sample-b2x-experimental\`: ${{ steps.current-version-b2x.outputs.current || 'none' }} → ${{ steps.npm-version-b2x.outputs.latest }}"$'\n'
|
||||
BODY="${BODY}- **B2X** \`@salesforce/ui-bundle-template-app-react-sample-b2x\`: ${{ steps.current-version-b2x.outputs.current || 'none' }} → ${{ steps.npm-version-b2x.outputs.latest }}"$'\n'
|
||||
fi
|
||||
|
||||
echo "branch=chore/sync-react-samples-${PARTS}" >> $GITHUB_OUTPUT
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"@salesforce/webapp-template-app-react-sample-b2e-experimental": "1.107.0",
|
||||
"@salesforce/webapp-template-app-react-sample-b2x-experimental": "1.107.0",
|
||||
"@salesforce/ui-bundle-template-app-react-sample-b2e": "1.107.0",
|
||||
"@salesforce/ui-bundle-template-app-react-sample-b2x": "1.107.0",
|
||||
"@salesforce/webapp-template-base-sfdx-project-experimental": "1.107.0",
|
||||
"@salesforce/webapp-template-feature-react-file-upload-experimental": "1.107.0",
|
||||
"@salesforce/webapp-template-feature-react-chart-experimental": "1.107.0",
|
||||
|
||||
@ -30,7 +30,7 @@ Browse the repository and copy/paste any rule or skill directly into Agentforce
|
||||
|
||||
## Samples
|
||||
|
||||
The `samples/` folder contains synced sample apps. For example, `samples/webapp-template-app-react-sample-b2e-experimental/` is kept in sync with the npm package `@salesforce/webapp-template-app-react-sample-b2e-experimental` (nightly and on manual trigger via GitHub Actions). To run the same sync locally from the repo root:
|
||||
The `samples/` folder contains synced sample apps. For example, `samples/webapp-template-app-react-sample-b2e-experimental/` is kept in sync with the npm package `@salesforce/ui-bundle-template-app-react-sample-b2e` (nightly and on manual trigger via GitHub Actions). To run the same sync locally from the repo root:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
|
||||
50
package-lock.json
generated
50
package-lock.json
generated
@ -1,16 +1,16 @@
|
||||
{
|
||||
"name": "@salesforce/afv-skills",
|
||||
"version": "1.5.0",
|
||||
"version": "1.5.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@salesforce/afv-skills",
|
||||
"version": "1.5.0",
|
||||
"version": "1.5.1",
|
||||
"license": "CC-BY-NC-4.0",
|
||||
"devDependencies": {
|
||||
"@salesforce/webapp-template-app-react-sample-b2e-experimental": "^1.116.6",
|
||||
"@salesforce/webapp-template-app-react-sample-b2x-experimental": "^1.116.6",
|
||||
"@salesforce/ui-bundle-template-app-react-sample-b2e": "^1.116.6",
|
||||
"@salesforce/ui-bundle-template-app-react-sample-b2x": "^1.116.6",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"js-yaml": "^4.1.1",
|
||||
"tsx": "^4.21.0"
|
||||
@ -688,22 +688,22 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@salesforce/sdk-core": {
|
||||
"version": "1.116.6",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/sdk-core/-/sdk-core-1.116.6.tgz",
|
||||
"integrity": "sha512-5IWfcnQRuaOxtWBbGiW00rk6f4ImNrDDnVhqZOphJhRePOvSLqWLirfIIhRK4j00Tr8w0tgn5H+hIAWCRZvIHw==",
|
||||
"version": "1.117.3",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/sdk-core/-/sdk-core-1.117.3.tgz",
|
||||
"integrity": "sha512-vz029He3j5BNaTWOAtK9Yxb3xj5CwKIZjxUG61T2cf/hCGxidrEftrDl2I0SNJaX4+t4M5QT+0ba6MOI4w8QDw==",
|
||||
"dev": true,
|
||||
"license": "SEE LICENSE IN LICENSE.txt"
|
||||
},
|
||||
"node_modules/@salesforce/sdk-data": {
|
||||
"version": "1.116.6",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/sdk-data/-/sdk-data-1.116.6.tgz",
|
||||
"integrity": "sha512-yjc1CQvBYAXWrouMmD3buu35u4DwgUGTaDZKU4//F5vIJJitsmPGrJCLDd0HdBzyu/J+77RuVGZBgsal7+zyZQ==",
|
||||
"version": "1.117.3",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/sdk-data/-/sdk-data-1.117.3.tgz",
|
||||
"integrity": "sha512-Tx/dy4Sb0toM036nutxr3j0TNKECpJZIi+FHrvO/apGd5fmyvNk9jlaAaC+IDw53vgiWrly+zwuH8EpxA9ssLw==",
|
||||
"dev": true,
|
||||
"license": "SEE LICENSE IN LICENSE.txt",
|
||||
"dependencies": {
|
||||
"@conduit-client/service-fetch-network": "3.17.0",
|
||||
"@conduit-client/utils": "3.17.0",
|
||||
"@salesforce/sdk-core": "^1.116.6"
|
||||
"@salesforce/sdk-core": "^1.117.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@salesforce/ts-types": {
|
||||
@ -716,15 +716,15 @@
|
||||
"node": ">=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@salesforce/webapp-experimental": {
|
||||
"version": "1.116.6",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/webapp-experimental/-/webapp-experimental-1.116.6.tgz",
|
||||
"integrity": "sha512-bbWVK70rv5Y+e26NLyTB2McTZ3MCQFe+NEYZDW/T4FCaAZ3Y57u1HYzgr8p4iWKlu7DU4V1sNTUGjt01mrN0Dg==",
|
||||
"node_modules/@salesforce/ui-bundle": {
|
||||
"version": "1.117.3",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/ui-bundle/-/ui-bundle-1.117.3.tgz",
|
||||
"integrity": "sha512-Vr52rmDV4vYDNpsGHzsZju8KnrQz/isWBZdi8WYEXqbjM8cUaw1qIb+TycbmJ1lFM/lQYsv+zUSy8z70maDCIQ==",
|
||||
"dev": true,
|
||||
"license": "SEE LICENSE IN LICENSE.txt",
|
||||
"dependencies": {
|
||||
"@salesforce/core": "^8.23.4",
|
||||
"@salesforce/sdk-data": "^1.116.6",
|
||||
"@salesforce/sdk-data": "^1.117.3",
|
||||
"axios": "^1.7.7",
|
||||
"micromatch": "^4.0.8",
|
||||
"path-to-regexp": "^8.3.0"
|
||||
@ -733,21 +733,21 @@
|
||||
"node": ">=20.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@salesforce/webapp-template-app-react-sample-b2e-experimental": {
|
||||
"version": "1.116.6",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/webapp-template-app-react-sample-b2e-experimental/-/webapp-template-app-react-sample-b2e-experimental-1.116.6.tgz",
|
||||
"integrity": "sha512-RctkFfBfK+7HLAnP2ERmXG3Nn8apFF4ywh5LlSyOJVUjbQI48kd7PeiCX5v5G4C5Kvqp7wyhhucY0Mk4k8PLEQ==",
|
||||
"node_modules/@salesforce/ui-bundle-template-app-react-sample-b2e": {
|
||||
"version": "1.117.3",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/ui-bundle-template-app-react-sample-b2e/-/ui-bundle-template-app-react-sample-b2e-1.117.3.tgz",
|
||||
"integrity": "sha512-NeemgqcomGeeWPmqooIC8kADhAONS9B7izyO3svjBCrGMQeutrBfwwl+LdA31w4KvbWayCPEyHNDItvfy8SNWg==",
|
||||
"dev": true,
|
||||
"license": "SEE LICENSE IN LICENSE.txt",
|
||||
"dependencies": {
|
||||
"@salesforce/webapp-experimental": "^1.116.6",
|
||||
"@salesforce/ui-bundle": "^1.117.2",
|
||||
"sonner": "^1.7.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@salesforce/webapp-template-app-react-sample-b2x-experimental": {
|
||||
"version": "1.116.6",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/webapp-template-app-react-sample-b2x-experimental/-/webapp-template-app-react-sample-b2x-experimental-1.116.6.tgz",
|
||||
"integrity": "sha512-Ql5l+WRvAIQ0iNTutj3k0GDjHRI7wwAbXjzBRKeCR3Tp0pHEXeoKuqj1AACxCv1APAvTOne4cvzb11eJblDOLA==",
|
||||
"node_modules/@salesforce/ui-bundle-template-app-react-sample-b2x": {
|
||||
"version": "1.117.3",
|
||||
"resolved": "https://registry.npmjs.org/@salesforce/ui-bundle-template-app-react-sample-b2x/-/ui-bundle-template-app-react-sample-b2x-1.117.3.tgz",
|
||||
"integrity": "sha512-3a0OXuV24vBkZB1xmPijbp60hFZ5WLJMUSvK6DuelAOCoYLe63mkIG17hMegrDeSVIEx6pIIHzEG4TD4DOct5g==",
|
||||
"dev": true,
|
||||
"license": "SEE LICENSE IN LICENSE.txt"
|
||||
},
|
||||
|
||||
@ -11,8 +11,8 @@
|
||||
"registry": "https://registry.npmjs.org"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@salesforce/webapp-template-app-react-sample-b2e-experimental": "^1.116.6",
|
||||
"@salesforce/webapp-template-app-react-sample-b2x-experimental": "^1.116.6",
|
||||
"@salesforce/ui-bundle-template-app-react-sample-b2e": "^1.116.6",
|
||||
"@salesforce/ui-bundle-template-app-react-sample-b2x": "^1.116.6",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"js-yaml": "^4.1.1",
|
||||
"tsx": "^4.21.0"
|
||||
|
||||
@ -4,7 +4,7 @@ Sample apps and templates synced into this repo for reference and reuse.
|
||||
|
||||
## webapp-template-app-react-sample-b2e-experimental
|
||||
|
||||
Source is synced from the npm package [@salesforce/webapp-template-app-react-sample-b2e-experimental](https://www.npmjs.com/package/@salesforce/webapp-template-app-react-sample-b2e-experimental). Only the package's source (no `node_modules`) is copied into `samples/webapp-template-app-react-sample-b2e-experimental/`.
|
||||
Source is synced from the npm package [@salesforce/ui-bundle-template-app-react-sample-b2e](https://www.npmjs.com/package/@salesforce/ui-bundle-template-app-react-sample-b2e). Only the package's source (no `node_modules`) is copied into `samples/webapp-template-app-react-sample-b2e-experimental/`.
|
||||
|
||||
### How it's updated
|
||||
|
||||
@ -24,7 +24,7 @@ The file `samples/webapp-template-app-react-sample-b2e-experimental/.version` st
|
||||
|
||||
## webapp-template-app-react-sample-b2x-experimental
|
||||
|
||||
Source is synced from the npm package [@salesforce/webapp-template-app-react-sample-b2x-experimental](https://www.npmjs.com/package/@salesforce/webapp-template-app-react-sample-b2x-experimental). Only the package's source (no `node_modules`) is copied into `samples/webapp-template-app-react-sample-b2x-experimental/`.
|
||||
Source is synced from the npm package [@salesforce/ui-bundle-template-app-react-sample-b2x](https://www.npmjs.com/package/@salesforce/ui-bundle-template-app-react-sample-b2x). Only the package's source (no `node_modules`) is copied into `samples/webapp-template-app-react-sample-b2x-experimental/`.
|
||||
|
||||
### How it's updated
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Syncs source from @salesforce/webapp-template-app-react-sample-b2e-experimental
|
||||
* Syncs source from @salesforce/ui-bundle-template-app-react-sample-b2e
|
||||
* into samples/webapp-template-app-react-sample-b2e-experimental/.
|
||||
* Run from repo root after npm install. Same flow used locally and in CI.
|
||||
*/
|
||||
@ -8,7 +8,7 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const PACKAGE_NAME = '@salesforce/webapp-template-app-react-sample-b2e-experimental';
|
||||
const PACKAGE_NAME = '@salesforce/ui-bundle-template-app-react-sample-b2e';
|
||||
const SAMPLE_DIR = path.join(process.cwd(), 'samples', 'webapp-template-app-react-sample-b2e-experimental');
|
||||
|
||||
const pkgRoot = path.join(process.cwd(), 'node_modules', PACKAGE_NAME.replace('/', path.sep));
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Syncs source from @salesforce/webapp-template-app-react-sample-b2x-experimental
|
||||
* Syncs source from @salesforce/ui-bundle-template-app-react-sample-b2x
|
||||
* into samples/webapp-template-app-react-sample-b2x-experimental/.
|
||||
* Run from repo root after npm install. Same flow used locally and in CI.
|
||||
*/
|
||||
@ -8,7 +8,7 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const PACKAGE_NAME = '@salesforce/webapp-template-app-react-sample-b2x-experimental';
|
||||
const PACKAGE_NAME = '@salesforce/ui-bundle-template-app-react-sample-b2x';
|
||||
const SAMPLE_DIR = path.join(process.cwd(), 'samples', 'webapp-template-app-react-sample-b2x-experimental');
|
||||
|
||||
const pkgRoot = path.join(process.cwd(), 'node_modules', PACKAGE_NAME.replace('/', path.sep));
|
||||
|
||||
@ -11,8 +11,8 @@ const { execSync } = require('child_process');
|
||||
const { copyRecursive } = require('./lib/copy-recursive');
|
||||
|
||||
const TEMPLATE_PACKAGES = [
|
||||
'@salesforce/webapp-template-app-react-sample-b2e-experimental',
|
||||
'@salesforce/webapp-template-app-react-sample-b2x-experimental',
|
||||
'@salesforce/ui-bundle-template-app-react-sample-b2e',
|
||||
'@salesforce/ui-bundle-template-app-react-sample-b2x',
|
||||
];
|
||||
const PACKAGE_NAME = TEMPLATE_PACKAGES[0]; // used for syncing skills
|
||||
const SKILLS_SRC = 'dist/.a4drules/skills';
|
||||
|
||||
@ -64,7 +64,7 @@ export default function HomePage() {
|
||||
|
||||
### Useful Patterns — Component
|
||||
|
||||
- **Programmatic navigation:** use `useNavigate` from `react-router`; call `navigate(path)` — consistent with GlobalSearchInput, SearchResultCard, MaintenanceTable, and other components in the web application.
|
||||
- **Programmatic navigation:** use `useNavigate` from `react-router`; call `navigate(path)` — consistent with GlobalSearchInput, SearchResultCard, MaintenanceTable, and other components in the ui bundle app.
|
||||
- **Page container:** `max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12`
|
||||
- **Icons:** `lucide-react`; add `aria-hidden="true"` on decorative icons
|
||||
- **Focus styles:** use `focus-visible:` variants
|
||||
|
||||
Loading…
Reference in New Issue
Block a user