Skip to content

Conversation

@Lukecsharpwalker
Copy link
Owner

This pull request introduces several significant changes to the project, including the addition of CI/CD workflows, updates to project configuration files, new features for the admin interface, and utility scripts. Below is a categorized summary of the most important changes:

CI/CD Enhancements:

  • Added .github/workflows/PR_Check.yml to run unit tests on pull requests targeting the main branch using Node.js 18 and headless Chrome.
  • Added .github/workflows/google-cloudrun-docker.yml to automate deployment of the Angular Blog to Google Cloud Run, including unit tests, building the Angular app, and deploying via Buildpacks.

Configuration Updates:

  • Updated angular.json:
    • Renamed project identifier from AngularBlogApp to angularblogapp for consistency.
    • Added allowedCommonJsDependencies to include specific libraries like highlight.js and node-fetch.
    • Enhanced prerender configuration with a routesFile and disabled route discovery.
    • Added file replacements for development environment in the build configurations.
  • Updated package.json:
    • Upgraded Angular and related dependencies to version 19.2.1.
    • Added new scripts for Webpack bundle analysis and additional dependencies like tailwindcss and supabase-js.

New Features:

  • Introduced AddImageComponent for the admin interface, allowing users to insert images with a URL and alt text via a reactive form. [1] [2] [3]
  • Enhanced the AddPostComponent with a Quill editor for content editing and an "Insert Image" button integrated with the new AddImageComponent.

Utility Scripts:

  • Added reset-password.ts to reset a Supabase user’s password using the Admin API.
  • Added scripts/png_to_webp.sh to convert PNG images to WebP format using the cwebp tool.

Server and Routing Updates:

  • Updated server.ts to use the @angular/ssr/node package and adjusted the server port to default to 8080. [1] [2]
  • Added routes.txt for prerendering configuration.

@Lukecsharpwalker Lukecsharpwalker force-pushed the feature/part-5-Supabase-signalStore2 branch from 173ad77 to a6095f6 Compare May 1, 2025 09:20
@Lukecsharpwalker Lukecsharpwalker merged commit f93c47e into main May 1, 2025
1 check passed
@Lukecsharpwalker
Copy link
Owner Author

This pull request introduces significant changes to the Angular blog application, including the removal of Firebase dependencies, the integration of Supabase, and various refactors to improve maintainability and performance. Key updates include replacing Firebase functionality with Supabase, modifying forms and APIs, adding new components, and cleaning up unused files.

Removal of Firebase Dependencies:

  • Deleted all Firebase-related configuration files, including .firebaserc, firebase.json, and functions directory files (package.json, tsconfig.json, src/index.ts, etc.) to remove Firebase dependencies. [1] [2] [3] [4] [5] [6]
  • Removed Firebase-related imports and logic from AdminApiService and replaced them with placeholder methods.

Integration of Supabase:

  • Added Supabase dependencies (@supabase/supabase-js, supabase, etc.) to package.json. [1] [2]
  • Introduced a new script reset-password.ts to reset user passwords using Supabase Admin API.
  • Updated PostForm and related components to remove Firebase-specific types (e.g., Timestamp) and use generic or Supabase-compatible types. [1] [2]

Refactoring Forms and Components:

  • Refactored AddPostComponent to simplify form initialization, replace FormBuilder with FormGroup and FormControl, and remove Firebase-specific logic. [1] [2] [3] [4]
  • Fixed a merge conflict in add-post.component.html and updated the form's structure for better usability.

New Components and Features:

  • Added a new AdminComponent with standalone configuration, routing integration, and unit tests. [1] [2] [3]
  • Updated AppComponent to refactor cookie consent logic into a private method for better readability. [1] [2]

General Improvements:

  • Updated angular.json to include additional CommonJS dependencies and disable route discovery for prerendering. [1] [2]
  • Removed unused dependencies such as @angular/fire and firebase-admin from package.json.

These changes collectively transition the application from Firebase to Supabase, streamline the codebase, and improve maintainability.

Lukecsharpwalker added a commit that referenced this pull request May 2, 2025
* first commit

* Blog components added

* nothing special

* auth guard moved to auth folder

* git ignore added

* git ignore added, functions removed

* supabase added, firebase removed

* supabase types added

* ng rx signal store installed

* ngrx signal store fixes

* ngrx signal store wip

* ngrx signalstore added

* tags fixed

* login fixed

* git ignore added

* wip

* fix for prerender

* fix lame code

* fix

* package lock

* fix for build

* fix for build
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.

2 participants