@salesforce/webapp-template-app-react-template-b2e-experimental 1.36.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/LICENSE.txt +82 -0
  2. package/dist/.a4drules/build-validation.md +81 -0
  3. package/dist/.a4drules/code-quality.md +150 -0
  4. package/dist/.a4drules/graphql/tools/knowledge/lds-explore-graphql-schema.md +227 -0
  5. package/dist/.a4drules/graphql/tools/knowledge/lds-generate-graphql-mutationquery.md +212 -0
  6. package/dist/.a4drules/graphql/tools/knowledge/lds-generate-graphql-readquery.md +185 -0
  7. package/dist/.a4drules/graphql/tools/knowledge/lds-guide-graphql.md +205 -0
  8. package/dist/.a4drules/graphql/tools/schemas/shared.graphqls +1150 -0
  9. package/dist/.a4drules/graphql.md +408 -0
  10. package/dist/.a4drules/images.md +13 -0
  11. package/dist/.a4drules/react.md +361 -0
  12. package/dist/.a4drules/react_image_processing.md +45 -0
  13. package/dist/.a4drules/skills/install-feature/SKILL.md +67 -0
  14. package/dist/.a4drules/skills/install-feature/scripts/copy-feature-assets.sh +36 -0
  15. package/dist/.a4drules/typescript.md +224 -0
  16. package/dist/.forceignore +15 -0
  17. package/dist/.husky/pre-commit +4 -0
  18. package/dist/.prettierignore +11 -0
  19. package/dist/.prettierrc +17 -0
  20. package/dist/CHANGELOG.md +533 -0
  21. package/dist/README.md +18 -0
  22. package/dist/config/project-scratch-def.json +13 -0
  23. package/dist/force-app/main/default/classes/WebAppAuthUtils.cls +68 -0
  24. package/dist/force-app/main/default/classes/WebAppAuthUtils.cls-meta.xml +5 -0
  25. package/dist/force-app/main/default/classes/WebAppChangePassword.cls +77 -0
  26. package/dist/force-app/main/default/classes/WebAppChangePassword.cls-meta.xml +5 -0
  27. package/dist/force-app/main/default/classes/WebAppForgotPassword.cls +71 -0
  28. package/dist/force-app/main/default/classes/WebAppForgotPassword.cls-meta.xml +5 -0
  29. package/dist/force-app/main/default/classes/WebAppLogin.cls +97 -0
  30. package/dist/force-app/main/default/classes/WebAppLogin.cls-meta.xml +5 -0
  31. package/dist/force-app/main/default/classes/WebAppRegistration.cls +162 -0
  32. package/dist/force-app/main/default/classes/WebAppRegistration.cls-meta.xml +5 -0
  33. package/dist/force-app/main/default/digitalExperienceConfigs/appreacttemplateb2e1.digitalExperienceConfig +8 -0
  34. package/dist/force-app/main/default/digitalExperiences/site/appreacttemplateb2e1/appreacttemplateb2e1.digitalExperience-meta.xml +11 -0
  35. package/dist/force-app/main/default/digitalExperiences/site/appreacttemplateb2e1/sfdc_cms__site/appreacttemplateb2e1/_meta.json +5 -0
  36. package/dist/force-app/main/default/digitalExperiences/site/appreacttemplateb2e1/sfdc_cms__site/appreacttemplateb2e1/content.json +10 -0
  37. package/dist/force-app/main/default/networks/appreacttemplateb2e.network +60 -0
  38. package/dist/force-app/main/default/package.xml +20 -0
  39. package/dist/force-app/main/default/sites/appreacttemplateb2e.site +31 -0
  40. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/.graphqlrc.yml +2 -0
  41. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/.prettierignore +9 -0
  42. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/.prettierrc +11 -0
  43. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/appreacttemplateb2e.webapplication-meta.xml +7 -0
  44. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/build/vite.config.d.ts +2 -0
  45. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/build/vite.config.js +94 -0
  46. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/codegen.yml +12 -0
  47. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/e2e/app.spec.ts +24 -0
  48. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/eslint.config.js +141 -0
  49. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/index.html +13 -0
  50. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/package-lock.json +13980 -0
  51. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/package.json +66 -0
  52. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/playwright.config.ts +24 -0
  53. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/scripts/get-graphql-schema.mjs +68 -0
  54. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/scripts/rewrite-e2e-assets.mjs +23 -0
  55. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/api/graphql-operations-types.ts +129 -0
  56. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/api/utils/accounts.ts +33 -0
  57. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/api/utils/query/highRevenueAccountsQuery.graphql +29 -0
  58. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/app.tsx +16 -0
  59. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/appLayout.tsx +11 -0
  60. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/assets/icons/book.svg +3 -0
  61. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/assets/icons/copy.svg +4 -0
  62. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/assets/icons/rocket.svg +3 -0
  63. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/assets/icons/star.svg +3 -0
  64. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/assets/images/codey-1.png +0 -0
  65. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/assets/images/codey-2.png +0 -0
  66. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/assets/images/codey-3.png +0 -0
  67. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/assets/images/vibe-codey.svg +194 -0
  68. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/alerts/status-alert.tsx +45 -0
  69. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/auth/authentication-route.tsx +21 -0
  70. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/auth/private-route.tsx +36 -0
  71. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/footers/footer-link.tsx +36 -0
  72. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/forms/auth-form.tsx +81 -0
  73. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/forms/submit-button.tsx +49 -0
  74. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/layout/card-layout.tsx +23 -0
  75. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/layout/centered-page-layout.tsx +73 -0
  76. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/layout/loading-page.tsx +46 -0
  77. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/alert.tsx +65 -0
  78. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/button.tsx +54 -0
  79. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/card.tsx +77 -0
  80. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/field.tsx +111 -0
  81. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/index.ts +71 -0
  82. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/input.tsx +19 -0
  83. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/label.tsx +19 -0
  84. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/pagination.tsx +99 -0
  85. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/select.tsx +151 -0
  86. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/skeleton.tsx +7 -0
  87. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/spinner.tsx +26 -0
  88. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/table.tsx +114 -0
  89. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/tabs.tsx +115 -0
  90. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/context/AuthContext.tsx +83 -0
  91. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/hooks/form.tsx +116 -0
  92. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/lib/utils.ts +6 -0
  93. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/navigationMenu.tsx +81 -0
  94. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/About.tsx +12 -0
  95. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/ChangePassword.tsx +98 -0
  96. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/ForgotPassword.tsx +67 -0
  97. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/Home.tsx +12 -0
  98. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/Login.tsx +89 -0
  99. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/NotFound.tsx +18 -0
  100. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/Profile.tsx +146 -0
  101. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/Register.tsx +130 -0
  102. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/ResetPassword.tsx +101 -0
  103. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/pages/new.tsx +10 -0
  104. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/router-utils.tsx +34 -0
  105. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/routes.tsx +88 -0
  106. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/styles/global.css +94 -0
  107. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/utils/authenticationConfig.ts +52 -0
  108. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/utils/helpers.ts +187 -0
  109. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/tsconfig.json +36 -0
  110. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/tsconfig.node.json +13 -0
  111. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/vite-env.d.ts +1 -0
  112. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/vite.config.ts +102 -0
  113. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/vitest-env.d.ts +2 -0
  114. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/vitest.config.ts +11 -0
  115. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/vitest.setup.ts +1 -0
  116. package/dist/force-app/main/default/webapplications/appreacttemplateb2e/webapplication.json +7 -0
  117. package/dist/jest.config.js +6 -0
  118. package/dist/package.json +38 -0
  119. package/dist/scripts/apex/hello.apex +10 -0
  120. package/dist/scripts/soql/account.soql +6 -0
  121. package/dist/sfdx-project.json +12 -0
  122. package/package.json +37 -0
@@ -0,0 +1,102 @@
1
+ import { defineConfig } from 'vite';
2
+ import react from '@vitejs/plugin-react';
3
+ import path from 'path';
4
+ import { resolve } from 'path';
5
+ import tailwindcss from '@tailwindcss/vite';
6
+ import salesforce from '@salesforce/vite-plugin-webapp-experimental';
7
+ import codegen from 'vite-plugin-graphql-codegen';
8
+
9
+ export default defineConfig(({ mode }) => {
10
+ return {
11
+ // Ensure root base for e2e/static serve; plugin may override when deployed under a path
12
+ base: '/',
13
+ plugins: [
14
+ tailwindcss(),
15
+ react(),
16
+ salesforce(),
17
+ codegen({
18
+ // Path to the codegen config file
19
+ configFilePathOverride: resolve(__dirname, 'codegen.yml'),
20
+ // Run codegen on dev server start
21
+ runOnStart: true,
22
+ // Don't run codegen on build for now
23
+ runOnBuild: false,
24
+ // Enable file watcher during development
25
+ enableWatcher: true,
26
+ // Fail build if codegen errors
27
+ throwOnBuild: true,
28
+ }),
29
+ ],
30
+
31
+ // Build configuration for MPA
32
+ build: {
33
+ outDir: resolve(__dirname, 'dist'),
34
+ assetsDir: 'assets',
35
+ sourcemap: false,
36
+ },
37
+
38
+ // Resolve aliases (shared between build and test)
39
+ resolve: {
40
+ dedupe: ['react', 'react-dom'],
41
+ alias: {
42
+ '@': path.resolve(__dirname, './src'),
43
+ '@api': path.resolve(__dirname, './src/api'),
44
+ '@components': path.resolve(__dirname, './src/components'),
45
+ '@utils': path.resolve(__dirname, './src/utils'),
46
+ '@styles': path.resolve(__dirname, './src/styles'),
47
+ '@assets': path.resolve(__dirname, './src/assets'),
48
+ },
49
+ },
50
+
51
+ // Vitest configuration
52
+ test: {
53
+ // Override root for tests (build uses src/pages as root)
54
+ root: resolve(__dirname),
55
+
56
+ // Use jsdom environment for React component testing
57
+ environment: 'jsdom',
58
+
59
+ // Setup files to run before each test
60
+ setupFiles: ['./src/test/setup.ts'],
61
+
62
+ // Global test patterns
63
+ include: [
64
+ 'src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}',
65
+ 'src/**/__tests__/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}',
66
+ ],
67
+
68
+ // Coverage configuration
69
+ coverage: {
70
+ provider: 'v8',
71
+ reporter: ['text', 'html', 'clover', 'json'],
72
+ exclude: [
73
+ 'node_modules/',
74
+ 'src/test/',
75
+ 'src/**/*.d.ts',
76
+ 'src/main.tsx',
77
+ 'src/vite-env.d.ts',
78
+ 'src/components/**/index.ts',
79
+ '**/*.config.ts',
80
+ 'build/',
81
+ 'dist/',
82
+ 'coverage/',
83
+ 'eslint.config.js',
84
+ ],
85
+ thresholds: {
86
+ global: {
87
+ branches: 85,
88
+ functions: 85,
89
+ lines: 85,
90
+ statements: 85,
91
+ },
92
+ },
93
+ },
94
+
95
+ // Test timeout
96
+ testTimeout: 10000,
97
+
98
+ // Globals for easier testing
99
+ globals: true,
100
+ },
101
+ };
102
+ });
@@ -0,0 +1,2 @@
1
+ /// <reference types="vitest" />
2
+ /// <reference types="@testing-library/jest-dom" />
@@ -0,0 +1,11 @@
1
+ import { defineConfig } from 'vitest/config';
2
+ import react from '@vitejs/plugin-react';
3
+
4
+ export default defineConfig({
5
+ plugins: [react()],
6
+ test: {
7
+ globals: true,
8
+ environment: 'jsdom',
9
+ setupFiles: './vitest.setup.ts',
10
+ },
11
+ });
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom/vitest';
@@ -0,0 +1,7 @@
1
+ {
2
+ "outputDir": "dist",
3
+ "routing": {
4
+ "trailingSlash": "never",
5
+ "fallback": "/index.html"
6
+ }
7
+ }
@@ -0,0 +1,6 @@
1
+ const { jestConfig } = require('@salesforce/sfdx-lwc-jest/config');
2
+
3
+ module.exports = {
4
+ ...jestConfig,
5
+ modulePathIgnorePatterns: ['<rootDir>/.localdevserver']
6
+ };
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@salesforce/webapp-template-base-sfdx-project-experimental",
3
+ "version": "1.36.3",
4
+ "description": "Base SFDX project template",
5
+ "private": true,
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "scripts": {
10
+ "build": "echo 'No build required for base-sfdx-project'",
11
+ "clean": "echo 'No clean required for base-sfdx-project'",
12
+ "lint": "eslint **/{aura,lwc}/**/*.js",
13
+ "test": "npm run test:unit",
14
+ "test:coverage": "npm run test",
15
+ "test:unit": "sfdx-lwc-jest -- --passWithNoTests",
16
+ "test:unit:watch": "sfdx-lwc-jest --watch",
17
+ "test:unit:debug": "sfdx-lwc-jest --debug",
18
+ "test:unit:coverage": "sfdx-lwc-jest --coverage",
19
+ "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"",
20
+ "prettier:verify": "prettier --check \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"",
21
+ "precommit": "lint-staged"
22
+ },
23
+ "devDependencies": {
24
+ "@lwc/eslint-plugin-lwc": "^2.0.0",
25
+ "@prettier/plugin-xml": "^3.2.2",
26
+ "@salesforce/eslint-config-lwc": "^3.2.3",
27
+ "@salesforce/eslint-plugin-aura": "^2.0.0",
28
+ "@salesforce/eslint-plugin-lightning": "^1.0.0",
29
+ "@salesforce/sfdx-lwc-jest": "^7.0.1",
30
+ "eslint": "8.57.1",
31
+ "eslint-plugin-import": "^2.25.4",
32
+ "eslint-plugin-jest": "^28.8.1",
33
+ "husky": "^9.1.5",
34
+ "lint-staged": "^15.1.0",
35
+ "prettier": "^3.1.0",
36
+ "prettier-plugin-apex": "^2.0.1"
37
+ }
38
+ }
@@ -0,0 +1,10 @@
1
+ // Use .apex files to store anonymous Apex.
2
+ // You can execute anonymous Apex in VS Code by selecting the
3
+ // apex text and running the command:
4
+ // SFDX: Execute Anonymous Apex with Currently Selected Text
5
+ // You can also execute the entire file by running the command:
6
+ // SFDX: Execute Anonymous Apex with Editor Contents
7
+
8
+ string tempvar = 'Enter_your_name_here';
9
+ System.debug('Hello World!');
10
+ System.debug('My name is ' + tempvar);
@@ -0,0 +1,6 @@
1
+ // Use .soql files to store SOQL queries.
2
+ // You can execute queries in VS Code by selecting the
3
+ // query text and running the command:
4
+ // SFDX: Execute SOQL Query with Currently Selected Text
5
+
6
+ SELECT Id, Name FROM Account
@@ -0,0 +1,12 @@
1
+ {
2
+ "packageDirectories": [
3
+ {
4
+ "path": "force-app",
5
+ "default": true
6
+ }
7
+ ],
8
+ "name": "MyProject",
9
+ "namespace": "",
10
+ "sfdcLoginUrl": "https://login.salesforce.com",
11
+ "sourceApiVersion": "66.0"
12
+ }
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@salesforce/webapp-template-app-react-template-b2e-experimental",
3
+ "version": "1.36.3",
4
+ "description": "B2E template app (from BYO)",
5
+ "license": "SEE LICENSE IN LICENSE.txt",
6
+ "author": "",
7
+ "type": "module",
8
+ "main": "index.js",
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "scripts": {
16
+ "clean": "rm -rf dist",
17
+ "dev": "cd dist/force-app/main/default/webapplications/appreacttemplateb2e && npm install && npm run dev",
18
+ "watch": "npx tsx ../../cli/src/index.ts watch-patches packages/template/app/appreacttemplateb2e packages/template/base-app/base-react-app packages/template/app/appreacttemplateb2e/dist"
19
+ },
20
+ "devDependencies": {
21
+ "@types/react": "^19.2.7",
22
+ "@types/react-dom": "^19.2.3",
23
+ "react-dom": "^19.2.1",
24
+ "react-router": "^7.10.1"
25
+ },
26
+ "nx": {
27
+ "targets": {
28
+ "build": {
29
+ "executor": "@salesforce/webapp-template-cli-experimental:apply-patches"
30
+ },
31
+ "test": {
32
+ "executor": "@salesforce/webapp-template-cli-experimental:build-dist-app"
33
+ }
34
+ }
35
+ },
36
+ "gitHead": "7eef94f53086bb08b0545f5f61d3cbfed3fe0197"
37
+ }