e050a30cb6
feat: migrate page components and layouts to JSON (Phase 12)
...
Migrated 20 page-level and layout components to JSON-based architecture:
- SchemaEditorPage, KeyboardShortcutsDialog, PreloadIndicator
- PWA components: PWAStatusBar, PWAUpdatePrompt, PWAInstallPrompt
- UI components: ConflictCard, ConflictIndicator, ErrorPanel, PreviewDialog
- Page templates: NotFoundPage, GlobalSearch
- Demo pages: AtomicComponentShowcase, JSONUIShowcasePage, JSONDemoPage
DashboardDemoPage, ComprehensiveDemoPage
- Feature components: TemplateExplorer, ProjectManager, StorageSettingsPanel
Created JSON definitions and interfaces for all components. Updated registry
to include 19 new entries (one was duplicate). All components now available
as pure JSON exports via json-components.ts.
Coverage improvements:
- JSON exports: 203 → 224 (+21 components)
- JSON definitions: 204 → 225 (+21 files)
- Registry entries: 373 → 392 (+19 entries)
Build passes with no errors. All page components now use JSON-driven
architecture instead of TSX.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-01-21 04:21:44 +00:00
d5e118a1cf
feat: migrate reusable application feature components to JSON (Phase 9)
...
Migrated 14 reusable feature components to JSON architecture:
Error Handling:
- ErrorPanelHeader: header with action buttons and badges
- ErrorPanelEmptyState: conditional empty state rendering
PWA Settings:
- PWAUpdateSection: update notification card
- PWACacheSection: cache management settings
Conflict Resolution:
- ConflictResolutionStats: statistics cards grid
Feature Components:
- HowItWorksCard: instructional step cards
- SearchResults: search results display with categories
- SearchEmptyState: empty search state
Comprehensive Demo:
- ComprehensiveDemoHeader: gradient title header
- ComprehensiveDemoStatsRow: task statistics cards
Reusable Patterns:
- ConfigCard: configuration input card
- StatusCard: status indicator card
- InfoSection: key-value information display
- ListHeader: list header with count badge
Changes:
- Created 14 JSON definitions in src/components/json-definitions/
- Created 14 TypeScript interfaces in src/lib/json-ui/interfaces/
- Exported all components from json-components.ts
- Updated json-components-registry.json (373 total, 223 JSON-compatible)
- Updated json-ui-component-types.ts
Features extracted from:
- error-panel, pwa-settings, conflict-resolution, data-binding-designer
- global-search, comprehensive-demo, project-settings
Build status: PASS ✓
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-01-21 04:09:48 +00:00
d180d59ba4
feat: delete all 62 remaining duplicate TSX files (Phase 6 complete)
...
Phase 6 Achievements:
- Deleted 62 duplicate TSX files with JSON equivalents (44 atoms + 14 molecules + 4 organisms)
- Added 27 missing component exports to json-components.ts
- Created interface files for deleted components in src/lib/json-ui/interfaces/
- Copied JSON definitions from config/pages to components/json-definitions/ for consistency
- Updated atoms/index.ts with comprehensive exports for all 100+ components
- Fixed import issues in AtomicComponentDemo.tsx
- Removed orphaned CodeEditor registry entry and JSON config file
- Fixed registry entry count (359 total, 0 orphans, 0 duplicates)
Metrics:
- TSX file reduction: 475 → 412 files (63 deleted, 13.3% reduction)
- Build: Passing with no errors
- Audit: 0 issues found
Coverage Progress:
- Phase 1-5: 141 deletions (30%)
- Phase 6: 63 deletions (13.3%)
- Total: 204 deletions (43.3% of initial 475)
- Target: 70-75% by end of Phase 6
Components Status:
- All deleted components now available as JSON-based exports
- Full backwards compatibility through atoms/molecules/organisms index files
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-01-21 03:35:47 +00:00
c123c8c563
fix: Consolidate and verify JSON component exports (Task 8)
...
- Remove duplicate form.json import from json-components.ts
- Add missing interface exports to interfaces/index.ts:
- loading-screen interface
- sparkle interface
- Add missing registry entries for FormField and InputOTP
- Update registry statistics: 360 total, 204 jsonCompatible (56.66%)
- Verify all 127 exports have valid interfaces
- All exports now properly registered and indexed
Build: PASSED ✓
Coverage: 56.66% jsonCompatible entries
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-01-21 02:32:43 +00:00
53c8a72c0f
feat: Migrate 5 key molecules to JSON architecture
...
Converted AppBranding, DataSourceCard, CodeExplanationDialog, ComponentPalette, and CanvasRenderer from TSX to JSON-based architecture.
Changes:
- Created JSON definitions in src/components/json-definitions/
- Created TypeScript interfaces in src/lib/json-ui/interfaces/
- Added exports to src/lib/json-ui/json-components.ts
- Updated json-components-registry.json with 5 new components
- Updated registry statistics (total: 347, molecules: 50, jsonCompatible: 124)
All components use createJsonComponent for pure JSON rendering without hooks.
Build passes with no errors.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-01-21 02:25:05 +00:00
eb8a8689fb
feat: migrate Tier 3 atoms batch 6 - Slider through Tooltip (17 components)
...
Migrate the following components from TSX to JSON-driven architecture:
- Slider - range input control with label and value display
- Spinner - rotating loading indicator with Phosphor icons
- StatusIcon - saved/synced status indicators
- StepIndicator - step-by-step progress display
- Stepper - numbered step progression indicator
- Switch - toggle control with optional label
- Table - data table with columns and row handling
- Tabs - tabbed navigation with active state
- Tag - inline tag/badge with optional remove button
- TextArea - multiline text input with error state
- TextGradient - gradient text effect component
- TextHighlight - highlighted/emphasized text span
- Timeline - vertical timeline with status indicators
- Timestamp - date/time display with relative formatting
- Toggle - simple toggle switch control
- Tooltip - popover tooltip with positioning
Created:
- 17 TypeScript interface files in src/lib/json-ui/interfaces/
- 17 JSON definition files in src/components/json-definitions/
- Updated json-components.ts with imports and exports
- Updated json-components-registry.json to mark components as jsonCompatible
All components are pure JSON with no custom hooks required (stateless rendering).
Build successfully completes with no errors.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-01-21 01:43:09 +00:00
94d67dfed5
feat: migrate DataSourceManager to JSON (Tier 2 - Organism 1)
...
- Create JSON definition in src/components/json-definitions/data-source-manager.json
- Create TypeScript interface in src/lib/json-ui/interfaces/data-source-manager.ts
- Create custom hook useDataSourceManagerState in src/hooks/use-data-source-manager-state.ts
- Register hook in src/lib/json-ui/hooks-registry.ts
- Export DataSourceManager from src/lib/json-ui/json-components.ts
- Update imports in src/components/DataBindingDesigner.tsx
- Remove legacy TSX files and sub-components
- Update exports in src/components/organisms/index.ts
- Add hook export in src/hooks/index.ts
DataSourceManager now uses JSON-driven architecture with custom hooks for state management.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-01-21 01:29:19 +00:00
bef28e8c91
feat: add Timestamp and Toggle components; implement TreeIcon and EditorActions components
...
- Introduced Timestamp component for displaying formatted dates and relative time.
- Added Toggle component for switch-like functionality with customizable sizes.
- Implemented TreeIcon component for rendering tree icons using Phosphor icons.
- Created EditorActions component for explain and improve actions with icons.
- Developed FileTabs component for managing open files with close functionality.
- Added LazyInlineMonacoEditor and LazyMonacoEditor for lazy loading Monaco editor.
- Implemented NavigationItem for navigation with badges and icons.
- Created PageHeaderContent for displaying page headers with icons and descriptions.
- Added JSON configuration files for various UI components and layouts.
- Enhanced data binding with new computed data source hook.
- Updated component registry and types for new components.
- Configured Vite for improved hot module replacement experience.
2026-01-18 21:42:51 +00:00
aa51074380
Remove 123 simple TypeScript components now defined in JSON
...
Deleted files:
- 71 simple atoms (ActionIcon, Alert, AppLogo, Avatar, Badge, Chip, etc.)
- 21 simple molecules (ActionBar, AppBranding, DataCard, etc.)
- 8 simple organisms (EmptyCanvasState, PageHeader, SchemaEditorCanvas, etc.)
- 23 simple UI components (accordion, alert, button, card, etc.)
Changes:
- Created cleanup-simple-components.ts script to automate deletion
- Created update-index-exports.ts script to update index files
- Updated index.ts in atoms/, molecules/, organisms/ to remove deleted exports
- Installed npm dependencies
Remaining TypeScript components (kept for complexity):
- 46 atoms wrapping UI or with hooks
- 20 molecules with complex logic
- 6 organisms with state management
- 11 UI components with advanced features
Total: 317 components now have JSON definitions, 123 TypeScript files deleted (39% reduction)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-18 19:45:25 +00:00
b8dc6f38e6
Generate JSON UI component types
2026-01-18 18:46:02 +00:00
03cc955d20
Update data source editor copy
2026-01-18 18:32:55 +00:00
52f1703c35
Merge pull request #168 from johndoe6345789/codex/update-schemas-to-remove-legacy-compute-functions
...
Replace legacy compute usage with JSON expressions
2026-01-18 17:42:12 +00:00
966b6f2aa6
Remove legacy compute schema support
2026-01-18 17:41:57 +00:00
f6673e1b77
Add JSON page support to page configs
2026-01-18 17:25:22 +00:00
7be52ffc1e
Add JSON page routing support
2026-01-18 17:15:39 +00:00
f547d38539
things
2026-01-18 15:48:29 +00:00
67f2c26f10
Add nested target path updates
2026-01-18 13:35:00 +00:00
9ea7c15f5d
Merge pull request #153 from johndoe6345789/codex/unify-breadcrumb-components-implementation
...
Mark Breadcrumb as JSON compatible
2026-01-18 13:17:10 +00:00
92e9b02d6d
Mark breadcrumb as JSON compatible
2026-01-18 13:16:08 +00:00
6f01619141
Merge pull request #152 from johndoe6345789/codex/add-component-types-and-register-them
...
Support branding and navigation molecules in JSON UI
2026-01-18 13:15:22 +00:00
f627f6955f
Support branding and navigation molecules
2026-01-18 13:15:04 +00:00
3f190f7e5a
Merge pull request #151 from johndoe6345789/codex/add-component-types-and-registration
...
Add ListItem and table subcomponents + List/Table/Timeline bindings example
2026-01-18 13:14:43 +00:00
7d04abb7d9
Add list/table/timeline bindings example
2026-01-18 13:14:31 +00:00
968efc7701
Add DatePicker and FileUpload defaults
2026-01-18 13:12:25 +00:00
578b52bb95
Add converted JSON UI components
2026-01-18 12:36:11 +00:00
bd9482b6d4
Merge pull request #127 from johndoe6345789/codex/create-wrapper-components-for-skipped-items
...
Move JSON wrapper interfaces to shared file
2026-01-18 12:18:45 +00:00
9e80117569
Fix wrapper interfaces import order
2026-01-18 12:18:33 +00:00
13192f422e
Register progress indicators for JSON UI
2026-01-18 12:10:45 +00:00
0d13710c09
Add DatePicker and FileUpload to JSON UI
2026-01-18 11:59:51 +00:00
4529708f76
Merge branch 'main' into codex/integrate-breadcrumb-component-into-json
2026-01-18 11:42:50 +00:00
8945c746cb
Add breadcrumb to JSON component registry
2026-01-18 11:42:27 +00:00
9448b8327d
Merge branch 'main' into codex/implement-prop-compatibility-for-components
2026-01-18 11:41:15 +00:00
0d82406e5f
Add JSON UI support for feedback atoms
2026-01-18 11:38:50 +00:00
3fe02ed098
Add JSON UI support for data atoms
2026-01-18 11:35:57 +00:00
8465a9de5a
Merge pull request #111 from johndoe6345789/codex/extend-json-schema-types-for-bindings
...
Add state-aware bindings for JSON renderer
2026-01-18 11:19:06 +00:00
d04333e565
Add state-aware bindings for JSON renderer
2026-01-18 11:18:40 +00:00
39c57e9967
Add JSON event definitions and renderer support
2026-01-18 11:17:37 +00:00
813c36b953
Stabilize JSON UI bindings and loop rendering
2026-01-18 11:07:32 +00:00
b232c220df
Merge branch 'main' into codex/align-event/action-shape-in-renderer
2026-01-18 02:38:04 +00:00
01921d4b80
Align json-ui event action handlers
2026-01-18 02:36:16 +00:00
f7d7b9f478
Merge branch 'main' into codex/refactor-data-binding-resolution-in-componentrenderer
2026-01-18 02:32:30 +00:00
17ff0eaaea
Enhance binding resolution in component renderer
2026-01-18 02:31:49 +00:00
94018c0e3c
Align JSON UI binding transforms
2026-01-18 02:31:19 +00:00
320e8a4c2c
Consolidate JSON UI component registry
2026-01-18 01:42:41 +00:00
3891625692
Move ComponentRendererProps to shared JSON UI types
2026-01-18 01:14:17 +00:00
copilot-swe-agent[bot]
6be1e9d918
Implement JSON-friendly expression system for events
...
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com >
2026-01-17 22:53:54 +00:00
ab152bbd67
Generated by Spark: Work on low hanging fruit from JSON_COMPATIBILITY_ANALYSIS.md
2026-01-17 22:21:40 +00:00
copilot-swe-agent[bot]
58437b9770
Migrate 20+ components to JSON UI system - now 46 supported
...
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com >
2026-01-17 21:54:51 +00:00
45454ac34b
Generated by Spark: Add conflict resolution UI for handling sync conflicts between local and remote data
2026-01-17 21:08:10 +00:00
d388a9a075
Generated by Spark: 0s
...
3m 30s
Run docker/build-push-action@v5
GitHub Actions runtime token ACs
Docker info
Proxy configuration
Buildx version
Builder info
/usr/bin/docker buildx build --cache-from type=gha --cache-to type=gha,mode=max --iidfile /home/runner/work/_temp/docker-actions-toolkit-vCLgYd/build-iidfile-0726305e33.txt --label org.opencontainers.image.created=2026-01-17T14:42:34.857Z --label org.opencontainers.image.description= --label org.opencontainers.image.licenses=MIT --label org.opencontainers.image.revision=33ab37bd18767139f14fd99e455eb90c1baa5af3 --label org.opencontainers.image.source=https://github.com/johndoe6345789/low-code-react-app-b --label org.opencontainers.image.title=low-code-react-app-b --label org.opencontainers.image.url=https://github.com/johndoe6345789/low-code-react-app-b --label org.opencontainers.image.version=main --platform linux/amd64,linux/arm64 --attest type=provenance,mode=max,builder-id=https://github.com/johndoe6345789/low-code-react-app-b/actions/runs/21095926434 --tag ghcr.io/johndoe6345789/low-code-react-app-b:main --tag ghcr.io/johndoe6345789/low-code-react-app-b:main-33ab37b --metadata-file /home/runner/work/_temp/docker-actions-toolkit-vCLgYd/build-metadata-daa99149c8.json --push .
#0 building with "builder-95fadb03-ad83-4e01-bc20-225d7bda06ae" instance using docker-container driver
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 942B done
#1 DONE 0.0s
#2 [auth] library/nginx:pull token for registry-1.docker.io
#2 DONE 0.0s
#3 [auth] library/node:pull token for registry-1.docker.io
#3 DONE 0.0s
#4 [linux/arm64 internal] load metadata for docker.io/library/node:20-alpine
#4 ...
#5 [linux/arm64 internal] load metadata for docker.io/library/nginx:alpine
#5 DONE 0.4s
#4 [linux/arm64 internal] load metadata for docker.io/library/node:20-alpine
#4 DONE 0.4s
#6 [internal] load .dockerignore
#6 transferring context: 344B done
#6 DONE 0.0s
#7 [linux/amd64 internal] load metadata for docker.io/library/node:20-alpine
#7 DONE 0.4s
#8 [linux/amd64 internal] load metadata for docker.io/library/nginx:alpine
#8 DONE 0.4s
#9 [internal] load build context
#9 DONE 0.0s
#10 [linux/amd64 builder 1/8] FROM docker.io/library/node:20-alpine@sha256:3960ed74dfe320a67bf8da9555b6bade25ebda2b22b6081d2f60fd7d5d430e9c
#10 resolve docker.io/library/node:20-alpine@sha256:3960ed74dfe320a67bf8da9555b6bade25ebda2b22b6081d2f60fd7d5d430e9c done
#10 DONE 0.0s
#11 [linux/amd64 runtime 1/3] FROM docker.io/library/nginx:alpine@sha256:b0f7830b6bfaa1258f45d94c240ab668ced1b3651c8a222aefe6683447c7bf55
#11 resolve docker.io/library/nginx:alpine@sha256:b0f7830b6bfaa1258f45d94c240ab668ced1b3651c8a222aefe6683447c7bf55 done
#11 DONE 0.0s
#12 importing cache manifest from gha:8468054678720030062
#12 DONE 0.1s
#13 [linux/arm64 builder 1/8] FROM docker.io/library/node:20-alpine@sha256:3960ed74dfe320a67bf8da9555b6bade25ebda2b22b6081d2f60fd7d5d430e9c
#13 resolve docker.io/library/node:20-alpine@sha256:3960ed74dfe320a67bf8da9555b6bade25ebda2b22b6081d2f60fd7d5d430e9c done
#13 sha256:2e74b1344e24146a5181cea893d6035d8d412a89b8374e4d4360f6c35d985760 444B / 444B 0.0s done
#13 sha256:38d6ffd8958149c983c185c5a62d19cba7ee8807466e60c7993d78a2867eef11 1.26MB / 1.26MB 0.1s done
#13 sha256:f6b4fb9446345fcad2db26eac181fef6c0a919c8a4fcccd3bea5deb7f6dff67e 4.20MB / 4.20MB 0.1s done
#13 extracting sha256:f6b4fb9446345fcad2db26eac181fef6c0a919c8a4fcccd3bea5deb7f6dff67e
#13 ...
#9 [internal] load build context
#9 transferring context: 10.19MB 0.2s done
#9 DONE 0.2s
#14 [linux/amd64 builder 3/8] COPY package*.json ./
#14 CACHED
#15 [linux/amd64 builder 4/8] COPY packages/spark-tools ./packages/spark-tools
#15 CACHED
#16 [linux/amd64 builder 5/8] COPY packages/spark ./packages/spark
#16 CACHED
#17 [linux/amd64 builder 2/8] WORKDIR /app
#17 CACHED
#13 [linux/arm64 builder 1/8] FROM docker.io/library/node:20-alpine@sha256:3960ed74dfe320a67bf8da9555b6bade25ebda2b22b6081d2f60fd7d5d430e9c
#13 sha256:efc83bacf48e781625d7de46541986e8525b67c1b1644803b5ff90d4ad73425c 17.83MB / 43.12MB 0.2s
#13 extracting sha256:f6b4fb9446345fcad2db26eac181fef6c0a919c8a4fcccd3bea5deb7f6dff67e 0.2s done
#13 sha256:efc83bacf48e781625d7de46541986e8525b67c1b1644803b5ff90d4ad73425c 43.12MB / 43.12MB 0.3s done
#13 extracting sha256:efc83bacf48e781625d7de46541986e8525b67c1b1644803b5ff90d4ad73425c
#13 ...
#18 [linux/arm64 runtime 1/3] FROM docker.io/library/nginx:alpine@sha256:b0f7830b6bfaa1258f45d94c240ab668ced1b3651c8a222aefe6683447c7bf55
#18 resolve docker.io/library/nginx:alpine@sha256:b0f7830b6bfaa1258f45d94c240ab668ced1b3651c8a222aefe6683447c7bf55 0.0s done
#18 sha256:f4f04eae8d5eb8a0220a0d542da10f9c55b57a585dea1875cfbb1ee99d4c5a4a 1.40kB / 1.40kB 0.0s done
#18 sha256:ceb87b8ac279a84fc99bdc30e7406cf21bf5d5841819fd0e3c8e0c06d867533c 1.21kB / 1.21kB 0.0s done
#18 sha256:6628835d87d286d4d03f10b2c7f51d00f4556c49b5874947ce02609379069575 403B / 403B 0.0s done
#18 sha256:8a735f2296d46b598dbc65289bfdc2ec4dd07607e69a1887e4ce6ef898be56e1 19.66MB / 19.66MB 0.2s done
#18 sha256:c0de4eea5b769c1703c4428a21cf0cce5b0a1668738391f1443979bb32cc9bc1 954B / 954B 0.0s done
#18 sha256:9076aaa4fd77085ce5562e9aca2b51ca88baf3fb8e41f8c777d0df14a1ce1085 628B / 628B 0.0s done
#18 sha256:a0ef6d8231d0e512c7a0c0f7029bcfb8c77f0848b9cb8ec5373b28991c83415b 1.87MB / 1.87MB 0.1s done
#18 extracting sha256:a0ef6d8231d0e512c7a0c0f7029bcfb8c77f0848b9cb8ec5373b28991c83415b 0.1s done
#18 extracting sha256:9076aaa4fd77085ce5562e9aca2b51ca88baf3fb8e41f8c777d0df14a1ce1085 done
#18 extracting sha256:c0de4eea5b769c1703c4428a21cf0cce5b0a1668738391f1443979bb32cc9bc1 done
#18 extracting sha256:6628835d87d286d4d03f10b2c7f51d00f4556c49b5874947ce02609379069575 done
#18 extracting sha256:ceb87b8ac279a84fc99bdc30e7406cf21bf5d5841819fd0e3c8e0c06d867533c done
#18 extracting sha256:f4f04eae8d5eb8a0220a0d542da10f9c55b57a585dea1875cfbb1ee99d4c5a4a done
#18 extracting sha256:8a735f2296d46b598dbc65289bfdc2ec4dd07607e69a1887e4ce6ef898be56e1 0.5s done
#18 DONE 1.1s
#19 [linux/amd64 builder 6/8] RUN npm install --legacy-peer-deps
#19 sha256:acec9428f22bd20125c716a65e27ad75480a1360a59ad4f816044044dad7cc70 4.34kB / 4.34kB 0.0s done
#19 sha256:41b3afaea3b1b1ab04a268431e10dcace7883019a5da7d326aa35dc9713fcbb5 445B / 445B 0.0s done
#19 sha256:1d55258e311479e00466346e8c753c9b7e01237604cee9e4b28b24139f418bb9 92B / 92B 0.0s done
#19 sha256:3dcec91425079e7b455efc5f2a18d026450c47c9382c41897620afc6b1424e44 1.26MB / 1.26MB 0.1s done
#19 sha256:c2b4197efb6ccd7f8b482ae7800f1c9c78c044ea192587887300080bcff6b2c9 42.78MB / 42.78MB 0.4s done
#19 sha256:1074353eec0db2c1d81d5af2671e56e00cf5738486f5762609ea33d606f88612 3.86MB / 3.86MB 0.2s done
#19 extracting sha256:1074353eec0db2c1d81d5af2671e56e00cf5738486f5762609ea33d606f88612 0.1s done
#19 sha256:f4b3dc64ea273c67c4ed06bca84314742da987ddac1c2a30392f4ac39f9e1ff2 1.55MB / 1.55MB 0.2s done
#19 sha256:70e3e49db568901de1214b56a8a69068f5f1d1a21781d8afc9840854c1233580 48.98kB / 48.98kB 0.0s done
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 29.36MB / 264.20MB 0.8s
#19 extracting sha256:c2b4197efb6ccd7f8b482ae7800f1c9c78c044ea192587887300080bcff6b2c9
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 42.99MB / 264.20MB 1.1s
#19 ...
#13 [linux/arm64 builder 1/8] FROM docker.io/library/node:20-alpine@sha256:3960ed74dfe320a67bf8da9555b6bade25ebda2b22b6081d2f60fd7d5d430e9c
#13 extracting sha256:efc83bacf48e781625d7de46541986e8525b67c1b1644803b5ff90d4ad73425c 1.2s done
#13 DONE 1.6s
#13 [linux/arm64 builder 1/8] FROM docker.io/library/node:20-alpine@sha256:3960ed74dfe320a67bf8da9555b6bade25ebda2b22b6081d2f60fd7d5d430e9c
#13 extracting sha256:38d6ffd8958149c983c185c5a62d19cba7ee8807466e60c7993d78a2867eef11 0.0s done
#13 extracting sha256:2e74b1344e24146a5181cea893d6035d8d412a89b8374e4d4360f6c35d985760 done
#13 DONE 1.6s
#19 [linux/amd64 builder 6/8] RUN npm install --legacy-peer-deps
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 59.77MB / 264.20MB 1.5s
#19 extracting sha256:c2b4197efb6ccd7f8b482ae7800f1c9c78c044ea192587887300080bcff6b2c9 1.5s done
#19 extracting sha256:3dcec91425079e7b455efc5f2a18d026450c47c9382c41897620afc6b1424e44 0.1s done
#19 ...
#20 [linux/arm64 builder 2/8] WORKDIR /app
#20 DONE 0.7s
#19 [linux/amd64 builder 6/8] RUN npm install --legacy-peer-deps
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 77.59MB / 264.20MB 2.0s
#19 extracting sha256:41b3afaea3b1b1ab04a268431e10dcace7883019a5da7d326aa35dc9713fcbb5 done
#19 extracting sha256:1d55258e311479e00466346e8c753c9b7e01237604cee9e4b28b24139f418bb9 done
#19 extracting sha256:70e3e49db568901de1214b56a8a69068f5f1d1a21781d8afc9840854c1233580 0.0s done
#19 extracting sha256:f4b3dc64ea273c67c4ed06bca84314742da987ddac1c2a30392f4ac39f9e1ff2 0.1s done
#19 ...
#21 [linux/arm64 builder 3/8] COPY package*.json ./
#21 DONE 0.1s
#22 [linux/arm64 builder 4/8] COPY packages/spark-tools ./packages/spark-tools
#22 DONE 0.1s
#23 [linux/arm64 builder 5/8] COPY packages/spark ./packages/spark
#23 DONE 0.0s
#19 [linux/amd64 builder 6/8] RUN npm install --legacy-peer-deps
#19 extracting sha256:acec9428f22bd20125c716a65e27ad75480a1360a59ad4f816044044dad7cc70 done
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 96.47MB / 264.20MB 2.4s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 115.34MB / 264.20MB 2.9s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 128.97MB / 264.20MB 3.2s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 143.65MB / 264.20MB 3.5s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 162.53MB / 264.20MB 3.9s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 179.31MB / 264.20MB 4.4s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 195.04MB / 264.20MB 4.7s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 212.86MB / 264.20MB 5.1s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 226.49MB / 264.20MB 5.4s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 244.32MB / 264.20MB 5.9s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 259.00MB / 264.20MB 6.2s
#19 sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 264.20MB / 264.20MB 6.5s done
#19 extracting sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d
#19 ...
#24 [linux/arm64 builder 6/8] RUN npm install --legacy-peer-deps
#24 ...
#19 [linux/amd64 builder 6/8] RUN npm install --legacy-peer-deps
#19 extracting sha256:828eb50cf87505f63ae57d13f4ce4484bf70ef66a718d8b5745753055ade6c3d 12.5s done
#19 DONE 19.2s
#25 [linux/amd64 builder 7/8] COPY . .
#25 DONE 2.2s
#24 [linux/arm64 builder 6/8] RUN npm install --legacy-peer-deps
#24 ...
#26 [linux/amd64 builder 8/8] RUN npm run build
#26 0.230
#26 0.230 > spark-template@0.0.0 prebuild
#26 0.230 > mkdir -p /tmp/dist || true
#26 0.230
#26 0.238
#26 0.238 > spark-template@0.0.0 build
#26 0.238 > tsc -b --noCheck && vite build
#26 0.238
#26 6.457 vite v7.3.1 building client environment for production...
#26 6.575 transforming...
#26 10.05 Found 3 warnings while optimizing generated CSS:
#26 10.05
#26 10.05 Issue #1 :
#26 10.05 │ .container {
#26 10.05 │ width: 100%;
#26 10.05 │ @media (width >= (display-mode: standalone)) {
#26 10.05 ┆ ^-- Unexpected token ParenthesisBlock
#26 10.05 ┆
#26 10.05 │ max-width: (display-mode: standalone);
#26 10.05 │ }
#26 10.05
#26 10.05 Issue #2 :
#26 10.05 │ max-width: (display-mode: standalone);
#26 10.05 │ }
#26 10.05 │ @media (width >= (pointer: coarse)) {
#26 10.05 ┆ ^-- Unexpected token ParenthesisBlock
#26 10.05 ┆
#26 10.05 │ max-width: (pointer: coarse);
#26 10.05 │ }
#26 10.05
#26 10.05 Issue #3 :
#26 10.05 │ max-width: (pointer: coarse);
#26 10.05 │ }
#26 10.05 │ @media (width >= (pointer: fine)) {
#26 10.05 ┆ ^-- Unexpected token ParenthesisBlock
#26 10.05 ┆
#26 10.05 │ max-width: (pointer: fine);
#26 10.05 │ }
#26 10.05
#26 27.53 ✓ 8276 modules transformed.
#26 30.49 rendering chunks...
#26 ...
#24 [linux/arm64 builder 6/8] RUN npm install --legacy-peer-deps
#24 55.47 npm warn deprecated whatwg-encoding@3.1.1: Use @exodus/bytes instead for a more spec-conformant and faster implementation
#24 ...
#26 [linux/amd64 builder 8/8] RUN npm run build
#26 56.97 computing gzip size...
#26 57.13 dist/index.html 2.18 kB │ gzip: 0.87 kB
#26 57.13 dist/assets/FeatureIdeaCloud-B5DZHykP.css 7.32 kB │ gzip: 1.60 kB
#26 57.13 dist/assets/index-DeAuhr8c.css 451.83 kB │ gzip: 78.84 kB
#26 57.13 dist/assets/separator-DxaExrET.js 1.12 kB │ gzip: 0.59 kB
#26 57.13 dist/assets/PWAStatusBar-BxRnFKIe.js 1.14 kB │ gzip: 0.64 kB
#26 57.13 dist/assets/tabs-uv1gileV.js 1.34 kB │ gzip: 0.59 kB
#26 57.13 dist/assets/PreviewDialog-CRbuRmHJ.js 1.36 kB │ gzip: 0.74 kB
#26 57.13 dist/assets/PWAUpdatePrompt-A5H3Brsn.js 1.67 kB │ gzip: 0.82 kB
#26 57.13 dist/assets/PWAInstallPrompt-BXeSE-7b.js 2.31 kB │ gzip: 1.02 kB
#26 57.13 dist/assets/protected-llm-service-Q4cNm1rY.js 2.41 kB │ gzip: 1.00 kB
#26 57.13 dist/assets/use-pwa-CN3ny1f7.js 2.42 kB │ gzip: 0.95 kB
#26 57.13 dist/assets/KeyboardShortcutsDialog-BpO-G7Ko.js 2.54 kB │ gzip: 0.89 kB
#26 57.13 dist/assets/switch-Le0tcnoA.js 2.57 kB │ gzip: 1.26 kB
#26 57.13 dist/assets/skeleton-DvZARUoK.js 2.85 kB │ gzip: 1.34 kB
#26 57.13 dist/assets/FeatureToggleSettings-DyoCP9xu.js 3.36 kB │ gzip: 1.40 kB
#26 57.13 dist/assets/select-CUM2wG-b.js 3.62 kB │ gzip: 1.29 kB
#26 57.13 dist/assets/page-renderer-CnwNh3EQ.js 3.92 kB │ gzip: 1.59 kB
#26 57.13 dist/assets/JSONWorkflowDesigner-BMu_I1iN.js 4.04 kB │ gzip: 1.40 kB
#26 57.13 dist/assets/JSONModelDesigner-CtCr0IyF.js 4.06 kB │ gzip: 1.40 kB
#26 57.13 dist/assets/JSONComponentTreeManager-DChvp8bH.js 4.19 kB │ gzip: 1.43 kB
#26 57.13 dist/assets/ComponentTreeBuilder-AKJ_ySXd.js 4.81 kB │ gzip: 1.95 kB
#26 57.13 dist/assets/CodeEditor-BLwoA4UR.js 4.89 kB │ gzip: 1.86 kB
#26 57.13 dist/assets/FileExplorer-JbASuVTC.js 4.98 kB │ gzip: 1.78 kB
#26 57.13 dist/assets/ai-service-BB_pmEqI.js 6.07 kB │ gzip: 1.92 kB
#26 57.13 dist/assets/ModelDesigner-CgtLxbx8.js 6.09 kB │ gzip: 2.06 kB
#26 57.13 dist/assets/StorybookDesigner-Bpm7g44n.js 6.90 kB │ gzip: 2.34 kB
#26 57.13 dist/assets/PlaywrightDesigner-BfiCriP0.js 7.51 kB │ gzip: 2.51 kB
#26 57.13 dist/assets/PWASettings-3_HqVF29.js 7.92 kB │ gzip: 1.90 kB
#26 57.13 dist/assets/ComponentTreeManager-NGgMB7h-.js 8.27 kB │ gzip: 2.92 kB
#26 57.13 dist/assets/slider-CYgezrCe.js 8.65 kB │ gzip: 3.36 kB
#26 57.13 dist/assets/UnitTestDesigner-hJNaBS7K.js 8.73 kB │ gzip: 2.76 kB
#26 57.13 dist/assets/SassStylesShowcase-Be2HgC09.js 8.99 kB │ gzip: 1.67 kB
#26 57.13 dist/assets/ErrorPanel-MW-ZUvQo.js 11.31 kB │ gzip: 3.65 kB
#26 57.13 dist/assets/react-vendor-RsqJS7wA.js 11.33 kB │ gzip: 3.99 kB
#26 57.13 dist/assets/FlaskDesigner-COgNGjFx.js 12.03 kB │ gzip: 3.25 kB
#26 57.13 dist/assets/StyleDesigner-B2AQyBAi.js 13.23 kB │ gzip: 3.29 kB
#26 57.13 dist/assets/code-editor-BR3HUJ_E.js 14.03 kB │ gzip: 4.80 kB
#26 57.13 dist/assets/ProjectSettingsDesigner-DiAcWh5o.js 14.16 kB │ gzip: 3.31 kB
#26 57.13 dist/assets/JSONUIShowcasePage-BYgVWKow.js 14.25 kB │ gzip: 3.93 kB
#26 57.13 dist/assets/LambdaDesigner-CWnKya9X.js 14.42 kB │ gzip: 3.83 kB
#26 57.13 dist/assets/ProjectDashboard-CLf3fcP0.js 15.83 kB │ gzip: 4.53 kB
#26 57.13 dist/assets/ui-extended-CH1jmFOr.js 16.72 kB │ gzip: 5.34 kB
#26 57.13 dist/assets/component-registry-D8jh1CB-.js 18.21 kB │ gzip: 6.39 kB
#26 57.13 dist/assets/WorkflowDesigner-uASoW4e9.js 18.34 kB │ gzip: 5.03 kB
#26 57.13 dist/assets/DataBindingDesigner-BkzQtXOX.js 20.36 kB │ gzip: 5.24 kB
#26 57.13 dist/assets/SchemaEditorPage-DzxsWN4D.js 21.04 kB │ gzip: 5.95 kB
#26 57.13 dist/assets/FaviconDesigner-DPzmL1L4.js 23.48 kB │ gzip: 6.27 kB
#26 57.13 dist/assets/GlobalSearch-BjLJMhgk.js 25.04 kB │ gzip: 8.09 kB
#26 57.13 dist/assets/FeatureIdeaCloud-DZ2YR6RT.js 30.07 kB │ gzip: 8.44 kB
#26 57.13 dist/assets/utils-Bt9FPkgP.js 36.00 kB │ gzip: 11.18 kB
#26 57.13 dist/assets/TemplateSelector-BVFRYL8A.js 42.82 kB │ gzip: 9.32 kB
#26 57.13 dist/assets/form-components-Bgqg-kRU.js 66.01 kB │ gzip: 17.55 kB
#26 57.13 dist/assets/DocumentationView-BjvllHGd.js 70.03 kB │ gzip: 12.62 kB
#26 57.13 dist/assets/workflow-CpSwYplm.js 101.55 kB │ gzip: 32.48 kB
#26 57.13 dist/assets/ui-core-CS7FcLG5.js 105.95 kB │ gzip: 32.29 kB
#26 57.13 dist/assets/index-J_d48Gj5.js 488.88 kB │ gzip: 152.32 kB
#26 57.13 dist/assets/three.module-D5EGS0V7.js 683.00 kB │ gzip: 169.49 kB
#26 57.13 dist/assets/data-viz-DVeW5iYn.js 717.82 kB │ gzip: 199.17 kB
#26 57.13 dist/assets/icons-CUJifBl7.js 5,039.69 kB │ gzip: 1,049.93 kB
#26 57.13
#26 57.13 (!) Some chunks are larger than 1000 kB after minification. Consider:
#26 57.13 - Using dynamic import() to code-split the application
#26 57.13 - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
#26 57.13 - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
#26 57.13 ✓ built in 50.63s
#26 DONE 57.6s
#24 [linux/arm64 builder 6/8] RUN npm install --legacy-peer-deps
#24 ...
#27 [linux/amd64 runtime 2/3] COPY --from=builder /app/dist /usr/share/nginx/html
#27 CACHED
#28 [linux/amd64 runtime 3/3] COPY nginx.conf /etc/nginx/conf.d/default.conf
#28 CACHED
#24 [linux/arm64 builder 6/8] RUN npm install --legacy-peer-deps
#24 153.2
#24 153.2 added 712 packages, and audited 715 packages in 3m
#24 153.2
#24 153.2 119 packages are looking for funding
#24 153.2 run `npm fund` for details
#24 153.3
#24 153.3 found 0 vulnerabilities
#24 153.3 npm notice
#24 153.3 npm notice New major version of npm available! 10.8.2 -> 11.7.0
#24 153.3 npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.7.0
#24 153.3 npm notice To update run: npm install -g npm@11.7.0
#24 153.3 npm notice
#24 DONE 153.8s
#29 [linux/arm64 builder 7/8] COPY . .
#29 DONE 0.5s
#30 [linux/arm64 builder 8/8] RUN npm run build
#30 2.651
#30 2.651 > spark-template@0.0.0 prebuild
#30 2.651 > mkdir -p /tmp/dist || true
#30 2.651
#30 2.723
#30 2.723 > spark-template@0.0.0 build
#30 2.723 > tsc -b --noCheck && vite build
#30 2.723
#30 50.69 /app/node_modules/rollup/dist/native.js:83
#30 50.69 throw new Error(
#30 50.69 ^
#30 50.69
#30 50.69 Error: Cannot find module @rollup/rollup-linux-arm64-musl. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828 ). Please try `npm i` again after removing both package-lock.json and node_modules directory.
#30 50.69 at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:83:9)
#30 50.69 at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:92:76)
#30 50.69 ... 3 lines matching cause stack trace ...
#30 50.69 at Module._load (node:internal/modules/cjs/loader:1091:12)
#30 50.69 at cjsLoader (node:internal/modules/esm/translators:298:15)
#30 50.69 at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:240:7)
#30 50.69 at ModuleJob.run (node:internal/modules/esm/module_job:325:25)
#30 50.69 at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) {
#30 50.69 [cause]: Error: Cannot find module '@rollup/rollup-linux-arm64-musl'
#30 50.69 Require stack:
#30 50.69 - /app/node_modules/rollup/dist/native.js
#30 50.69 at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15)
#30 50.69 at Module._load (node:internal/modules/cjs/loader:1038:27)
#30 50.69 at Module.require (node:internal/modules/cjs/loader:1289:19)
#30 50.69 at require (node:internal/modules/helpers:182:18)
#30 50.69 at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:65:10)
#30 50.69 at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:92:76)
#30 50.69 at Module._compile (node:internal/modules/cjs/loader:1521:14)
#30 50.69 at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)
#30 50.69 at Module.load (node:internal/modules/cjs/loader:1266:32)
#30 50.69 at Module._load (node:internal/modules/cjs/loader:1091:12) {
#30 50.69 code: 'MODULE_NOT_FOUND',
#30 50.69 requireStack: [ '/app/node_modules/rollup/dist/native.js' ]
#30 50.69 }
#30 50.69 }
#30 50.70
#30 50.70 Node.js v20.20.0
#30 ERROR: process "/bin/sh -c npm run build" did not complete successfully: exit code: 1
------
> [linux/arm64 builder 8/8] RUN npm run build:
50.69 at Module._compile (node:internal/modules/cjs/loader:1521:14)
50.69 at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)
50.69 at Module.load (node:internal/modules/cjs/loader:1266:32)
50.69 at Module._load (node:internal/modules/cjs/loader:1091:12) {
50.69 code: 'MODULE_NOT_FOUND',
50.69 requireStack: [ '/app/node_modules/rollup/dist/native.js' ]
50.69 }
50.69 }
50.70
50.70 Node.js v20.20.0
------
Dockerfile:22
--------------------
20 |
21 | # Build the application
22 | >>> RUN npm run build
23 |
24 | FROM nginx:alpine AS runtime
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c npm run build" did not complete successfully: exit code: 1
Error: buildx failed with: ERROR: failed to build: failed to solve: process "/bin/sh -c npm run build" did not complete successfully: exit code: 1
2026-01-17 14:56:40 +00:00