@donotdev/cli 0.0.17 → 0.0.19

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 (183) hide show
  1. package/dependencies-matrix.json +67 -60
  2. package/dist/bin/commands/coach.js +8177 -0
  3. package/dist/bin/commands/create-app.js +94 -145
  4. package/dist/bin/commands/create-project.js +98 -149
  5. package/dist/bin/commands/deploy.js +81 -59
  6. package/dist/bin/commands/doctor.js +243 -698
  7. package/dist/bin/commands/emu.js +2 -2
  8. package/dist/bin/commands/format.js +4 -1
  9. package/dist/bin/commands/get-demo.js +8351 -0
  10. package/dist/bin/commands/make-admin.js +773 -152
  11. package/dist/bin/commands/setup.js +519 -1711
  12. package/dist/bin/commands/staging.js +17852 -0
  13. package/dist/bin/commands/sync-secrets.js +2 -11
  14. package/dist/bin/commands/type-check.js +7733 -1713
  15. package/dist/bin/dndev.js +913 -182
  16. package/dist/bin/donotdev.js +913 -182
  17. package/dist/index.js +191 -211
  18. package/package.json +1 -1
  19. package/templates/app-demo/index.html.example +147 -10
  20. package/templates/app-demo/src/App.tsx.example +7 -13
  21. package/templates/app-demo/src/config/app.ts.example +12 -48
  22. package/templates/app-demo/src/entities/product.ts.example +38 -0
  23. package/templates/app-demo/src/globals.css.example +5 -1
  24. package/templates/app-demo/src/main.tsx.example +13 -7
  25. package/templates/app-demo/src/pages/ChangelogPage.tsx.example +14 -0
  26. package/templates/app-demo/src/pages/DashboardPage.tsx.example +15 -0
  27. package/templates/app-demo/src/pages/HomePage.tsx.example +3 -77
  28. package/templates/app-demo/src/pages/PricingPage.tsx.example +14 -0
  29. package/templates/app-demo/src/pages/ProductsPage.tsx.example +17 -0
  30. package/templates/app-demo/src/pages/ProfilePage.tsx.example +16 -0
  31. package/templates/app-demo/src/pages/SettingsPage.tsx.example +15 -0
  32. package/templates/app-demo/src/pages/ShowcaseDetailPage.tsx.example +112 -0
  33. package/templates/app-demo/src/pages/ShowcasePage.tsx.example +91 -0
  34. package/templates/app-demo/src/pages/legal/LegalPage.tsx.example +14 -0
  35. package/templates/app-demo/src/pages/legal/PrivacyPage.tsx.example +14 -0
  36. package/templates/app-demo/src/pages/legal/TermsPage.tsx.example +14 -0
  37. package/templates/app-demo/tsconfig.json.example +1 -1
  38. package/templates/app-demo/vite.config.ts.example +23 -48
  39. package/templates/app-expo/README.md.example +1 -1
  40. package/templates/app-expo/app/index.tsx.example +1 -1
  41. package/templates/app-vite/src/pages/HomePage.tsx.example +8 -10
  42. package/templates/overlay-firebase/env.fragment.example +1 -1
  43. package/templates/overlay-firebase/env.fragment.expo.example +1 -1
  44. package/templates/overlay-firebase/env.fragment.nextjs.example +1 -1
  45. package/templates/overlay-supabase/env.fragment.example +1 -1
  46. package/templates/overlay-supabase/env.fragment.expo.example +1 -1
  47. package/templates/overlay-supabase/env.fragment.nextjs.example +1 -1
  48. package/templates/overlay-vercel/env.fragment.example +1 -1
  49. package/templates/overlay-vercel/env.fragment.nextjs.example +1 -1
  50. package/templates/root-consumer/.claude/commands/brainstorm.md.example +15 -1
  51. package/templates/root-consumer/.claude/commands/build.md.example +24 -2
  52. package/templates/root-consumer/.claude/commands/design.md.example +17 -0
  53. package/templates/root-consumer/.claude/commands/polish.md.example +17 -0
  54. package/templates/root-consumer/AI.md.example +54 -21
  55. package/templates/root-consumer/guides/dndev/AGENT_START_HERE.md.example +21 -6
  56. package/templates/root-consumer/guides/dndev/COMPONENTS_ADV.md.example +16 -179
  57. package/templates/root-consumer/guides/dndev/ENV_SETUP.md.example +19 -21
  58. package/templates/root-consumer/guides/dndev/GOTCHAS.md.example +14 -3
  59. package/templates/root-consumer/guides/dndev/INDEX.md.example +2 -2
  60. package/templates/root-consumer/guides/dndev/SETUP_APP_CONFIG.md.example +3 -3
  61. package/templates/root-consumer/guides/dndev/SETUP_BLOG.md.example +19 -2
  62. package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +35 -1
  63. package/templates/root-consumer/guides/dndev/SETUP_FIREBASE.md.example +17 -12
  64. package/templates/root-consumer/guides/dndev/SETUP_LAYOUTS.md.example +32 -0
  65. package/templates/root-consumer/guides/dndev/SETUP_OAUTH_PROVIDERS.md.example +1 -1
  66. package/templates/root-consumer/guides/dndev/SETUP_PAGES.md.example +74 -6
  67. package/templates/root-consumer/guides/dndev/SETUP_STRIPE.md.example +2 -2
  68. package/templates/root-consumer/guides/dndev/SETUP_SUPABASE.md.example +17 -12
  69. package/templates/root-consumer/guides/dndev/SETUP_VERCEL.md.example +37 -16
  70. package/templates/root-consumer/guides/dndev/USE_ROUTING.md.example +18 -18
  71. package/templates/root-consumer/guides/dndev/essences_reference.css.example +119 -2
  72. package/templates/root-consumer/guides/wai-way/blueprints/0_brainstorm.md.example +1 -1
  73. package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +14 -0
  74. package/templates/root-consumer/guides/wai-way/blueprints/2_entities.md.example +6 -0
  75. package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +14 -0
  76. package/templates/root-consumer/guides/wai-way/entity_patterns.md.example +4 -5
  77. package/templates/root-consumer/guides/wai-way/page_patterns.md.example +2 -2
  78. package/dist/bin/commands/agent-setup.d.ts +0 -6
  79. package/dist/bin/commands/agent-setup.d.ts.map +0 -1
  80. package/dist/bin/commands/agent-setup.js.map +0 -1
  81. package/dist/bin/commands/build.d.ts +0 -11
  82. package/dist/bin/commands/build.d.ts.map +0 -1
  83. package/dist/bin/commands/build.js.map +0 -1
  84. package/dist/bin/commands/bump.d.ts +0 -11
  85. package/dist/bin/commands/bump.d.ts.map +0 -1
  86. package/dist/bin/commands/bump.js.map +0 -1
  87. package/dist/bin/commands/cacheout.d.ts +0 -11
  88. package/dist/bin/commands/cacheout.d.ts.map +0 -1
  89. package/dist/bin/commands/cacheout.js.map +0 -1
  90. package/dist/bin/commands/create-app.d.ts +0 -11
  91. package/dist/bin/commands/create-app.d.ts.map +0 -1
  92. package/dist/bin/commands/create-app.js.map +0 -1
  93. package/dist/bin/commands/create-project.d.ts +0 -11
  94. package/dist/bin/commands/create-project.d.ts.map +0 -1
  95. package/dist/bin/commands/create-project.js.map +0 -1
  96. package/dist/bin/commands/deploy.d.ts +0 -11
  97. package/dist/bin/commands/deploy.d.ts.map +0 -1
  98. package/dist/bin/commands/deploy.js.map +0 -1
  99. package/dist/bin/commands/dev.d.ts +0 -11
  100. package/dist/bin/commands/dev.d.ts.map +0 -1
  101. package/dist/bin/commands/dev.js.map +0 -1
  102. package/dist/bin/commands/doctor.d.ts +0 -6
  103. package/dist/bin/commands/doctor.d.ts.map +0 -1
  104. package/dist/bin/commands/doctor.js.map +0 -1
  105. package/dist/bin/commands/emu.d.ts +0 -11
  106. package/dist/bin/commands/emu.d.ts.map +0 -1
  107. package/dist/bin/commands/emu.js.map +0 -1
  108. package/dist/bin/commands/format.d.ts +0 -11
  109. package/dist/bin/commands/format.d.ts.map +0 -1
  110. package/dist/bin/commands/format.js.map +0 -1
  111. package/dist/bin/commands/make-admin.d.ts +0 -11
  112. package/dist/bin/commands/make-admin.d.ts.map +0 -1
  113. package/dist/bin/commands/make-admin.js.map +0 -1
  114. package/dist/bin/commands/preview.d.ts +0 -11
  115. package/dist/bin/commands/preview.d.ts.map +0 -1
  116. package/dist/bin/commands/preview.js.map +0 -1
  117. package/dist/bin/commands/setup.d.ts +0 -6
  118. package/dist/bin/commands/setup.d.ts.map +0 -1
  119. package/dist/bin/commands/setup.js.map +0 -1
  120. package/dist/bin/commands/sync-secrets.d.ts +0 -11
  121. package/dist/bin/commands/sync-secrets.d.ts.map +0 -1
  122. package/dist/bin/commands/sync-secrets.js.map +0 -1
  123. package/dist/bin/commands/type-check.d.ts +0 -14
  124. package/dist/bin/commands/type-check.d.ts.map +0 -1
  125. package/dist/bin/commands/type-check.js.map +0 -1
  126. package/dist/bin/commands/wai.d.ts +0 -11
  127. package/dist/bin/commands/wai.d.ts.map +0 -1
  128. package/dist/bin/commands/wai.js.map +0 -1
  129. package/dist/index.d.ts +0 -8
  130. package/dist/index.d.ts.map +0 -1
  131. package/dist/index.js.map +0 -1
  132. package/templates/app-demo/src/components/ThemeToggle.tsx.example +0 -48
  133. package/templates/app-demo/src/pages/DetailPage.tsx.example +0 -103
  134. package/templates/app-demo/src/pages/FullPage.tsx.example +0 -142
  135. package/templates/app-demo/src/pages/components/DemoLayout.tsx.example +0 -266
  136. package/templates/app-demo/src/pages/components/LayoutRoute.tsx.example +0 -20
  137. package/templates/functions-firebase/functions-firebase/README.md.example +0 -123
  138. package/templates/functions-firebase/functions-firebase/build.mjs.example +0 -5
  139. package/templates/functions-firebase/functions-firebase/src/auth/getCustomClaims.ts.example +0 -19
  140. package/templates/functions-firebase/functions-firebase/src/auth/getUserAuthStatus.ts.example +0 -21
  141. package/templates/functions-firebase/functions-firebase/src/auth/index.ts.example +0 -11
  142. package/templates/functions-firebase/functions-firebase/src/auth/removeCustomClaims.ts.example +0 -21
  143. package/templates/functions-firebase/functions-firebase/src/auth/setCustomClaims.ts.example +0 -21
  144. package/templates/functions-firebase/functions-firebase/src/billing/handleStripeWebhook.ts.example +0 -24
  145. package/templates/functions-firebase/functions-firebase/src/billing/index.ts.example +0 -10
  146. package/templates/functions-firebase/functions-firebase/src/billing/processPaymentSuccess.ts.example +0 -14
  147. package/templates/functions-firebase/functions-firebase/src/billing/refreshSubscriptionStatus.ts.example +0 -14
  148. package/templates/functions-firebase/functions-firebase/src/index.ts.example +0 -39
  149. package/templates/functions-firebase/functions-firebase/src/oauth/checkGitHubAccess.ts.example +0 -14
  150. package/templates/functions-firebase/functions-firebase/src/oauth/disconnect.ts.example +0 -14
  151. package/templates/functions-firebase/functions-firebase/src/oauth/exchangeToken.ts.example +0 -14
  152. package/templates/functions-firebase/functions-firebase/src/oauth/getConnections.ts.example +0 -14
  153. package/templates/functions-firebase/functions-firebase/src/oauth/grantGitHubAccess.ts.example +0 -14
  154. package/templates/functions-firebase/functions-firebase/src/oauth/index.ts.example +0 -17
  155. package/templates/functions-firebase/functions-firebase/src/oauth/refreshToken.ts.example +0 -14
  156. package/templates/functions-firebase/functions-firebase/src/oauth/revokeGitHubAccess.ts.example +0 -14
  157. package/templates/functions-firebase/functions-firebase/tsconfig.json.example +0 -21
  158. package/templates/functions-vercel/functions-vercel/README.md.example +0 -116
  159. package/templates/functions-vercel/functions-vercel/build.mjs.example +0 -52
  160. package/templates/functions-vercel/functions-vercel/src/api/auth/getCustomClaims.ts.example +0 -20
  161. package/templates/functions-vercel/functions-vercel/src/api/auth/getUserAuthStatus.ts.example +0 -20
  162. package/templates/functions-vercel/functions-vercel/src/api/auth/removeCustomClaims.ts.example +0 -20
  163. package/templates/functions-vercel/functions-vercel/src/api/auth/setCustomClaims.ts.example +0 -20
  164. package/templates/functions-vercel/functions-vercel/src/api/billing/handleStripeWebhook.ts.example +0 -20
  165. package/templates/functions-vercel/functions-vercel/src/api/billing/processPaymentSuccess.ts.example +0 -20
  166. package/templates/functions-vercel/functions-vercel/src/api/billing/refreshSubscriptionStatus.ts.example +0 -20
  167. package/templates/functions-vercel/functions-vercel/src/api/crud/createEntity.ts.example +0 -20
  168. package/templates/functions-vercel/functions-vercel/src/api/crud/deleteEntity.ts.example +0 -20
  169. package/templates/functions-vercel/functions-vercel/src/api/crud/getEntity.ts.example +0 -20
  170. package/templates/functions-vercel/functions-vercel/src/api/crud/listEntities.ts.example +0 -20
  171. package/templates/functions-vercel/functions-vercel/src/api/crud/updateEntity.ts.example +0 -20
  172. package/templates/functions-vercel/functions-vercel/src/api/oauth/checkGitHubAccess.ts.example +0 -20
  173. package/templates/functions-vercel/functions-vercel/src/api/oauth/disconnect.ts.example +0 -20
  174. package/templates/functions-vercel/functions-vercel/src/api/oauth/exchangeToken.ts.example +0 -20
  175. package/templates/functions-vercel/functions-vercel/src/api/oauth/getConnections.ts.example +0 -20
  176. package/templates/functions-vercel/functions-vercel/src/api/oauth/grantGitHubAccess.ts.example +0 -20
  177. package/templates/functions-vercel/functions-vercel/src/api/oauth/refreshToken.ts.example +0 -20
  178. package/templates/functions-vercel/functions-vercel/src/api/oauth/revokeGitHubAccess.ts.example +0 -20
  179. package/templates/functions-vercel/functions-vercel/tsconfig.json.example +0 -21
  180. package/templates/functions-vercel/functions-vercel/vercel.json.example +0 -14
  181. package/templates/github/github/workflows/firebase-deploy.yml.example +0 -79
  182. /package/templates/functions-firebase/{functions-firebase/.env.example.example → .env.example} +0 -0
  183. /package/templates/functions-vercel/{functions-vercel/.env.example.example → .env.example} +0 -0
@@ -1,20 +0,0 @@
1
- // functions/src/api/oauth/checkGitHubAccess.ts
2
-
3
- /**
4
- * @fileoverview {{APP_NAME}} GitHub Access Check Wrapper
5
- * @description Wrapper for framework's checkGitHubAccess with {{APP_NAME}}-specific configuration
6
- */
7
-
8
- import type { NextApiRequest, NextApiResponse } from 'next';
9
- import { checkGitHubAccess as frameworkCheckGitHubAccess } from '@donotdev/functions/vercel';
10
-
11
- /**
12
- * {{APP_NAME}} GitHub access checking
13
- * Wraps the framework function with {{APP_NAME}}-specific configuration
14
- */
15
- export default async function handler(
16
- req: NextApiRequest,
17
- res: NextApiResponse
18
- ) {
19
- return frameworkCheckGitHubAccess(req, res);
20
- }
@@ -1,20 +0,0 @@
1
- // functions/src/api/oauth/disconnect.ts
2
-
3
- /**
4
- * @fileoverview {{APP_NAME}} Disconnect OAuth Wrapper
5
- * @description Wrapper for framework's disconnect with {{APP_NAME}}-specific configuration
6
- */
7
-
8
- import type { NextApiRequest, NextApiResponse } from 'next';
9
- import { disconnect as frameworkDisconnect } from '@donotdev/functions/vercel';
10
-
11
- /**
12
- * {{APP_NAME}} OAuth disconnection
13
- * Wraps the framework function with {{APP_NAME}}-specific configuration
14
- */
15
- export default async function handler(
16
- req: NextApiRequest,
17
- res: NextApiResponse
18
- ) {
19
- return frameworkDisconnect(req, res);
20
- }
@@ -1,20 +0,0 @@
1
- // functions/src/api/oauth/exchangeToken.ts
2
-
3
- /**
4
- * @fileoverview {{APP_NAME}} Exchange Token Wrapper
5
- * @description Wrapper for framework's exchangeToken with {{APP_NAME}}-specific configuration
6
- */
7
-
8
- import type { NextApiRequest, NextApiResponse } from 'next';
9
- import { exchangeToken as frameworkExchangeToken } from '@donotdev/functions/vercel';
10
-
11
- /**
12
- * {{APP_NAME}} OAuth token exchange
13
- * Wraps the framework function with {{APP_NAME}}-specific configuration
14
- */
15
- export default async function handler(
16
- req: NextApiRequest,
17
- res: NextApiResponse
18
- ) {
19
- return frameworkExchangeToken(req, res);
20
- }
@@ -1,20 +0,0 @@
1
- // functions/src/api/oauth/getConnections.ts
2
-
3
- /**
4
- * @fileoverview {{APP_NAME}} Get Connections Wrapper
5
- * @description Wrapper for framework's getConnections with {{APP_NAME}}-specific configuration
6
- */
7
-
8
- import type { NextApiRequest, NextApiResponse } from 'next';
9
- import { getConnections as frameworkGetConnections } from '@donotdev/functions/vercel';
10
-
11
- /**
12
- * {{APP_NAME}} OAuth connections retrieval
13
- * Wraps the framework function with {{APP_NAME}}-specific configuration
14
- */
15
- export default async function handler(
16
- req: NextApiRequest,
17
- res: NextApiResponse
18
- ) {
19
- return frameworkGetConnections(req, res);
20
- }
@@ -1,20 +0,0 @@
1
- // functions/src/api/oauth/grantGitHubAccess.ts
2
-
3
- /**
4
- * @fileoverview {{APP_NAME}} GitHub Access Wrapper
5
- * @description Wrapper for framework's grantGitHubAccess with {{APP_NAME}}-specific configuration
6
- */
7
-
8
- import type { NextApiRequest, NextApiResponse } from 'next';
9
- import { grantGitHubAccess as frameworkGrantGitHubAccess } from '@donotdev/functions/vercel';
10
-
11
- /**
12
- * {{APP_NAME}} GitHub access granting
13
- * Wraps the framework function with {{APP_NAME}}-specific configuration
14
- */
15
- export default async function handler(
16
- req: NextApiRequest,
17
- res: NextApiResponse
18
- ) {
19
- return frameworkGrantGitHubAccess(req, res);
20
- }
@@ -1,20 +0,0 @@
1
- // functions/src/api/oauth/refreshToken.ts
2
-
3
- /**
4
- * @fileoverview {{APP_NAME}} Refresh Token Wrapper
5
- * @description Wrapper for framework's refreshToken with {{APP_NAME}}-specific configuration
6
- */
7
-
8
- import type { NextApiRequest, NextApiResponse } from 'next';
9
- import { refreshToken as frameworkRefreshToken } from '@donotdev/functions/vercel';
10
-
11
- /**
12
- * {{APP_NAME}} OAuth token refresh
13
- * Wraps the framework function with {{APP_NAME}}-specific configuration
14
- */
15
- export default async function handler(
16
- req: NextApiRequest,
17
- res: NextApiResponse
18
- ) {
19
- return frameworkRefreshToken(req, res);
20
- }
@@ -1,20 +0,0 @@
1
- // functions/src/api/oauth/revokeGitHubAccess.ts
2
-
3
- /**
4
- * @fileoverview {{APP_NAME}} GitHub Access Revocation Wrapper
5
- * @description Wrapper for framework's revokeGitHubAccess with {{APP_NAME}}-specific configuration
6
- */
7
-
8
- import type { NextApiRequest, NextApiResponse } from 'next';
9
- import { revokeGitHubAccess as frameworkRevokeGitHubAccess } from '@donotdev/functions/vercel';
10
-
11
- /**
12
- * {{APP_NAME}} GitHub access revocation
13
- * Wraps the framework function with {{APP_NAME}}-specific configuration
14
- */
15
- export default async function handler(
16
- req: NextApiRequest,
17
- res: NextApiResponse
18
- ) {
19
- return frameworkRevokeGitHubAccess(req, res);
20
- }
@@ -1,21 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.functions.json",
3
- "compilerOptions": {
4
- "outDir": "./lib",
5
- "rootDir": "./src",
6
- "target": "ES2022",
7
- "module": "ESNext",
8
- "moduleResolution": "node",
9
- "allowSyntheticDefaultImports": true,
10
- "esModuleInterop": true,
11
- "skipLibCheck": true,
12
- "strict": true,
13
- "forceConsistentCasingInFileNames": true,
14
- "resolveJsonModule": true,
15
- "declaration": true,
16
- "declarationMap": true,
17
- "sourceMap": true
18
- },
19
- "include": ["src/**/*"],
20
- "exclude": ["node_modules", "lib", "**/*.test.ts"]
21
- }
@@ -1,14 +0,0 @@
1
- {
2
- "functions": {
3
- "src/api/**/*.ts": {
4
- "runtime": "nodejs22.x"
5
- }
6
- },
7
- "env": {
8
- "STRIPE_SECRET_KEY": "@stripe-secret-key",
9
- "STRIPE_WEBHOOK_SECRET": "@stripe-webhook-secret",
10
- "GITHUB_PERSONAL_ACCESS_TOKEN": "@github-token",
11
- "GITHUB_REPO_OWNER": "@github-repo-owner",
12
- "GITHUB_REPO_NAME": "@github-repo-name"
13
- }
14
- }
@@ -1,79 +0,0 @@
1
- name: Deploy to Firebase Hosting
2
- on:
3
- push:
4
- branches:
5
- - main
6
-
7
- jobs:
8
- build_and_deploy:
9
- runs-on: ubuntu-latest
10
- steps:
11
- # Step 1: Create parent directory for proper relative paths
12
- - name: Create parent directory structure
13
- run: |
14
- mkdir -p $GITHUB_WORKSPACE/../dndev
15
- ls -la $GITHUB_WORKSPACE/..
16
-
17
- # Step 2: Checkout main repository
18
- - name: Checkout {{projectName}} Repository
19
- uses: actions/checkout@v4
20
- with:
21
- path: {{projectName}}
22
-
23
- # Step 3: Checkout dndev repository
24
- - name: Checkout DnDev Repository
25
- uses: actions/checkout@v4
26
- with:
27
- repository: ${{ github.repository_owner }}/dndev # Uses same owner as project repo
28
- token: ${{ secrets.GH_PAT }} # Personal access token with repo scope
29
- path: dndev
30
-
31
- # Step 4: Set up Node.js
32
- - name: Set up Node.js
33
- uses: actions/setup-node@v4
34
- with:
35
- node-version: '22' # Using Node 22 LTS
36
-
37
- # Step 5: Setup Bun
38
- - name: Install Bun
39
- uses: oven-sh/setup-bun@v1
40
- with:
41
- bun-version: 1.3.0
42
-
43
- # Step 6: Setup Bun cache
44
- - name: Setup Bun cache
45
- uses: actions/cache@v3
46
- with:
47
- path: ~/.bun/install/cache
48
- key: ${{ runner.os }}-bun-cache-${{ hashFiles('**/bun.lockb') }}
49
- restore-keys: |
50
- ${{ runner.os }}-bun-cache-
51
-
52
- # Step 7: Install dependencies
53
- - name: Install Dependencies
54
- working-directory: {{projectName}}
55
- run: bun install
56
-
57
- # Step 8: Build the project
58
- - name: Build
59
- working-directory: {{projectName}}
60
- run: bun run build
61
-
62
- # Step 10: Copy firebase.json to the right location
63
- - name: Copy Firebase configuration
64
- run: |
65
- cp {{projectName}}/firebase.json .
66
- cp {{projectName}}/.firebaserc .
67
- ls -la
68
-
69
- # Step 11: Deploy to Firebase Hosting
70
- - name: Deploy to Firebase Hosting
71
- uses: FirebaseExtended/action-hosting-deploy@v0
72
- with:
73
- repoToken: '${{ secrets.GITHUB_TOKEN }}'
74
- firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_{{firebaseSecretName}} }}'
75
- channelId: live
76
- projectId: {{firebaseProjectId}}
77
- entryPoint: '.' # Uses firebase.json at the root
78
- env:
79
- FIREBASE_CLI_PREVIEWS: hostingchannels