@powerhousedao/codegen 6.0.0-dev.2 → 6.0.0-dev.21

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 (79) hide show
  1. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +3 -1
  2. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +1 -1
  3. package/dist/src/codegen/__tests__/generate-doc-model.test.js +1 -0
  4. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
  5. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +35 -10
  6. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
  7. package/dist/src/codegen/__tests__/generate-editor.test.js +13 -9
  8. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
  9. package/dist/src/codegen/generate.d.ts +10 -10
  10. package/dist/src/codegen/generate.d.ts.map +1 -1
  11. package/dist/src/codegen/generate.js +21 -23
  12. package/dist/src/codegen/generate.js.map +1 -1
  13. package/dist/src/create-lib/create-project.d.ts.map +1 -1
  14. package/dist/src/create-lib/create-project.js +9 -1
  15. package/dist/src/create-lib/create-project.js.map +1 -1
  16. package/dist/src/file-builders/boilerplate/ci-templates.test.d.ts +2 -0
  17. package/dist/src/file-builders/boilerplate/ci-templates.test.d.ts.map +1 -0
  18. package/dist/src/file-builders/boilerplate/ci-templates.test.js +114 -0
  19. package/dist/src/file-builders/boilerplate/ci-templates.test.js.map +1 -0
  20. package/dist/src/file-builders/clis/generate-cli-docs.d.ts +17 -0
  21. package/dist/src/file-builders/clis/generate-cli-docs.d.ts.map +1 -0
  22. package/dist/src/file-builders/clis/generate-cli-docs.js +36 -0
  23. package/dist/src/file-builders/clis/generate-cli-docs.js.map +1 -0
  24. package/dist/src/file-builders/index.d.ts +1 -0
  25. package/dist/src/file-builders/index.d.ts.map +1 -1
  26. package/dist/src/file-builders/index.js +1 -0
  27. package/dist/src/file-builders/index.js.map +1 -1
  28. package/dist/src/file-builders/types.d.ts +18 -0
  29. package/dist/src/file-builders/types.d.ts.map +1 -1
  30. package/dist/src/templates/boilerplate/AGENTS.md.d.ts.map +1 -1
  31. package/dist/src/templates/boilerplate/AGENTS.md.js +41 -0
  32. package/dist/src/templates/boilerplate/AGENTS.md.js.map +1 -1
  33. package/dist/src/templates/boilerplate/CLAUDE.md.d.ts +1 -1
  34. package/dist/src/templates/boilerplate/CLAUDE.md.d.ts.map +1 -1
  35. package/dist/src/templates/boilerplate/CLAUDE.md.js +1 -407
  36. package/dist/src/templates/boilerplate/CLAUDE.md.js.map +1 -1
  37. package/dist/src/templates/boilerplate/docker/Dockerfile.d.ts +2 -0
  38. package/dist/src/templates/boilerplate/docker/Dockerfile.d.ts.map +1 -0
  39. package/dist/src/templates/boilerplate/docker/Dockerfile.js +144 -0
  40. package/dist/src/templates/boilerplate/docker/Dockerfile.js.map +1 -0
  41. package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.d.ts +2 -0
  42. package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.d.ts.map +1 -0
  43. package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.js +18 -0
  44. package/dist/src/templates/boilerplate/docker/connect-entrypoint.sh.js.map +1 -0
  45. package/dist/src/templates/boilerplate/docker/nginx.conf.d.ts +2 -0
  46. package/dist/src/templates/boilerplate/docker/nginx.conf.d.ts.map +1 -0
  47. package/dist/src/templates/boilerplate/docker/nginx.conf.js +79 -0
  48. package/dist/src/templates/boilerplate/docker/nginx.conf.js.map +1 -0
  49. package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.d.ts +2 -0
  50. package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.d.ts.map +1 -0
  51. package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.js +19 -0
  52. package/dist/src/templates/boilerplate/docker/switchboard-entrypoint.sh.js.map +1 -0
  53. package/dist/src/templates/boilerplate/github/sync-and-publish.yml.d.ts +2 -0
  54. package/dist/src/templates/boilerplate/github/sync-and-publish.yml.d.ts.map +1 -0
  55. package/dist/src/templates/boilerplate/github/sync-and-publish.yml.js +376 -0
  56. package/dist/src/templates/boilerplate/github/sync-and-publish.yml.js.map +1 -0
  57. package/dist/src/templates/boilerplate/package.json.d.ts.map +1 -1
  58. package/dist/src/templates/boilerplate/package.json.js +0 -1
  59. package/dist/src/templates/boilerplate/package.json.js.map +1 -1
  60. package/dist/src/templates/cli-docs/docs-from-cli-help.d.ts +8 -0
  61. package/dist/src/templates/cli-docs/docs-from-cli-help.d.ts.map +1 -0
  62. package/dist/src/templates/cli-docs/docs-from-cli-help.js +86 -0
  63. package/dist/src/templates/cli-docs/docs-from-cli-help.js.map +1 -0
  64. package/dist/src/templates/document-editor/editor.d.ts.map +1 -1
  65. package/dist/src/templates/document-editor/editor.js +66 -59
  66. package/dist/src/templates/document-editor/editor.js.map +1 -1
  67. package/dist/src/templates/drive-editor/editor.d.ts.map +1 -1
  68. package/dist/src/templates/drive-editor/editor.js +3 -1
  69. package/dist/src/templates/drive-editor/editor.js.map +1 -1
  70. package/dist/src/templates/index.d.ts +6 -0
  71. package/dist/src/templates/index.d.ts.map +1 -1
  72. package/dist/src/templates/index.js +6 -0
  73. package/dist/src/templates/index.js.map +1 -1
  74. package/dist/src/utils/dependencies.d.ts +21 -0
  75. package/dist/src/utils/dependencies.d.ts.map +1 -1
  76. package/dist/src/utils/dependencies.js +65 -2
  77. package/dist/src/utils/dependencies.js.map +1 -1
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/package.json +9 -8
@@ -0,0 +1,79 @@
1
+ export const nginxConfTemplate = `user nginx;
2
+ worker_processes auto;
3
+ error_log /var/log/nginx/error.log warn;
4
+ pid /var/run/nginx.pid;
5
+
6
+ events {
7
+ worker_connections 1024;
8
+ }
9
+
10
+ http {
11
+ include /etc/nginx/mime.types;
12
+ default_type application/octet-stream;
13
+
14
+ # Gzip compression
15
+ gzip on;
16
+ gzip_vary on;
17
+ gzip_proxied any;
18
+ gzip_comp_level 6;
19
+ gzip_buffers 16 8k;
20
+ gzip_http_version 1.1;
21
+ gzip_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss image/avif;
22
+
23
+ server {
24
+ listen 0.0.0.0:\${PORT};
25
+ server_name _;
26
+ root /var/www/html/project;
27
+
28
+ # Health check endpoint
29
+ location /health {
30
+ access_log off;
31
+ add_header Content-Type text/plain;
32
+ return 200 'OK';
33
+ }
34
+
35
+ location \${PH_CONNECT_BASE_PATH}/assets/ {
36
+ alias /var/www/html/project/assets/;
37
+ access_log off;
38
+ log_not_found off;
39
+ etag off;
40
+ expires max;
41
+ add_header Cache-Control "public, max-age=31536000, immutable";
42
+ }
43
+
44
+ location \${PH_CONNECT_BASE_PATH}/fonts/ {
45
+ alias /var/www/html/project/fonts/;
46
+ access_log off;
47
+ log_not_found off;
48
+ expires max;
49
+ add_header Cache-Control "public, max-age=31536000, immutable";
50
+ }
51
+
52
+ location = \${PH_CONNECT_BASE_PATH}/service-worker.js {
53
+ alias /var/www/html/project/service-worker.js;
54
+
55
+ access_log off;
56
+ log_not_found off;
57
+ etag off;
58
+
59
+ add_header Cache-Control "no-cache, no-store, must-revalidate";
60
+ add_header Pragma "no-cache";
61
+ add_header Expires "0";
62
+ }
63
+
64
+ # match any file in the root folder, except index.html
65
+ location ~ \${PH_CONNECT_BASE_PATH}/(?!index\\.html$)([^/]+\\.[a-zA-Z0-9]+)$ {
66
+ alias /var/www/html/project/$1;
67
+ access_log off;
68
+ log_not_found off;
69
+ etag on;
70
+ add_header Cache-Control "public, must-revalidate";
71
+ }
72
+
73
+ location \${PH_CONNECT_BASE_PATH} {
74
+ try_files $uri $uri/ /index.html;
75
+ }
76
+ }
77
+ }
78
+ `;
79
+ //# sourceMappingURL=nginx.conf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nginx.conf.js","sourceRoot":"","sources":["../../../../../src/templates/boilerplate/docker/nginx.conf.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EhC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const switchboardEntrypointTemplate = "#!/bin/sh\nset -e\n\n# Regenerate Prisma client for current platform (fixes darwin-arm64 vs linux-musl-openssl mismatch)\necho \"[entrypoint] Regenerating Prisma client for current platform...\"\nprisma generate --schema node_modules/document-drive/dist/prisma/schema.prisma\n\n# Run migrations if DATABASE_URL is postgres and migrations not skipped\nif [ -n \"$DATABASE_URL\" ] && echo \"$DATABASE_URL\" | grep -q \"^postgres\" && [ \"$SKIP_DB_MIGRATIONS\" != \"true\" ]; then\n echo \"[entrypoint] Running Prisma db push...\"\n prisma db push --schema node_modules/document-drive/dist/prisma/schema.prisma --skip-generate\n echo \"[entrypoint] Running migrations...\"\n ph switchboard --migrate\nfi\n\necho \"[entrypoint] Starting switchboard on port ${PORT:-3000}...\"\nexec ph switchboard --port ${PORT:-3000}\n";
2
+ //# sourceMappingURL=switchboard-entrypoint.sh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switchboard-entrypoint.sh.d.ts","sourceRoot":"","sources":["../../../../../src/templates/boilerplate/docker/switchboard-entrypoint.sh.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,g0BAiBzC,CAAC"}
@@ -0,0 +1,19 @@
1
+ export const switchboardEntrypointTemplate = `#!/bin/sh
2
+ set -e
3
+
4
+ # Regenerate Prisma client for current platform (fixes darwin-arm64 vs linux-musl-openssl mismatch)
5
+ echo "[entrypoint] Regenerating Prisma client for current platform..."
6
+ prisma generate --schema node_modules/document-drive/dist/prisma/schema.prisma
7
+
8
+ # Run migrations if DATABASE_URL is postgres and migrations not skipped
9
+ if [ -n "$DATABASE_URL" ] && echo "$DATABASE_URL" | grep -q "^postgres" && [ "$SKIP_DB_MIGRATIONS" != "true" ]; then
10
+ echo "[entrypoint] Running Prisma db push..."
11
+ prisma db push --schema node_modules/document-drive/dist/prisma/schema.prisma --skip-generate
12
+ echo "[entrypoint] Running migrations..."
13
+ ph switchboard --migrate
14
+ fi
15
+
16
+ echo "[entrypoint] Starting switchboard on port \${PORT:-3000}..."
17
+ exec ph switchboard --port \${PORT:-3000}
18
+ `;
19
+ //# sourceMappingURL=switchboard-entrypoint.sh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switchboard-entrypoint.sh.js","sourceRoot":"","sources":["../../../../../src/templates/boilerplate/docker/switchboard-entrypoint.sh.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;CAiB5C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const syncAndPublishWorkflowTemplate: string;
2
+ //# sourceMappingURL=sync-and-publish.yml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-and-publish.yml.d.ts","sourceRoot":"","sources":["../../../../../src/templates/boilerplate/github/sync-and-publish.yml.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,8BAA8B,QAqXtC,CAAC"}
@@ -0,0 +1,376 @@
1
+ import { yaml } from "@tmpl/core";
2
+ export const syncAndPublishWorkflowTemplate = yaml `
3
+ name: Sync and Publish
4
+
5
+ on:
6
+ # Triggered by powerhouse monorepo after release
7
+ repository_dispatch:
8
+ types: [powerhouse-release]
9
+
10
+ # Manual trigger
11
+ workflow_dispatch:
12
+ inputs:
13
+ channel:
14
+ description: 'Release channel'
15
+ required: true
16
+ type: choice
17
+ options:
18
+ - dev
19
+ - staging
20
+ - latest
21
+ default: 'staging'
22
+ version:
23
+ description: 'Powerhouse version (e.g., 5.3.0-staging.6)'
24
+ required: false
25
+ type: string
26
+ dry-run:
27
+ description: 'Dry run (skip publishing)'
28
+ required: false
29
+ type: boolean
30
+ default: false
31
+ skip-docker:
32
+ description: 'Skip Docker build and push'
33
+ required: false
34
+ type: boolean
35
+ default: false
36
+
37
+ env:
38
+ NODE_VERSION: '22'
39
+ PNPM_VERSION: '10'
40
+ DOCKER_REGISTRY: cr.vetra.io
41
+ GHCR_REGISTRY: ghcr.io
42
+
43
+ jobs:
44
+ # ==========================================================================
45
+ # Determine release parameters
46
+ # ==========================================================================
47
+ prepare:
48
+ name: Prepare Release
49
+ runs-on: ubuntu-latest
50
+ outputs:
51
+ channel: \${{ steps.params.outputs.channel }}
52
+ version: \${{ steps.params.outputs.version }}
53
+ branch: \${{ steps.params.outputs.branch }}
54
+ project_name: \${{ steps.params.outputs.project_name }}
55
+ dry_run: \${{ steps.params.outputs.dry_run }}
56
+ skip_docker: \${{ steps.params.outputs.skip_docker }}
57
+ steps:
58
+ - name: Determine parameters
59
+ id: params
60
+ run: |
61
+ # Get channel from dispatch payload or input
62
+ if [ "\${{ github.event_name }}" = "repository_dispatch" ]; then
63
+ CHANNEL="\${{ github.event.client_payload.channel }}"
64
+ VERSION="\${{ github.event.client_payload.version }}"
65
+ DRY_RUN="false"
66
+ SKIP_DOCKER="false"
67
+ else
68
+ CHANNEL="\${{ inputs.channel }}"
69
+ VERSION="\${{ inputs.version }}"
70
+ DRY_RUN="\${{ inputs.dry-run }}"
71
+ SKIP_DOCKER="\${{ inputs.skip-docker }}"
72
+ fi
73
+
74
+ # Default channel to staging if not set
75
+ CHANNEL="\${CHANNEL:-staging}"
76
+
77
+ # Determine branch from channel
78
+ case "\$CHANNEL" in
79
+ dev) BRANCH="dev" ;;
80
+ staging) BRANCH="staging" ;;
81
+ latest|main) BRANCH="main" ;;
82
+ *) BRANCH="staging" ;;
83
+ esac
84
+
85
+ # Use DOCKER_PROJECT secret if set, otherwise extract from repository name
86
+ if [ -n "\${{ secrets.DOCKER_PROJECT }}" ]; then
87
+ PROJECT_NAME="\${{ secrets.DOCKER_PROJECT }}"
88
+ else
89
+ PROJECT_NAME="\${GITHUB_REPOSITORY#*/}"
90
+ fi
91
+
92
+ echo "channel=\$CHANNEL" >> \$GITHUB_OUTPUT
93
+ echo "version=\$VERSION" >> \$GITHUB_OUTPUT
94
+ echo "branch=\$BRANCH" >> \$GITHUB_OUTPUT
95
+ echo "project_name=\$PROJECT_NAME" >> \$GITHUB_OUTPUT
96
+ echo "dry_run=\$DRY_RUN" >> \$GITHUB_OUTPUT
97
+ echo "skip_docker=\$SKIP_DOCKER" >> \$GITHUB_OUTPUT
98
+
99
+ echo "Channel: \$CHANNEL"
100
+ echo "Version: \$VERSION"
101
+ echo "Branch: \$BRANCH"
102
+ echo "Project: \$PROJECT_NAME"
103
+ echo "Dry Run: \$DRY_RUN"
104
+ echo "Skip Docker: \$SKIP_DOCKER"
105
+
106
+ # ==========================================================================
107
+ # Update dependencies and publish to npm
108
+ # ==========================================================================
109
+ update-and-publish:
110
+ name: Update & Publish NPM
111
+ needs: prepare
112
+ runs-on: ubuntu-latest
113
+ permissions:
114
+ contents: write
115
+ id-token: write
116
+ outputs:
117
+ new_version: \${{ steps.version.outputs.new_version }}
118
+ steps:
119
+ - name: Checkout repository
120
+ uses: actions/checkout@v4
121
+ with:
122
+ ref: \${{ needs.prepare.outputs.branch }}
123
+ fetch-depth: 0
124
+ token: \${{ secrets.GITHUB_TOKEN }}
125
+
126
+ - name: Install pnpm
127
+ uses: pnpm/action-setup@v4
128
+ with:
129
+ version: \${{ env.PNPM_VERSION }}
130
+
131
+ - name: Install Node.js
132
+ uses: actions/setup-node@v4
133
+ with:
134
+ node-version: \${{ env.NODE_VERSION }}
135
+ cache: 'pnpm'
136
+
137
+ - name: Configure git
138
+ run: |
139
+ git config user.name "github-actions[bot]"
140
+ git config user.email "github-actions[bot]@users.noreply.github.com"
141
+
142
+ - name: Install ph-cli
143
+ run: |
144
+ CHANNEL="\${{ needs.prepare.outputs.channel }}"
145
+ case "\$CHANNEL" in
146
+ dev) pnpm add -g @powerhousedao/ph-cli@dev ;;
147
+ staging) pnpm add -g @powerhousedao/ph-cli@staging ;;
148
+ *) pnpm add -g @powerhousedao/ph-cli@latest ;;
149
+ esac
150
+
151
+ - name: Update Powerhouse dependencies
152
+ run: ph update
153
+
154
+ - name: Install dependencies
155
+ run: pnpm install
156
+
157
+ - name: Build package
158
+ run: pnpm build
159
+
160
+ - name: Run tests
161
+ run: pnpm test || true
162
+ continue-on-error: true
163
+
164
+ - name: Bump version
165
+ id: version
166
+ run: |
167
+ CHANNEL="\${{ needs.prepare.outputs.channel }}"
168
+ CURRENT_VERSION=\$(node -p "require('./package.json').version")
169
+
170
+ # Determine new version
171
+ if [ "\$CHANNEL" = "latest" ] || [ "\$CHANNEL" = "main" ]; then
172
+ # For production, use patch bump
173
+ npm version patch --no-git-tag-version
174
+ else
175
+ # For dev/staging, use prerelease
176
+ npm version prerelease --preid=\$CHANNEL --no-git-tag-version
177
+ fi
178
+
179
+ NEW_VERSION=\$(node -p "require('./package.json').version")
180
+ echo "new_version=\$NEW_VERSION" >> \$GITHUB_OUTPUT
181
+ echo "Bumped version: \$CURRENT_VERSION -> \$NEW_VERSION"
182
+
183
+ - name: Commit changes
184
+ run: |
185
+ git add package.json pnpm-lock.yaml
186
+ git commit -m "chore: sync powerhouse dependencies to \${{ needs.prepare.outputs.version }}
187
+
188
+ - Updated to powerhouse \${{ needs.prepare.outputs.version }}
189
+ - Bumped version to \${{ steps.version.outputs.new_version }}" || echo "No changes to commit"
190
+
191
+ - name: Push changes
192
+ if: needs.prepare.outputs.dry_run != 'true'
193
+ run: git push
194
+
195
+ - name: Setup npm for publishing
196
+ if: needs.prepare.outputs.dry_run != 'true' && secrets.NPM_ACCESS_TOKEN != ''
197
+ uses: actions/setup-node@v4
198
+ with:
199
+ node-version: \${{ env.NODE_VERSION }}
200
+ registry-url: 'https://registry.npmjs.org'
201
+
202
+ - name: Publish to npm with provenance
203
+ if: needs.prepare.outputs.dry_run != 'true' && secrets.NPM_ACCESS_TOKEN != ''
204
+ env:
205
+ NODE_AUTH_TOKEN: \${{ secrets.NPM_ACCESS_TOKEN }}
206
+ NPM_CONFIG_PROVENANCE: true
207
+ run: |
208
+ CHANNEL="\${{ needs.prepare.outputs.channel }}"
209
+ if [ "\$CHANNEL" = "latest" ] || [ "\$CHANNEL" = "main" ]; then
210
+ pnpm publish --access public --tag latest --no-git-checks
211
+ else
212
+ pnpm publish --access public --tag \$CHANNEL --no-git-checks
213
+ fi
214
+
215
+ - name: Create git tag
216
+ if: needs.prepare.outputs.dry_run != 'true'
217
+ run: |
218
+ git tag "v\${{ steps.version.outputs.new_version }}"
219
+ git push origin "v\${{ steps.version.outputs.new_version }}"
220
+
221
+ # ==========================================================================
222
+ # Build and push Docker images
223
+ # ==========================================================================
224
+ build-docker:
225
+ name: Build Docker Images
226
+ needs: [prepare, update-and-publish]
227
+ if: |
228
+ needs.prepare.outputs.skip_docker != 'true' &&
229
+ needs.prepare.outputs.dry_run != 'true' &&
230
+ secrets.DOCKER_USERNAME != '' &&
231
+ secrets.DOCKER_PASSWORD != ''
232
+ runs-on: ubuntu-latest
233
+ permissions:
234
+ contents: read
235
+ packages: write
236
+ strategy:
237
+ matrix:
238
+ target: [connect, switchboard]
239
+ steps:
240
+ - name: Checkout repository
241
+ uses: actions/checkout@v4
242
+ with:
243
+ ref: \${{ needs.prepare.outputs.branch }}
244
+
245
+ - name: Pull latest changes
246
+ run: git pull origin \${{ needs.prepare.outputs.branch }}
247
+
248
+ - name: Set up Docker Buildx
249
+ uses: docker/setup-buildx-action@v3
250
+
251
+ - name: Ensure Docker project exists
252
+ run: |
253
+ PROJECT_NAME="\${{ needs.prepare.outputs.project_name }}"
254
+
255
+ # Check if project exists, create if not
256
+ STATUS=\$(curl -s -o /dev/null -w "%{http_code}" \\
257
+ -u "\${{ secrets.DOCKER_USERNAME }}:\${{ secrets.DOCKER_PASSWORD }}" \\
258
+ "https://\${{ env.DOCKER_REGISTRY }}/api/v2.0/projects?name=\${PROJECT_NAME}")
259
+
260
+ if [ "\$STATUS" = "200" ]; then
261
+ # Check if the project is in the response
262
+ EXISTS=\$(curl -s \\
263
+ -u "\${{ secrets.DOCKER_USERNAME }}:\${{ secrets.DOCKER_PASSWORD }}" \\
264
+ "https://\${{ env.DOCKER_REGISTRY }}/api/v2.0/projects?name=\${PROJECT_NAME}" | \\
265
+ jq -r ".[] | select(.name==\\"\${PROJECT_NAME}\\") | .name")
266
+
267
+ if [ "\$EXISTS" = "\$PROJECT_NAME" ]; then
268
+ echo "Project \${PROJECT_NAME} already exists"
269
+ else
270
+ echo "Creating project \${PROJECT_NAME}..."
271
+ curl -X POST \\
272
+ -u "\${{ secrets.DOCKER_USERNAME }}:\${{ secrets.DOCKER_PASSWORD }}" \\
273
+ -H "Content-Type: application/json" \\
274
+ -d "{\\"project_name\\": \\"\${PROJECT_NAME}\\", \\"public\\": false}" \\
275
+ "https://\${{ env.DOCKER_REGISTRY }}/api/v2.0/projects"
276
+ fi
277
+ else
278
+ echo "Creating project \${PROJECT_NAME}..."
279
+ curl -X POST \\
280
+ -u "\${{ secrets.DOCKER_USERNAME }}:\${{ secrets.DOCKER_PASSWORD }}" \\
281
+ -H "Content-Type: application/json" \\
282
+ -d "{\\"project_name\\": \\"\${PROJECT_NAME}\\", \\"public\\": false}" \\
283
+ "https://\${{ env.DOCKER_REGISTRY }}/api/v2.0/projects"
284
+ fi
285
+
286
+ - name: Login to GitHub Container Registry
287
+ uses: docker/login-action@v3
288
+ with:
289
+ registry: \${{ env.GHCR_REGISTRY }}
290
+ username: \${{ github.actor }}
291
+ password: \${{ secrets.GITHUB_TOKEN }}
292
+
293
+ - name: Login to Docker Registry
294
+ uses: docker/login-action@v3
295
+ with:
296
+ registry: \${{ env.DOCKER_REGISTRY }}
297
+ username: \${{ secrets.DOCKER_USERNAME }}
298
+ password: \${{ secrets.DOCKER_PASSWORD }}
299
+
300
+ - name: Extract package name
301
+ id: package
302
+ run: |
303
+ PACKAGE_NAME=\$(node -p "require('./package.json').name")
304
+ echo "name=\$PACKAGE_NAME" >> \$GITHUB_OUTPUT
305
+
306
+ - name: Determine image tags
307
+ id: tags
308
+ run: |
309
+ VERSION="\${{ needs.update-and-publish.outputs.new_version }}"
310
+ CHANNEL="\${{ needs.prepare.outputs.channel }}"
311
+ PROJECT="\${{ needs.prepare.outputs.project_name }}"
312
+ TARGET="\${{ matrix.target }}"
313
+
314
+ # GHCR tags
315
+ GHCR_BASE="\${{ env.GHCR_REGISTRY }}/\${{ github.repository_owner }}/\${PROJECT}/\${TARGET}"
316
+
317
+ # Docker registry tags
318
+ DOCKER_BASE="\${{ env.DOCKER_REGISTRY }}/\${PROJECT}/\${TARGET}"
319
+
320
+ # Build tag list
321
+ TAGS="\${GHCR_BASE}:v\${VERSION}"
322
+ TAGS="\${TAGS},\${DOCKER_BASE}:v\${VERSION}"
323
+
324
+ # Add channel tag
325
+ if [ "\$CHANNEL" = "latest" ] || [ "\$CHANNEL" = "main" ]; then
326
+ TAGS="\${TAGS},\${GHCR_BASE}:latest"
327
+ TAGS="\${TAGS},\${DOCKER_BASE}:latest"
328
+ else
329
+ TAGS="\${TAGS},\${GHCR_BASE}:\${CHANNEL}"
330
+ TAGS="\${TAGS},\${DOCKER_BASE}:\${CHANNEL}"
331
+ fi
332
+
333
+ echo "tags=\$TAGS" >> \$GITHUB_OUTPUT
334
+ echo "Image tags: \$TAGS"
335
+
336
+ - name: Build and push \${{ matrix.target }}
337
+ uses: docker/build-push-action@v5
338
+ with:
339
+ context: .
340
+ file: ./Dockerfile
341
+ target: \${{ matrix.target }}
342
+ push: true
343
+ tags: \${{ steps.tags.outputs.tags }}
344
+ build-args: |
345
+ TAG=\${{ needs.prepare.outputs.channel == 'latest' && 'latest' || needs.prepare.outputs.version }}
346
+ PACKAGE_NAME=\${{ steps.package.outputs.name }}
347
+ PH_CONNECT_BASE_PATH=/
348
+ cache-from: type=gha
349
+ cache-to: type=gha,mode=max
350
+
351
+ # ==========================================================================
352
+ # Summary
353
+ # ==========================================================================
354
+ summary:
355
+ name: Release Summary
356
+ needs: [prepare, update-and-publish, build-docker]
357
+ if: always()
358
+ runs-on: ubuntu-latest
359
+ steps:
360
+ - name: Summary
361
+ run: |
362
+ echo "## Release Summary" >> \$GITHUB_STEP_SUMMARY
363
+ echo "" >> \$GITHUB_STEP_SUMMARY
364
+ echo "| Parameter | Value |" >> \$GITHUB_STEP_SUMMARY
365
+ echo "|-----------|-------|" >> \$GITHUB_STEP_SUMMARY
366
+ echo "| Channel | \${{ needs.prepare.outputs.channel }} |" >> \$GITHUB_STEP_SUMMARY
367
+ echo "| Branch | \${{ needs.prepare.outputs.branch }} |" >> \$GITHUB_STEP_SUMMARY
368
+ echo "| Powerhouse Version | \${{ needs.prepare.outputs.version }} |" >> \$GITHUB_STEP_SUMMARY
369
+ echo "| Package Version | \${{ needs.update-and-publish.outputs.new_version }} |" >> \$GITHUB_STEP_SUMMARY
370
+ echo "| Dry Run | \${{ needs.prepare.outputs.dry_run }} |" >> \$GITHUB_STEP_SUMMARY
371
+ echo "" >> \$GITHUB_STEP_SUMMARY
372
+ echo "### Docker Images" >> \$GITHUB_STEP_SUMMARY
373
+ echo "- \\\`\${{ env.DOCKER_REGISTRY }}/\${{ needs.prepare.outputs.project_name }}/connect:v\${{ needs.update-and-publish.outputs.new_version }}\\\`" >> \$GITHUB_STEP_SUMMARY
374
+ echo "- \\\`\${{ env.DOCKER_REGISTRY }}/\${{ needs.prepare.outputs.project_name }}/switchboard:v\${{ needs.update-and-publish.outputs.new_version }}\\\`" >> \$GITHUB_STEP_SUMMARY
375
+ `.raw;
376
+ //# sourceMappingURL=sync-and-publish.yml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-and-publish.yml.js","sourceRoot":"","sources":["../../../../../src/templates/boilerplate/github/sync-and-publish.yml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqXjD,CAAC,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.d.ts","sourceRoot":"","sources":["../../../../src/templates/boilerplate/package.json.ts"],"names":[],"mappings":"AA4FA,eAAO,MAAM,mBAAmB,GAC9B,aAAa,MAAM,EACnB,uBAAuB,MAAM,EAAE,EAC/B,0BAA0B,MAAM,EAAE,WA4B/B,CAAC"}
1
+ {"version":3,"file":"package.json.d.ts","sourceRoot":"","sources":["../../../../src/templates/boilerplate/package.json.ts"],"names":[],"mappings":"AA2FA,eAAO,MAAM,mBAAmB,GAC9B,aAAa,MAAM,EACnB,uBAAuB,MAAM,EAAE,EAC/B,0BAA0B,MAAM,EAAE,WA4B/B,CAAC"}
@@ -62,7 +62,6 @@ const devDependenciesTemplate = (versionedDevDependencies) => json `
62
62
  "@electric-sql/pglite": "^0.2.12",
63
63
  "@eslint/js": "^9.38.0",
64
64
  "@powerhousedao/analytics-engine-core": "^0.5.0",
65
- "@powerhousedao/scalars": "^2.0.1",
66
65
  "@tailwindcss/cli": "^4.1.4",
67
66
  "@testing-library/react": "^16.3.0",
68
67
  "@types/node": "^24.9.2",
@@ -1 +1 @@
1
- {"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../../src/templates/boilerplate/package.json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,eAAe,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B3B,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;CAkB3B,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,qBAA+B,EAAE,EAAE,CAAC,IAAI,CAAA;IAClE,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;CAKpC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,wBAAkC,EAAE,EAAE,CAAC,IAAI,CAAA;IACxE,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BvC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,qBAA+B,EAC/B,wBAAkC,EAClC,EAAE,CACF,IAAI,CAAA;;aAEO,WAAW;;;;;;;;MAQlB,eAAe;;;MAGf,eAAe;;;MAGf,oBAAoB,CAAC,qBAAqB,CAAC;;;MAG3C,uBAAuB,CAAC,wBAAwB,CAAC;;;;;;;CAOtD,CAAC,GAAG,CAAC"}
1
+ {"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../../src/templates/boilerplate/package.json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,eAAe,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B3B,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;CAkB3B,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,qBAA+B,EAAE,EAAE,CAAC,IAAI,CAAA;IAClE,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;CAKpC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,wBAAkC,EAAE,EAAE,CAAC,IAAI,CAAA;IACxE,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CAyBvC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,qBAA+B,EAC/B,wBAAkC,EAClC,EAAE,CACF,IAAI,CAAA;;aAEO,WAAW;;;;;;;;MAQlB,eAAe;;;MAGf,eAAe;;;MAGf,oBAAoB,CAAC,qBAAqB,CAAC;;;MAG3C,uBAAuB,CAAC,wBAAwB,CAAC;;;;;;;CAOtD,CAAC,GAAG,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { CommandHelpInfo } from "@powerhousedao/codegen";
2
+ export declare const docsFromCliHelpTemplate: (v: {
3
+ cliDescription: string;
4
+ commandsHelpInfo: CommandHelpInfo[];
5
+ docsTitle: string;
6
+ docsIntroduction: string;
7
+ }) => string;
8
+ //# sourceMappingURL=docs-from-cli-help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-from-cli-help.d.ts","sourceRoot":"","sources":["../../../../src/templates/cli-docs/docs-from-cli-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,wBAAwB,CAAC;AAyGzE,eAAO,MAAM,uBAAuB,GAAI,GAAG;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,WAOA,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { capitalCase, paramCase } from "change-case";
2
+ function groupHelpTopicsByCategory(helpTopics) {
3
+ const helpTopicsByCategory = {};
4
+ for (const helpTopic of helpTopics) {
5
+ if (!helpTopicsByCategory[helpTopic.category]) {
6
+ helpTopicsByCategory[helpTopic.category] = [helpTopic];
7
+ }
8
+ else {
9
+ helpTopicsByCategory[helpTopic.category]?.push(helpTopic);
10
+ }
11
+ }
12
+ return helpTopicsByCategory;
13
+ }
14
+ function makeTableOfContents(commandsHelpInfo) {
15
+ const commandNames = commandsHelpInfo.map(({ name }) => name);
16
+ const tableOfContentsEntries = [];
17
+ for (const name of commandNames) {
18
+ tableOfContentsEntries.push(`- [${capitalCase(name)}](#${paramCase(name)})\n`);
19
+ }
20
+ return tableOfContentsEntries.join("");
21
+ }
22
+ function makeDefaultsDescriptors(defaults) {
23
+ const withoutOptional = defaults.filter((d) => d !== "optional" && d !== "[...optional]");
24
+ const formatted = withoutOptional.map((d) => {
25
+ const [label, ...rest] = d.split(":").map((s) => s.trim());
26
+ return `**${label}**: \`${rest.join("")}\``;
27
+ });
28
+ return formatted;
29
+ }
30
+ function makeRequiredDescriptor(defaults) {
31
+ if (defaults.includes("optional") ||
32
+ defaults.includes("[...optional]") ||
33
+ defaults.some((d) => d.includes("default")))
34
+ return "";
35
+ return "*[required]*";
36
+ }
37
+ function makeHeadingFromUsage(usage) {
38
+ if (usage.includes("--")) {
39
+ const usageAsWords = capitalCase(usage.split(" ")[0].replace("--", ""));
40
+ return `#### ${usageAsWords}`;
41
+ }
42
+ const usageWithoutBrackets = capitalCase(usage.replace("[", "").replace("]", ""));
43
+ return `#### ${usageWithoutBrackets}`;
44
+ }
45
+ function makeCommandHelpTopicDocs(helpTopic) {
46
+ const { defaults, description, usage } = helpTopic;
47
+ const heading = makeHeadingFromUsage(usage);
48
+ const requiredDescriptor = makeRequiredDescriptor(defaults);
49
+ const defaultsDescriptors = makeDefaultsDescriptors(defaults);
50
+ return `${heading} ${requiredDescriptor}<br>
51
+ ${description}<br><br>
52
+ **usage:** \`${usage}\`<br>
53
+ ${defaultsDescriptors.join("<br>")}
54
+ `;
55
+ }
56
+ function makeCommandHelpTopicsDocs(helpTopics) {
57
+ return helpTopics.map(makeCommandHelpTopicDocs).join("");
58
+ }
59
+ function makeCommandHelpTopicsDocsForCategories(helpTopics) {
60
+ const helpTopicsByCategory = groupHelpTopicsByCategory(helpTopics);
61
+ const helpTopicsDocs = [];
62
+ for (const [category, helpTopics] of Object.entries(helpTopicsByCategory)) {
63
+ const helpTopicDocs = makeCommandHelpTopicsDocs(helpTopics ?? []);
64
+ helpTopicsDocs.push(`### ${category}
65
+ ${helpTopicDocs}
66
+ `);
67
+ }
68
+ return helpTopicsDocs.join("");
69
+ }
70
+ function makeCommandDoc(commandHelpInfo) {
71
+ const { name, description, helpTopics } = commandHelpInfo;
72
+ return `## ${capitalCase(name)}
73
+ ${description}
74
+ ${makeCommandHelpTopicsDocsForCategories(helpTopics)}`;
75
+ }
76
+ function makeCommandDocs(commandsHelpInfo) {
77
+ return commandsHelpInfo.map(makeCommandDoc).join("");
78
+ }
79
+ export const docsFromCliHelpTemplate = (v) => `# ${v.docsTitle}<br>
80
+ ${v.docsIntroduction}<br><br>
81
+ ${v.cliDescription}<br>
82
+ ## Table of Contents
83
+ ${makeTableOfContents(v.commandsHelpInfo)}<br>
84
+ ${makeCommandDocs(v.commandsHelpInfo)}
85
+ `;
86
+ //# sourceMappingURL=docs-from-cli-help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-from-cli-help.js","sourceRoot":"","sources":["../../../../src/templates/cli-docs/docs-from-cli-help.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../../src/templates/document-editor/editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,eAAO,MAAM,gCAAgC,GAC3C,GAAG,mBAAmB,GAAG;IACvB,uBAAuB,EAAE,MAAM,CAAC;CACjC,WA6EE,CAAC"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../../src/templates/document-editor/editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,eAAO,MAAM,gCAAgC,GAC3C,GAAG,mBAAmB,GAAG;IACvB,uBAAuB,EAAE,MAAM,CAAC;CACjC,WAoFE,CAAC"}