Skip to content

Conversation

@joehan
Copy link
Member

@joehan joehan commented Dec 17, 2025

The default TypeScript extension template generated by firebase ext:dev:init was failing to build due to outdated dependencies and TypeScript configuration.

This commit updates the templates to:

  • Bump the TypeScript version to ^5.3.0 in package.json.
  • Add "skipLibCheck": true to tsconfig.json.
  • Change the firebase-functions import to firebase-functions/v1.

These changes ensure that newly generated TypeScript extensions build successfully without any errors.
Fixes #9524

The default TypeScript extension template generated by `firebase ext:dev:init` was failing to build due to outdated dependencies and TypeScript configuration.

This commit updates the templates to:
- Bump the TypeScript version to `^5.3.0` in `package.json`.
- Add `"skipLibCheck": true` to `tsconfig.json`.
- Change the `firebase-functions` import to `firebase-functions/v1`.

These changes ensure that newly generated TypeScript extensions build successfully without any errors.
@joehan joehan requested a review from aalej December 17, 2025 00:19
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @joehan, 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 resolves critical build failures encountered when generating TypeScript extension templates using firebase ext:dev:init. The changes involve updating the TypeScript dependency, adjusting the tsconfig.json to skip library checks, and correcting the Firebase Functions import path. These updates ensure that newly generated TypeScript extensions build successfully, significantly improving the initial setup experience for extension developers.

Highlights

  • TypeScript Version Update: The TypeScript dependency in the extension templates has been updated to version ^5.3.0 to ensure compatibility and leverage newer language features.
  • TypeScript Configuration Adjustment: The tsconfig.json now includes "skipLibCheck": true within compilerOptions to prevent build failures caused by outdated or incompatible type definitions from node modules.
  • Firebase Functions Import Path: The import statement for firebase-functions has been corrected to firebase-functions/v1 in the template's index.ts file, aligning with the latest module structure and resolving import-related build issues.
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 updates the TypeScript extension templates to resolve build failures by upgrading the TypeScript version, adding skipLibCheck: true to tsconfig.json, and updating the firebase-functions import path. The changes are correct and address the described issue. I've left one comment on the CHANGELOG.md file regarding a placeholder value and a syntax error that should be updated.

CHANGELOG.md Outdated

### Bug Fixes

- **ext:** update TypeScript templates for ext:dev:init to fix build failures ([#1234](https://github.com/firebase/firebase-tools/pull/1234)))
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The pull request number 1234 appears to be a placeholder. The pull request description mentions that this change fixes issue #9524. Additionally, there's a syntax error with an extra parenthesis at the end of the line. I suggest updating the line to reference the correct issue number and fix the link syntax.

Suggested change
- **ext:** update TypeScript templates for ext:dev:init to fix build failures ([#1234](https://github.com/firebase/firebase-tools/pull/1234)))
- **ext:** update TypeScript templates for ext:dev:init to fix build failures ([#9524](https://github.com/firebase/firebase-tools/issues/9524))

Copy link
Contributor

@aalej aalej left a comment

Choose a reason for hiding this comment

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

LGTM! No errors were raised when running npm run build --prefix=functions

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.

Default Extension code from ext:dev:init has many TypeScript errors

2 participants