Skip to content

Migrate examples to latest Meteor 3.4#42

Draft
nachocodoner wants to merge 23 commits intomainfrom
migrate-examples
Draft

Migrate examples to latest Meteor 3.4#42
nachocodoner wants to merge 23 commits intomainfrom
migrate-examples

Conversation

@nachocodoner
Copy link
Member

@nachocodoner nachocodoner commented Mar 11, 2026

This PR migrates existing apps in this repo to latest Meteor 3.4.

Notes Offline (formerly Chakra UI)

  • Replaced static Chakra UI demo with a functional offline-first notes app
  • Removed Chakra UI / Emotion / Framer Motion; replaced with Mantine UI + PostCSS (Chakra UI already demostrated in a skeleton using meteor create)
  • Integrated jam:offline for IndexedDB persistence and auto-sync
  • Integrated jam:method for optimistic methods with offline queuing
  • Integrated jam:pub-sub with global subscription caching
  • Integrated jam:soft-delete for recoverable deletion with trash UI
  • Integrated Workbox via workbox-webpack-plugin + Rspack for PWA service worker
  • Full CRUD with auto-save, search, tags, pin, Markdown preview, export/import, dark mode, keyboard shortcuts
image

Parties

  • Migrate Parties example app from Meteor 2.3.5 to Meteor 3.4 with Rspack bundler
  • Convert all server-side MongoDB operations to async (insertAsync, findOneAsync, updateAsync) while keeping client-side minimongo calls synchronous for Tracker reactivity
  • Fix publication arrow functions to use regular functions for correct this.userId binding
  • Remove accounts-facebook and accounts-twitter (TODO: research its inclusion)
  • Upgrade Blaze to v3 (backward-compatible)
  • Restyled with latest Bootstrap update
image

Task Manager (formerly Tailwind CSS)

  • Migrate Tailwind CSS example app from Meteor 2.8 to Meteor 3.4 with Rspack bundler
  • Replace juliancwirko:postcss Meteor build plugin with Rspack's built-in CSS/PostCSS pipeline
  • Upgrade Tailwind CSS from v2 to v3
  • Replace Meteor-specific .postcssrc.js with standard postcss.config.js
  • Update React rendering from legacy render() to React 18 createRoot API
  • Upgrade all npm dependencies to latest versions
  • Revamped from a static Tailwind CSS demo into a dynamic task management app
  • Added MongoDB collection (tasks) with full CRUD operations (create, update, delete)
  • Integrated Meteor-RPC for type-safe methods and publications with Zod schema validation
  • Integrated shadcn/ui components (manually installed: Button, Input, Badge, Card, Table, Dialog, Select, DropdownMenu, Label)
  • Added React Query via Meteor-RPC hooks (usePublication, useMutation) for reactive data fetching
  • Replaced static hardcoded data with reactive dashboard metrics and a filterable task table
  • Configured Tailwind CSS with CSS custom properties for shadcn/ui theming
image

Tic-Tac-Toe

  • Migrate Tic-Tac-Toe example app from Meteor 3.0-beta.6 to Meteor 3.4 with Rspack bundler
  • Remove all beta version pins from Atmosphere packages to resolve stable 3.4 versions
  • Add "modern": true flag to enable ES2020+ module output required by Rspack
  • Update React rendering from legacy render() to React 19 createRoot API
  • Restyle entire UI with MUI (Material UI) v7 for a polished, user-friendly look
image

Complex Todos (Svelte)

  • Migrate Complex Todos Svelte example app from Meteor 2 to Meteor 3.4 with Rspack bundler
  • Replace mdg:validated-method + simpl-schema with jam:method + Zod for method definitions and schema validation
  • Update Svelte mounting to use mount()/unmount() API with HMR support
  • Convert all server-side MongoDB operations to async (insertAsync, findOneAsync, updateAsync)
  • Upgrade all npm dependencies to latest versions, including Svelte 5
  • Replaced Bootstrap 5 (CDN) with Skeleton UI v4 + Tailwind CSS v4, using the Cerberus theme
  • Migrated all components from Svelte 4 syntax (export let, $:, on:click) to Svelte 5 runes ($props, $state, $derived, onclick)
  • Moved login/register from inline navbar form to a Skeleton Dialog modal
image

NFT Marketplace

  • Migrate NFT Marketplace example app from Meteor 2.7.2 to Meteor 3.4 with Rspack bundler
  • Update React rendering from legacy render() to React 18+ createRoot API
  • Upgrade all npm dependencies to latest versions, including React 18 and Hardhat 2.22+

  • Restyle the Parties, TicTacToe, ComplesTodos app to showcase using other UI interesting libraries
  • Ensure apply to Meteor 3.4.1 core a fix to automatically favor Rspack css pipelines if css imports are detected
  • Rework Meteor core CLI to automatically read examples available and clone them effectively with just meteor create (revisit already approach)
  • CopySWToPublic to the core for when sw is available and generated?
  • Ensure tests are running across the apps that describes them
  • Deploy all apps within this repository and update readme.md

[More coming]

…actor methods to async/await, update build configuration, and clean unused files
…into a detailed offline-first notes app with new stack integration (jam packages, Mantine UI) and features (PWA, Markdown support, tagging, etc.).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant