Skip to content

Conversation

@cornmander
Copy link
Collaborator

@cornmander cornmander commented Oct 14, 2025

Resubmit of #11073

Inline tree-sitter wasm and add runtime fallback to fix execution of the CLI from bundled formats.

Disambiguate initialization errors from parse errors so that runtime errors are less confusing.

@cornmander cornmander requested review from a team as code owners October 14, 2025 21:58
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @cornmander, 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 enhances the reliability and error handling of Tree-sitter WASM module loading within the project. By inlining WASM binaries during the build and providing a runtime fallback to disk-based loading, it addresses potential module resolution issues. Furthermore, it refines error reporting by explicitly differentiating between parser initialization failures and actual parsing errors, leading to a more stable and debuggable system.

Highlights

  • WASM Bundling and Loading: Integrated esbuild-plugin-wasm and a custom plugin to inline Tree-sitter WASM binaries during the build process, ensuring they are available at runtime.
  • Runtime Fallback for WASM: Implemented a robust fallback mechanism that attempts to load WASM binaries directly via dynamic import and, if that fails (e.g., due to module resolution issues), falls back to reading the .wasm file from disk.
  • Improved Error Handling: Introduced ShellParserInitializationError to clearly distinguish between errors occurring during the initial setup of Tree-sitter parsers and subsequent parsing errors. Initialization errors are now stored and re-thrown when parsing functions are called, providing clearer diagnostics.
  • Dependency Update: Added esbuild-plugin-wasm as a development dependency.
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 introduces a robust mechanism for loading tree-sitter WASM binaries by inlining them into the bundle and providing a runtime fallback to load from disk. This is a great improvement for environments where dynamic imports of WASM might not be supported. The changes also significantly improve error handling by disambiguating initialization errors from parsing errors, making the system more resilient and easier to debug. The implementation is well-structured, particularly the logic in shell-utils.ts for handling WASM loading and error propagation. I have one suggestion to improve the robustness of the error detection for the fallback mechanism.

Comment on lines 79 to 80
/Package subpath/.test(error.message) ||
/Unknown file extension/.test(error.message)
Copy link
Contributor

Choose a reason for hiding this comment

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

high

The regular expressions used here to detect specific error messages are a bit too broad and could potentially match unrelated errors, leading to the fallback mechanism being triggered incorrectly. This could mask the underlying issue.

To make these checks more robust, I recommend making the regex more specific to the expected error messages.

For example:

  • Package subpath could be Package subpath .* is not defined by "exports"
  • Unknown file extension could be Unknown file extension ".*" for

This will help ensure that we only fall back to reading from disk for the intended import failures.

Suggested change
/Package subpath/.test(error.message) ||
/Unknown file extension/.test(error.message)
/Package subpath .* is not defined by "exports"/.test(error.message) ||
/Unknown file extension ".*" for/.test(error.message)

@cornmander cornmander force-pushed the include-wasm-bundle branch 2 times, most recently from 560979a to be1800f Compare October 14, 2025 22:53
@github-actions
Copy link

github-actions bot commented Oct 14, 2025

Size Change: +2.3 MB (+12.91%) ⚠️

Total Size: 20.1 MB

Filename Size Change
./bundle/gemini.js 20.1 MB +2.3 MB (+12.92%) ⚠️
ℹ️ View Unchanged
Filename Size
./bundle/sandbox-macos-permissive-closed.sb 1.03 kB
./bundle/sandbox-macos-permissive-open.sb 830 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB
./bundle/sandbox-macos-restrictive-closed.sb 3.29 kB
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB

compressed-size-action

@cornmander cornmander requested a review from jacob314 October 14, 2025 23:00
Copy link
Collaborator

@jacob314 jacob314 left a comment

Choose a reason for hiding this comment

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

Please add tests for the new behavior verifying that the regression identified in the previous pr is fixed.

@cornmander cornmander force-pushed the include-wasm-bundle branch 8 times, most recently from 7a908b6 to d484138 Compare October 15, 2025 02:19
@cornmander
Copy link
Collaborator Author

Done


describe('Flicker Detector', () => {
it('should not detect a flicker under the max height budget', async () => {
// TODO: https://github.com/google-gemini/gemini-cli/issues/11170
Copy link
Collaborator

Choose a reason for hiding this comment

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

is this still needed? I believe this got fixed earlier today.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'll remove this in a subsequent PR.

Copy link
Collaborator

@jacob314 jacob314 left a comment

Choose a reason for hiding this comment

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

lgtm


const requireModule = createModuleRequire(import.meta.url);

export async function readWasmBinaryFromDisk(
Copy link
Collaborator

Choose a reason for hiding this comment

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

optional nit: bonus points add a trivial unittest for this.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'll remove this in a subsequent PR.

build.onResolve({ filter: /\.wasm\?binary$/ }, (args) => {
const specifier = args.path.replace(/\?binary$/, '');
const resolveDir = args.resolveDir || '';
const isBareSpecifier =
Copy link
Collaborator

Choose a reason for hiding this comment

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

nit: do we really need both the isBareSpecified and relative file path cases?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'll investigate this in a subsequent PR.

@cornmander cornmander added this pull request to the merge queue Oct 17, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Oct 17, 2025
@cornmander cornmander added this pull request to the merge queue Oct 17, 2025
Merged via the queue into main with commit dcf362b Oct 17, 2025
28 of 32 checks passed
@cornmander cornmander deleted the include-wasm-bundle branch October 17, 2025 00:34
thacio added a commit to thacio/auditaria that referenced this pull request Oct 17, 2025
Millsondylan pushed a commit to Millsondylan/gemini-cli-1 that referenced this pull request Oct 19, 2025
"types": ["node", "vitest/globals"]
},
"include": ["index.ts", "src/**/*.ts", "src/**/*.json"],
"include": ["index.ts", "src/**/*.ts", "src/**/*.d.ts", "src/**/*.json"],
Copy link
Collaborator

Choose a reason for hiding this comment

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

@cornmander @jacob314 this is a breaking change that causes the builds to fail in nightly and release. It also exhibits his behavior if you run 'npm run build' locally more than 1 time.


error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/index.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/agents/registry.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/agents/types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/code_assist/codeAssist.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/code_assist/oauth2.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/code_assist/server.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/code_assist/types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/commands/extensions.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/config/config.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/config/constants.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/config/models.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/config/storage.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/confirmation-bus/message-bus.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/confirmation-bus/types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/baseLlmClient.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/client.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/contentGenerator.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/coreToolScheduler.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/geminiChat.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/geminiRequest.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/logger.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/loggingContentGenerator.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/nonInteractiveToolExecutor.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/prompts.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/tokenLimits.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/core/turn.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/fallback/types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/ide/constants.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/ide/detect-ide.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/ide/ide-client.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/ide/ide-installer.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/ide/ideContext.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/ide/types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/index.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/mcp/oauth-provider.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/mcp/oauth-token-storage.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/mcp/oauth-utils.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/mcp/token-storage/types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/output/json-formatter.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/output/stream-json-formatter.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/output/types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/policy/policy-engine.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/policy/types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/prompts/mcp-prompts.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/prompts/prompt-registry.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/routing/modelRouterService.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/routing/routingStrategy.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/services/chatRecordingService.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/services/fileDiscoveryService.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/services/fileSystemService.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/services/gitService.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/services/loopDetectionService.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/services/shellExecutionService.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/activity-detector.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/activity-monitor.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/activity-types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/config.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/gcp-exporters.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/high-water-mark-tracker.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/index.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/loggers.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/memory-monitor.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/metrics.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/rate-limiter.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/sdk.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/tool-call-decision.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/types.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/telemetry/uiTelemetry.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/test-utils/config.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/test-utils/index.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/test-utils/mock-tool.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/edit.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/glob.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/grep.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/ls.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/mcp-client.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/mcp-tool.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/memoryTool.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/modifiable-tool.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/read-file.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/read-many-files.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/ripGrep.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/shell.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/tool-error.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/tool-names.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/tool-registry.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/tools.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/web-fetch.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/web-search.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/write-file.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/tools/write-todos.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/browser.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/debugLogger.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/editor.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/errorParsing.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/errors.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/events.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/fileUtils.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/filesearch/fileSearch.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/formatters.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/generateContentResponseUtilities.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/getFolderStructure.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/getPty.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/gitIgnoreParser.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/gitUtils.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/googleErrors.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/googleQuotaErrors.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/ignorePatterns.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/memoryDiscovery.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/partUtils.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/pathReader.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/paths.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/promptIdContext.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/quotaErrorDetection.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/retry.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/schemaValidator.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/session.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/shell-utils.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/systemEncoding.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/terminalSerializer.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/textUtils.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/thoughtUtils.d.ts' because it would overwrite input file.

error TS5055: Cannot write file '/Users/mattkorwel/dev/main/packages/core/dist/src/utils/workspaceContext.d.ts' because it would overwrite input file.


Found 125 errors.

node:internal/errors:984
  const err = new Error(message);
              ^

Error: Command failed: tsc --build
    at genericNodeError (node:internal/errors:984:15)
    at wrappedFn (node:internal/errors:538:14)
    at checkExecSyncError (node:child_process:891:11)
    at execSync (node:child_process:963:15)
    at file:///Users/mattkorwel/dev/main/scripts/build_package.js:30:1
    at ModuleJob.run (node:internal/modules/esm/module_job:325:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:606:24)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5) {
  status: 2,
  signal: null,
  output: [ null, null, null ],
  pid: 93965,
  stdout: null,
  stderr: null
}

Node.js v20.19.5
npm error Lifecycle script `build` failed with error:
npm error code 1
npm error path /Users/mattkorwel/dev/main/packages/cli
npm error workspace @google/[email protected]
npm error location /Users/mattkorwel/dev/main/packages/cli
npm error command failed
npm error command sh -c node ../../scripts/build_package.js

@mattKorwel
Copy link
Collaborator

Reverting this change to unblock nightly builds. Please feel free to @ me for guidance on how to get this back in asap. 🙇

@mattKorwel
Copy link
Collaborator

We'll actually auto revert didn't work, so i'll make the smaller change to remove the d.ts files from the core tsconfig.json inputs. If this breaks the behavior here lets talk.

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.

3 participants