Skip to content

Conversation

taeold
Copy link
Contributor

@taeold taeold commented Oct 8, 2025

  • Removed the ESLint-on-init prompt; JavaScript and TypeScript setups now always scaffold a Biome config and skip adding lint steps for JS predeploys
  • Refreshed both JS/TS function templates to use ESM syntax
  • Consolidated template packages: renamed the “nolint” variants to the primary package.json, added type: "module"
  • Bumped firebase- admin/firebase-functions to current versions.
  • Modernized the TypeScript tsconfig.json (ES2022 target, ESNext modules, bundler resolution, skip lib checks)

Copy link
Contributor

Summary of Changes

Hello @taeold, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly updates the Firebase Functions templates to align with modern JavaScript and TypeScript development standards. It transitions from ESLint to Biome for linting, adopts ESM for module management, updates Firebase SDK dependencies, and refines TypeScript compiler options. The changes streamline the initialization process by removing the ESLint prompt and consolidating template files.

Highlights

  • Intent: This pull request aims to modernize the Firebase Functions templates by updating them to current development practices. Key changes include adopting ECMAScript Modules (ESM), replacing ESLint with Biome for linting, updating core dependencies, and modernizing TypeScript configurations.
  • Key Changes: 1. Linting Tooling: ESLint has been replaced by Biome as the default linter for both JavaScript and TypeScript function templates. The interactive prompt to enable ESLint during initialization has been removed, and Biome configuration files (biome.json) are now scaffolded by default. Consequently, .eslintrc.js and tsconfig.dev.json files have been removed from templates. 2. Module System: Both JavaScript and TypeScript function templates have been updated to use ECMAScript Modules (ESM) syntax (import/export), reflected by the addition of "type": "module" in package.json. 3. Dependency Updates: The firebase-admin and firebase-functions packages have been bumped to their latest versions (^13.5.0 and ^6.4.0 respectively). 4. TypeScript Configuration: The tsconfig.json for TypeScript projects has been modernized with target: ES2022, module: ESNext, moduleResolution: Bundler, verbatimModuleSyntax: true, and skipLibCheck: true. 5. Template Consolidation: Separate package.json templates for 'lint' and 'nolint' variants have been consolidated into a single package.json file for both JS and TS. 6. Predeploy Scripts: The predeploy scripts have been adjusted; JavaScript templates no longer include a lint step, while TypeScript templates now include npm run lint (using Biome) and npm run build.
  • Reviewer Activity: No specific reviewer activity was provided in the context.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request does a great job of modernizing the Firebase Functions templates by introducing Biome, adopting ESM syntax, and updating dependencies. The code is cleaner and the setup process is simpler. I've found one high-severity issue where the implementation and tests for TypeScript predeploy hooks are inconsistent. Please see my detailed comment below.

@taeold taeold requested a review from jhuleatt October 9, 2025 16:43
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