Skip to content

ci(recaptcha): migrate to new CI #4008

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 4, 2025
Merged

ci(recaptcha): migrate to new CI #4008

merged 2 commits into from
Mar 4, 2025

Conversation

glasnt
Copy link
Contributor

@glasnt glasnt commented Mar 4, 2025

Description

Fixes #

Note: Before submitting a pull request, please open an issue for discussion if you are not associated with Google.

Checklist

  • I have followed guidelines from CONTRIBUTING.MD and Samples Style Guide
  • Tests pass: npm test (see Testing)
  • Lint pass: npm run lint (see Style)
  • These samples need a new API enabled in testing projects to pass (let us know which ones)
  • These samples need a new/updated env vars in testing projects set to pass (let us know which ones)
  • This pull request is from a branch created directly off of GoogleCloudPlatform/nodejs-docs-samples. Not a fork.
  • This sample adds a new sample directory, and I updated the CODEOWNERS file with the codeowners for this sample
  • This sample adds a new sample directory, and I created GitHub Actions workflow for this sample
  • This sample adds a new Product API, and I updated the Blunderbuss issue/PR auto-assigner with the codeowners for this sample
  • Please merge this PR for me once it is approved

@product-auto-label product-auto-label bot added samples Issues that are directly related to samples. api: recaptchaenterprise Issues related to the reCAPTCHA API. labels Mar 4, 2025
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.

Hello @glasnt, 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!

Summary of Changes

This pull request migrates the reCAPTCHA Enterprise snippets to a new CI setup. The changes involve updating the CI configuration files to include the reCAPTCHA Enterprise snippets in the development environment and exclude them from the production environment temporarily. Additionally, the code is updated to use ES modules by adding type: module to the package.json and using import statements instead of require statements in passwordLeakAssessment.js. A tsconfig.json file was also added to configure the typescript compiler.

Highlights

  • CI Configuration: The pull request updates .github/config/nodejs-dev.jsonc to include recaptcha_enterprise/snippets and removes it from .github/config/nodejs-prod.jsonc.
  • ES Module Migration: The pull request migrates the reCAPTCHA Enterprise snippets to use ES modules by adding "type": "module" to package.json and using import statements in passwordLeakAssessment.js.
  • TypeScript Configuration: A tsconfig.json file was added to configure the typescript compiler, setting module to ESNext.

Changelog

Click here to see the changelog
  • .github/config/nodejs-dev.jsonc
    • Added recaptcha_enterprise/snippets to the list of included snippets.
  • .github/config/nodejs-prod.jsonc
    • Removed recaptcha_enterprise/snippets from the list of included snippets.
  • recaptcha_enterprise/snippets/package.json
    • Added "type": "module" to enable ES module support.
  • recaptcha_enterprise/snippets/passwordLeakAssessment.js
    • Replaced require statements with import statements.
    • Added module.exports = checkPasswordLeak to export the function.
  • recaptcha_enterprise/snippets/tsconfig.json
    • Added a tsconfig.json file to configure the typescript compiler, setting module to ESNext.
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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

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 issue 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 is currently in preview and 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 to provide feedback.

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.


Trivia time!

What does the acronym 'ES' stand for in the context of ECMAScript (ES6, ES2021, etc.)?

Click here for the answer
'ES' stands for ECMAScript, which is the standardized scripting language specification upon which JavaScript is based.

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

The pull request migrates the reCAPTCHA Enterprise snippets to a new CI. This involves adding the snippets to the development CI configuration, removing them from the production CI configuration, adding the type: module to the package.json file, updating the passwordLeakAssessment.js file to use import statements instead of require statements, and updating the tsconfig.json file to use ESNext modules. Overall, the changes seem reasonable and necessary for the migration. However, there are a few areas that could be improved.

Summary of Findings

  • Module type declaration: Adding type: module to package.json is crucial for enabling ES modules, but it's important to ensure all dependencies and tooling are compatible with ES modules. This change should be tested thoroughly to avoid runtime errors.
  • Consistency in import statements: The change from require to import in passwordLeakAssessment.js is good for modernizing the code, but it's important to ensure consistency across the project. Consider updating other files to use import as well.
  • Missing export statement: The original code was missing an export statement, which has been added. This is important for the code to be reusable.

Merge Readiness

The pull request is almost ready for merging. The changes are necessary for migrating the reCAPTCHA Enterprise snippets to a new CI. However, the module type declaration and import statement changes should be tested thoroughly to avoid runtime errors. I am unable to directly approve the pull request, and recommend that others review and approve this code before merging. I would recommend addressing the comments before merging.

@glasnt glasnt marked this pull request as ready for review March 4, 2025 02:44
@glasnt glasnt requested review from a team as code owners March 4, 2025 02:44
Copy link
Member

@briandorsey briandorsey left a comment

Choose a reason for hiding this comment

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

LGTM

@glasnt glasnt merged commit 82a20f8 into main Mar 4, 2025
15 checks passed
@glasnt glasnt deleted the ci-recaptcha branch March 4, 2025 23:08
glasnt added a commit that referenced this pull request Mar 11, 2025
briandorsey pushed a commit that referenced this pull request Mar 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: recaptchaenterprise Issues related to the reCAPTCHA API. samples Issues that are directly related to samples.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants