Skip to content

Conversation

@hahnlee
Copy link

@hahnlee hahnlee commented Sep 13, 2025

Description

Summary

Added the -z option to git commands to separate file paths with null bytes (\0) instead of newlines.

Why?

When git diff outputs file paths containing Unicode characters (e.g., apps/docs/app/테스트.ts), it wraps them in quotes (e.g., "apps/docs/app/\355\205\214\354\212\244\355\212\270.ts"). This causes issues in the is_file_in_package function, which fails to properly recognize these file paths.

Importance

If a filename contains non-ASCII characters (such as CJK), Turbo’s filter logic fails.
This creates friction for developers in non-English locales, including myself.

In particular, turbo-ignore does not trigger correctly, which can break deployments on Vercel.

Solution

Changes made:

  1. Added -z option to diff-tree, ls-files, and diff commands
  2. Modified add_files_from_stdout function to process null byte-separated output

Testing Instructions

Reproducing Unicode Filename Diff Format

  1. Clone https://github.com/hahnlee/repro-turbo-with-unicode
  2. Compare outputs of:
git diff-tree -r --name-only --no-commit-id HEAD~1 HEAD
git diff-tree -r --name-only --no-commit-id HEAD~2 HEAD
git diff-tree -r --name-only --no-commit-id HEAD~1 HEAD
"apps/docs/app/\355\205\214\354\212\244\355\212\270.ts"
git diff-tree -r --name-only --no-commit-id HEAD~2 HEAD
apps/docs/app/test.ts
"apps/docs/app/\355\205\214\354\212\244\355\212\270.ts"
  1. Contrast with the -z form:
git diff-tree -r --name-only --no-commit-id -z HEAD~1 HEAD

Here filenames are emitted as raw UTF-8 with NUL delimiters (no quotes).

apps/docs/app/테스트.ts

Reproducing the Turbo Failure

  1. Clone https://github.com/hahnlee/repro-turbo-with-unicode
  2. Compare outputs of:
turbo run "build" --filter="docs...[HEAD~1]" --dry=json -vv
turbo run "build" --filter="docs...[HEAD~2]" --dry=json -vv
turbo run "build" --filter="docs...[HEAD~1]" --dry=json -vv
2025-09-13T14:41:25.578+0900 [DEBUG] turborepo_lib::shim: Global turbo version: 2.5.6
2025-09-13T14:41:25.586+0900 [DEBUG] turborepo_lib::shim: Repository Root: /Users/hahnlee/Work/repro-turbo-with-unicode
2025-09-13T14:41:25.587+0900 [DEBUG] turborepo_lib::shim::local_turbo_state: No local turbo binary found at: /Users/hahnlee/Work/repro-turbo-with-unicode/node_modules/turbo-darwin-arm64/bin/turbo
2025-09-13T14:41:25.587+0900 [DEBUG] turborepo_lib::shim::local_turbo_state: No local turbo binary found at: /Users/hahnlee/Work/repro-turbo-with-unicode/node_modules/turbo/node_modules/turbo-darwin-arm64/bin/turbo
2025-09-13T14:41:25.587+0900 [DEBUG] turborepo_lib::shim::local_turbo_state: No local turbo binary found at: /Users/hahnlee/Work/repro-turbo-with-unicode/node_modules/.pnpm/[email protected]/node_modules/turbo-darwin-arm64/bin/turbo
2025-09-13T14:41:25.587+0900 [DEBUG] turborepo_lib::shim::local_turbo_config: downloading correct local version not enabled
2025-09-13T14:41:25.590+0900 [DEBUG] turborepo_lib::shim: Running command as global turbo
 WARNING  No locally installed `turbo` found in your repository. Using globally installed version (2.5.6), which can cause unexpected behavior.

Installing the version in your repository (^2.5.6) before calling `turbo` will result in more predictable behavior across environments.
turbo 2.5.6

2025-09-13T14:41:25.976+0900 [DEBUG] turborepo_process: spawning children with pty: true
2025-09-13T14:41:25.978+0900 [DEBUG] turborepo_lib::daemon::connector: looking for pid in lockfile: AbsoluteSystemPathBuf("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71/turbod.pid")
2025-09-13T14:41:25.979+0900 [DEBUG] turborepo_lib::daemon::connector: found pid: 85135
2025-09-13T14:41:25.979+0900 [DEBUG] turborepo_lib::daemon::connector: got daemon with pid: 85135
2025-09-13T14:41:25.979+0900 [DEBUG] turborepo_lib::daemon::connector: creating AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:41:25.979+0900 [DEBUG] turborepo_lib::daemon::connector: watching AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:41:25.979+0900 [DEBUG] turborepo_lib::daemon::connector: creating AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:41:25.980+0900 [DEBUG] turborepo_lib::daemon::connector: watching AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:41:25.980+0900 [DEBUG] turborepo_lib::daemon::connector: connecting to socket: /var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71/turbod.sock
2025-09-13T14:41:25.982+0900 [DEBUG] tower::buffer::worker: "processing request"
2025-09-13T14:41:25.984+0900 [DEBUG] turborepo_lib::daemon::connector: connected in 5365µs
2025-09-13T14:41:25.984+0900 [DEBUG] turborepo_lib::run::builder: running in daemon mode
2025-09-13T14:41:25.985+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:41:25.985+0900 [DEBUG] turborepo_repository::discovery: discovering packages using primary strategy
2025-09-13T14:41:25.985+0900 [DEBUG] turborepo_repository::discovery: discovering packages using fallback strategy
2025-09-13T14:41:25.985+0900 [DEBUG] turborepo_repository::discovery: attempting primary strategy
2025-09-13T14:41:25.985+0900 [DEBUG] turborepo_lib::run::package_discovery: discovering packages using daemon
2025-09-13T14:41:25.985+0900 [DEBUG] tower::buffer::worker: "processing request"
2025-09-13T14:41:25.996+0900 [DEBUG] turborepo_repository::discovery: primary strategy timed out, attempting fallback strategy
2025-09-13T14:41:25.996+0900 [DEBUG] turborepo_repository::discovery: discovering packages using local strategy
2025-09-13T14:41:25.997+0900 [DEBUG] globwalk: processing includes: ["apps/*/package.json", "packages/*/package.json"]
2025-09-13T14:41:25.997+0900 [DEBUG] globwalk: processing excludes: ["**/node_modules/**", "**/bower_components/**"]
2025-09-13T14:41:25.997+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/apps/*/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/*/package.json"]
2025-09-13T14:41:25.997+0900 [DEBUG] globwalk: processed excludes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/**/node_modules/**", "/Users/hahnlee/Work/repro-turbo-with-unicode/**/bower_components/**"]
2025-09-13T14:41:26.000+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:41:26.000+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:41:26.005+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:41:26.005+0900 [DEBUG] turborepo_lib::run::task_access: TASK ACCESS TRACE: unable to restore config from cache
2025-09-13T14:41:26.046+0900 [DEBUG] turborepo_lib::run::scope::change_detector: lockfile did not change
2025-09-13T14:41:26.046+0900 [DEBUG] turborepo_lib::run::scope::change_detector: changed files: ["\"apps/docs/app/\\355\\205\\214\\354\\212\\244\\355\\212\\270.ts\""]
2025-09-13T14:41:26.047+0900 [DEBUG] turborepo_repository::change_mapper: "apps/docs/app/\355\205\214\354\212\244\355\212\270.ts" changes "//"
2025-09-13T14:41:26.047+0900 [DEBUG] turborepo_repository::change_mapper: the lockfile did not change
2025-09-13T14:41:26.047+0900 [DEBUG] turborepo_lib::run::scope::change_detector: 1 packages changed: ["//"]
2025-09-13T14:41:26.048+0900 [DEBUG] turborepo_lib::run::global_hash: global hash env vars []
2025-09-13T14:41:26.048+0900 [DEBUG] turborepo_lib::run::global_hash: external deps hash: 357e0f85fc2e872a
2025-09-13T14:41:26.073+0900 [DEBUG] turborepo_lib::run: running visitor
{
  "id": "32dEXDplJjKaIuDHOXPZJupOaA0",
  "version": "1",
  "turboVersion": "2.5.6",
  "monorepo": true,
  "globalCacheInputs": {
    "rootKey": "I can’t see ya, but I know you’re here",
    "files": {},
    "hashOfExternalDependencies": "357e0f85fc2e872a",
    "hashOfInternalDependencies": "",
    "environmentVariables": {
      "specified": {
        "env": [],
        "passThroughEnv": null
      },
      "configured": [],
      "inferred": [],
      "passthrough": null
    },
    "engines": {
      "node": ">=18"
    }
  },
  "packages": [],
  "envMode": "strict",
  "frameworkInference": true,
  "tasks": [],
  "user": "",
  "scm": {
    "type": "git",
    "sha": "7f951fdf95bf1ec5773427b2c04a4bc54ea0d32a",
    "branch": "main"
  }
}

2025-09-13T14:41:26.075+0900 [DEBUG] turborepo_process: waiting for 0 processes to exit
2025-09-13T14:41:26.598+0900 [DEBUG] turborepo_telemetry: telemetry handle closed
turbo run "build" --filter="docs...[HEAD~2]" --dry=json -vv
2025-09-13T14:41:58.160+0900 [DEBUG] turborepo_lib::shim: Global turbo version: 2.5.6
2025-09-13T14:41:58.161+0900 [DEBUG] turborepo_lib::shim: Repository Root: /Users/hahnlee/Work/repro-turbo-with-unicode
2025-09-13T14:41:58.161+0900 [DEBUG] turborepo_lib::shim::local_turbo_state: No local turbo binary found at: /Users/hahnlee/Work/repro-turbo-with-unicode/node_modules/turbo-darwin-arm64/bin/turbo
2025-09-13T14:41:58.161+0900 [DEBUG] turborepo_lib::shim::local_turbo_state: No local turbo binary found at: /Users/hahnlee/Work/repro-turbo-with-unicode/node_modules/turbo/node_modules/turbo-darwin-arm64/bin/turbo
2025-09-13T14:41:58.161+0900 [DEBUG] turborepo_lib::shim::local_turbo_state: No local turbo binary found at: /Users/hahnlee/Work/repro-turbo-with-unicode/node_modules/.pnpm/[email protected]/node_modules/turbo-darwin-arm64/bin/turbo
2025-09-13T14:41:58.161+0900 [DEBUG] turborepo_lib::shim::local_turbo_config: downloading correct local version not enabled
2025-09-13T14:41:58.161+0900 [DEBUG] turborepo_lib::shim: Running command as global turbo
 WARNING  No locally installed `turbo` found in your repository. Using globally installed version (2.5.6), which can cause unexpected behavior.

Installing the version in your repository (^2.5.6) before calling `turbo` will result in more predictable behavior across environments.
turbo 2.5.6

2025-09-13T14:41:58.538+0900 [DEBUG] turborepo_process: spawning children with pty: true
2025-09-13T14:41:58.539+0900 [DEBUG] turborepo_lib::daemon::connector: looking for pid in lockfile: AbsoluteSystemPathBuf("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71/turbod.pid")
2025-09-13T14:41:58.539+0900 [DEBUG] turborepo_lib::daemon::connector: found pid: 85135
2025-09-13T14:41:58.539+0900 [DEBUG] turborepo_lib::daemon::connector: got daemon with pid: 85135
2025-09-13T14:41:58.539+0900 [DEBUG] turborepo_lib::daemon::connector: creating AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:41:58.539+0900 [DEBUG] turborepo_lib::daemon::connector: watching AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:41:58.539+0900 [DEBUG] turborepo_lib::daemon::connector: creating AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:41:58.539+0900 [DEBUG] turborepo_lib::daemon::connector: watching AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:41:58.539+0900 [DEBUG] turborepo_lib::daemon::connector: connecting to socket: /var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71/turbod.sock
2025-09-13T14:41:58.539+0900 [DEBUG] tower::buffer::worker: "processing request"
2025-09-13T14:41:58.541+0900 [DEBUG] turborepo_lib::daemon::connector: connected in 2610µs
2025-09-13T14:41:58.541+0900 [DEBUG] turborepo_lib::run::builder: running in daemon mode
2025-09-13T14:41:58.541+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:41:58.541+0900 [DEBUG] turborepo_repository::discovery: discovering packages using primary strategy
2025-09-13T14:41:58.541+0900 [DEBUG] turborepo_repository::discovery: discovering packages using fallback strategy
2025-09-13T14:41:58.541+0900 [DEBUG] turborepo_repository::discovery: attempting primary strategy
2025-09-13T14:41:58.541+0900 [DEBUG] turborepo_lib::run::package_discovery: discovering packages using daemon
2025-09-13T14:41:58.541+0900 [DEBUG] tower::buffer::worker: "processing request"
2025-09-13T14:41:58.552+0900 [DEBUG] turborepo_repository::discovery: primary strategy timed out, attempting fallback strategy
2025-09-13T14:41:58.552+0900 [DEBUG] turborepo_repository::discovery: discovering packages using local strategy
2025-09-13T14:41:58.553+0900 [DEBUG] globwalk: processing includes: ["apps/*/package.json", "packages/*/package.json"]
2025-09-13T14:41:58.553+0900 [DEBUG] globwalk: processing excludes: ["**/node_modules/**", "**/bower_components/**"]
2025-09-13T14:41:58.553+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/apps/*/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/*/package.json"]
2025-09-13T14:41:58.553+0900 [DEBUG] globwalk: processed excludes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/**/node_modules/**", "/Users/hahnlee/Work/repro-turbo-with-unicode/**/bower_components/**"]
2025-09-13T14:41:58.555+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:41:58.555+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:41:58.559+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:41:58.559+0900 [DEBUG] turborepo_lib::run::task_access: TASK ACCESS TRACE: unable to restore config from cache
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::run::scope::change_detector: lockfile did not change
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::run::scope::change_detector: changed files: ["apps/docs/app/test.ts", "\"apps/docs/app/\\355\\205\\214\\354\\212\\244\\355\\212\\270.ts\""]
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_repository::change_mapper: apps/docs/app/test.ts changes "docs"
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_repository::change_mapper: "apps/docs/app/\355\205\214\354\212\244\355\212\270.ts" changes "//"
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_repository::change_mapper: the lockfile did not change
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::run::scope::change_detector: 2 packages changed: ["docs", "//"]
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:41:58.601+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: processing includes: ["packages/typescript-config/$TURBO_DEFAULT$", "packages/typescript-config/.env*", "packages/typescript-config/package.json", "packages/typescript-config/turbo.json", "packages/typescript-config/turbo.jsonc"]
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: processing excludes: []
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/turbo.json' doesn't have metadata
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/turbo.jsonc' doesn't have metadata
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/$TURBO_DEFAULT$", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/.env*", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/turbo.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/turbo.jsonc"]
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: processed excludes: []
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: processing includes: ["packages/ui/$TURBO_DEFAULT$", "packages/ui/.env*", "packages/ui/package.json", "packages/ui/turbo.json", "packages/ui/turbo.jsonc"]
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: processing excludes: []
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/turbo.json' doesn't have metadata
2025-09-13T14:41:58.630+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/turbo.jsonc' doesn't have metadata
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/$TURBO_DEFAULT$", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/.env*", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/turbo.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/turbo.jsonc"]
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processed excludes: []
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processing includes: ["packages/eslint-config/$TURBO_DEFAULT$", "packages/eslint-config/.env*", "packages/eslint-config/package.json", "packages/eslint-config/turbo.json", "packages/eslint-config/turbo.jsonc"]
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processing excludes: []
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/turbo.json' doesn't have metadata
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/turbo.jsonc' doesn't have metadata
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/$TURBO_DEFAULT$", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/.env*", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/turbo.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/turbo.jsonc"]
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processed excludes: []
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processing includes: ["apps/docs/$TURBO_DEFAULT$", "apps/docs/.env*", "apps/docs/package.json", "apps/docs/turbo.json", "apps/docs/turbo.jsonc"]
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processing excludes: []
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/turbo.json' doesn't have metadata
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/turbo.jsonc' doesn't have metadata
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/$TURBO_DEFAULT$", "/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/.env*", "/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/turbo.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/turbo.jsonc"]
2025-09-13T14:41:58.631+0900 [DEBUG] globwalk: processed excludes: []
2025-09-13T14:41:58.632+0900 [DEBUG] turborepo_lib::run::global_hash: global hash env vars []
2025-09-13T14:41:58.632+0900 [DEBUG] turborepo_lib::run::global_hash: external deps hash: 357e0f85fc2e872a
2025-09-13T14:41:58.657+0900 [DEBUG] turborepo_lib::run: running visitor
2025-09-13T14:41:58.658+0900 [DEBUG] turborepo_lib::task_graph::visitor: task @repo/typescript-config#build hash is e2c5fe89ff31c9f0
2025-09-13T14:41:58.658+0900 [DEBUG] turborepo_lib::task_graph::visitor: task @repo/eslint-config#build hash is 90d1c675729e05b6
2025-09-13T14:41:58.658+0900 [DEBUG] turborepo_lib::task_graph::visitor: task @repo/ui#build hash is 1bd745cc8d4fc385
2025-09-13T14:41:58.659+0900 [DEBUG] turborepo_lib::task_hash: auto detected framework for docs
2025-09-13T14:41:58.659+0900 [DEBUG] turborepo_lib::task_hash: framework: nextjs, env_prefix: ["NEXT_PUBLIC_*"]
2025-09-13T14:41:58.659+0900 [DEBUG] turborepo_lib::task_graph::visitor: task docs#build hash is d422c82cfc568523
{
  "id": "32dEbIgpqFdNJ8WJMhspSbFAKyL",
  "version": "1",
  "turboVersion": "2.5.6",
  "monorepo": true,
  "globalCacheInputs": {
    "rootKey": "I can’t see ya, but I know you’re here",
    "files": {},
    "hashOfExternalDependencies": "357e0f85fc2e872a",
    "hashOfInternalDependencies": "",
    "environmentVariables": {
      "specified": {
        "env": [],
        "passThroughEnv": null
      },
      "configured": [],
      "inferred": [],
      "passthrough": null
    },
    "engines": {
      "node": ">=18"
    }
  },
  "packages": [
    "docs"
  ],
  "envMode": "strict",
  "frameworkInference": true,
  "tasks": [
    {
      "taskId": "@repo/eslint-config#build",
      "task": "build",
      "package": "@repo/eslint-config",
      "hash": "90d1c675729e05b6",
      "inputs": {
        "README.md": "8b42d901b0e8dee2e21313ec0442c50e9fef038a",
        "base.js": "09d316efdb6f6db4f6141815e87980a598f6ff54",
        "next.js": "6bf01a74edb72f94da7957298427c89debdedc34",
        "package.json": "c18143d61895bfef8c29778d7ee6b255d72b74d3",
        "react-internal.js": "daeccba24d4f4b95ad293d175b570acd126628a9"
      },
      "hashOfExternalDependencies": "c87f501e87a7855f",
      "cache": {
        "local": false,
        "remote": false,
        "status": "MISS",
        "timeSaved": 0
      },
      "command": "<NONEXISTENT>",
      "cliArguments": [],
      "outputs": [
        ".next/**"
      ],
      "excludedOutputs": [
        ".next/cache/**"
      ],
      "logFile": "packages/eslint-config/.turbo/turbo-build.log",
      "directory": "packages/eslint-config",
      "dependencies": [],
      "dependents": [
        "@repo/ui#build",
        "docs#build"
      ],
      "with": [],
      "resolvedTaskDefinition": {
        "outputs": [
          "!.next/cache/**",
          ".next/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [
          "$TURBO_DEFAULT$",
          ".env*"
        ],
        "outputLogs": "full",
        "persistent": false,
        "interruptible": false,
        "env": [],
        "passThroughEnv": null,
        "interactive": false
      },
      "expandedOutputs": [],
      "framework": "",
      "envMode": "strict",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      }
    },
    {
      "taskId": "@repo/typescript-config#build",
      "task": "build",
      "package": "@repo/typescript-config",
      "hash": "e2c5fe89ff31c9f0",
      "inputs": {
        "base.json": "5117f2a3d1c5fe54a344a7152acbe366fe63cdda",
        "nextjs.json": "e6defa48fce860cf5570f268d4880161a74789c8",
        "package.json": "27c0e60436aac79bd14661e016c8c5721c5db6d6",
        "react-library.json": "c3a1b26fbb3b6ad5d606836247a8ca3a1be051c6"
      },
      "hashOfExternalDependencies": "459c029558afe716",
      "cache": {
        "local": false,
        "remote": false,
        "status": "MISS",
        "timeSaved": 0
      },
      "command": "<NONEXISTENT>",
      "cliArguments": [],
      "outputs": [
        ".next/**"
      ],
      "excludedOutputs": [
        ".next/cache/**"
      ],
      "logFile": "packages/typescript-config/.turbo/turbo-build.log",
      "directory": "packages/typescript-config",
      "dependencies": [],
      "dependents": [
        "@repo/ui#build",
        "docs#build"
      ],
      "with": [],
      "resolvedTaskDefinition": {
        "outputs": [
          "!.next/cache/**",
          ".next/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [
          "$TURBO_DEFAULT$",
          ".env*"
        ],
        "outputLogs": "full",
        "persistent": false,
        "interruptible": false,
        "env": [],
        "passThroughEnv": null,
        "interactive": false
      },
      "expandedOutputs": [],
      "framework": "",
      "envMode": "strict",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      }
    },
    {
      "taskId": "@repo/ui#build",
      "task": "build",
      "package": "@repo/ui",
      "hash": "1bd745cc8d4fc385",
      "inputs": {
        "eslint.config.mjs": "19170f88edaf8893fdc80d2c616c081f2d838861",
        "package.json": "c820347d203fac3d8a6f313e87e4f11888863821",
        "src/button.tsx": "78e5420c3f606fcc5959ef45cf9c930148d1ec73",
        "src/card.tsx": "7b988937b9a1d98eca18d2b87fdba837a4fe3dd0",
        "src/code.tsx": "f7cbd22a8618fcb6dca4341cc15dccfb48c0e74d",
        "tsconfig.json": "ca86687c4bb77d8aed541bc31f9e81156880764a"
      },
      "hashOfExternalDependencies": "4832a154da2aa18b",
      "cache": {
        "local": false,
        "remote": false,
        "status": "MISS",
        "timeSaved": 0
      },
      "command": "<NONEXISTENT>",
      "cliArguments": [],
      "outputs": [
        ".next/**"
      ],
      "excludedOutputs": [
        ".next/cache/**"
      ],
      "logFile": "packages/ui/.turbo/turbo-build.log",
      "directory": "packages/ui",
      "dependencies": [
        "@repo/eslint-config#build",
        "@repo/typescript-config#build"
      ],
      "dependents": [
        "docs#build"
      ],
      "with": [],
      "resolvedTaskDefinition": {
        "outputs": [
          "!.next/cache/**",
          ".next/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [
          "$TURBO_DEFAULT$",
          ".env*"
        ],
        "outputLogs": "full",
        "persistent": false,
        "interruptible": false,
        "env": [],
        "passThroughEnv": null,
        "interactive": false
      },
      "expandedOutputs": [],
      "framework": "",
      "envMode": "strict",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      }
    },
    {
      "taskId": "docs#build",
      "task": "build",
      "package": "docs",
      "hash": "d422c82cfc568523",
      "inputs": {
        ".gitignore": "f886745c5216623d70058427ddd40ecf6ebf84f7",
        "README.md": "a98bfa8140e14c75a3675f1666a6f587d4d25fe5",
        "app/favicon.ico": "718d6fea4835ec2d246af9800eddb7ffb276240c",
        "app/fonts/GeistMonoVF.woff": "f2ae185cbfd16946a534d819e9eb03924abbcc49",
        "app/fonts/GeistVF.woff": "1b62daacff96dad6584e71cd962051b82957c313",
        "app/globals.css": "6af7ecbbb8656b1295acccd1b6cdd1da88d6c855",
        "app/layout.tsx": "8469537555ad68b14377be257758ab1876d3ff5b",
        "app/page.module.css": "3630662c6f3119c94bea5a7fdeb98d99df322f2f",
        "app/page.tsx": "e726335a89cff289eab34248f5aacab1fa6e6523",
        "app/test.ts": "533170cc85fd9263afcdb553dddc34bffe7afb44",
        "app/테스트.ts": "533170cc85fd9263afcdb553dddc34bffe7afb44",
        "eslint.config.js": "e8759ff50fbca5c63fbaac5154b7a7d5876f72be",
        "next.config.js": "4678774e6d606704bce1897a5dab960cd798bf66",
        "package.json": "a9c661cb7961bf71d710d101b9d96c551c1e3f3b",
        "public/file-text.svg": "9cfb3c98674c3553ae58854c31f9302cc1f72a24",
        "public/globe.svg": "4230a3d2071c406b7e4c7b297d247fc194be540c",
        "public/next.svg": "5174b28c565c285e3e312ec5178be64fbeca8398",
        "public/turborepo-dark.svg": "dae38fed549745d94f3380a9280864ae0f797c1f",
        "public/turborepo-light.svg": "ddea915815874759a0cd6dd54dbd197b874c3c99",
        "public/vercel.svg": "0164ddc5ad9db8a097651e72e9fe9c9caf6e394a",
        "public/window.svg": "bbc780069c332dbf9b048a30e7d1f5358921c534",
        "tsconfig.json": "7aef056980d5671f71555aa0fe6abd88f6be8305"
      },
      "hashOfExternalDependencies": "1814afc0d83c6c37",
      "cache": {
        "local": false,
        "remote": false,
        "status": "MISS",
        "timeSaved": 0
      },
      "command": "next build",
      "cliArguments": [],
      "outputs": [
        ".next/**"
      ],
      "excludedOutputs": [
        ".next/cache/**"
      ],
      "logFile": "apps/docs/.turbo/turbo-build.log",
      "directory": "apps/docs",
      "dependencies": [
        "@repo/eslint-config#build",
        "@repo/typescript-config#build",
        "@repo/ui#build"
      ],
      "dependents": [],
      "with": [],
      "resolvedTaskDefinition": {
        "outputs": [
          "!.next/cache/**",
          ".next/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [
          "$TURBO_DEFAULT$",
          ".env*"
        ],
        "outputLogs": "full",
        "persistent": false,
        "interruptible": false,
        "env": [],
        "passThroughEnv": null,
        "interactive": false
      },
      "expandedOutputs": [],
      "framework": "nextjs",
      "envMode": "strict",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      }
    }
  ],
  "user": "",
  "scm": {
    "type": "git",
    "sha": "7f951fdf95bf1ec5773427b2c04a4bc54ea0d32a",
    "branch": "main"
  }
}

    ...Finishing writing to cache...                                                                                                                                                                                                                                            2025-09-13T14:41:58.660+0900 [DEBUG] turborepo_process: waiting for 0 processes to exit
2025-09-13T14:41:59.201+0900 [DEBUG] turborepo_telemetry: telemetry handle closed

In both cases, apps/docs was modified.
However, in the first case the docs build is not triggered due to quoted path handling.

Reproduction after this change
2025-09-13T14:45:11.624+0900 [DEBUG] turborepo_lib::shim: Global turbo version: 2.5.7-canary.0
2025-09-13T14:45:11.628+0900 [DEBUG] turborepo_lib::shim: Repository Root: /Users/hahnlee/Work/repro-turbo-with-unicode
2025-09-13T14:45:11.629+0900 [DEBUG] turborepo_lib::shim::local_turbo_state: No local turbo binary found at: /Users/hahnlee/Work/repro-turbo-with-unicode/node_modules/turbo-darwin-arm64/bin/turbo
2025-09-13T14:45:11.629+0900 [DEBUG] turborepo_lib::shim::local_turbo_state: No local turbo binary found at: /Users/hahnlee/Work/repro-turbo-with-unicode/node_modules/turbo/node_modules/turbo-darwin-arm64/bin/turbo
2025-09-13T14:45:11.629+0900 [DEBUG] turborepo_lib::shim::local_turbo_state: No local turbo binary found at: /Users/hahnlee/Work/repro-turbo-with-unicode/node_modules/.pnpm/[email protected]/node_modules/turbo-darwin-arm64/bin/turbo
2025-09-13T14:45:11.629+0900 [DEBUG] turborepo_lib::shim::local_turbo_config: downloading correct local version not enabled
2025-09-13T14:45:11.631+0900 [DEBUG] turborepo_lib::shim: Running command as global turbo
 WARNING  No locally installed `turbo` found in your repository. Using globally installed version (2.5.7-canary.0), which can cause unexpected behavior.

Installing the version in your repository (^2.5.6) before calling `turbo` will result in more predictable behavior across environments.
turbo 2.5.7-canary.0

2025-09-13T14:45:12.027+0900 [DEBUG] turborepo_process: spawning children with pty: true
2025-09-13T14:45:12.028+0900 [DEBUG] turborepo_lib::daemon::connector: looking for pid in lockfile: AbsoluteSystemPathBuf("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71/turbod.pid")
2025-09-13T14:45:12.029+0900 [DEBUG] turborepo_lib::daemon::connector: found pid: 85135
2025-09-13T14:45:12.029+0900 [DEBUG] turborepo_lib::daemon::connector: got daemon with pid: 85135
2025-09-13T14:45:12.030+0900 [DEBUG] turborepo_lib::daemon::connector: creating AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:45:12.030+0900 [DEBUG] turborepo_lib::daemon::connector: watching AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:45:12.030+0900 [DEBUG] turborepo_lib::daemon::connector: creating AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:45:12.030+0900 [DEBUG] turborepo_lib::daemon::connector: watching AbsoluteSystemPath("/var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71")
2025-09-13T14:45:12.030+0900 [DEBUG] turborepo_lib::daemon::connector: connecting to socket: /var/folders/t4/qqflgy6n3rgd5dcnv2r4x0nh0000gn/T/turbod/a3408d9dd9f4ac71/turbod.sock
2025-09-13T14:45:12.031+0900 [DEBUG] tower::buffer::worker: "processing request"
2025-09-13T14:45:12.032+0900 [DEBUG] turborepo_lib::daemon::connector: connected in 3976µs
2025-09-13T14:45:12.032+0900 [DEBUG] turborepo_lib::run::builder: running in daemon mode
2025-09-13T14:45:12.033+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:45:12.033+0900 [DEBUG] turborepo_repository::discovery: discovering packages using primary strategy
2025-09-13T14:45:12.033+0900 [DEBUG] turborepo_repository::discovery: discovering packages using fallback strategy
2025-09-13T14:45:12.033+0900 [DEBUG] turborepo_repository::discovery: attempting primary strategy
2025-09-13T14:45:12.033+0900 [DEBUG] turborepo_lib::run::package_discovery: discovering packages using daemon
2025-09-13T14:45:12.033+0900 [DEBUG] tower::buffer::worker: "processing request"
2025-09-13T14:45:12.044+0900 [DEBUG] turborepo_repository::discovery: primary strategy timed out, attempting fallback strategy
2025-09-13T14:45:12.044+0900 [DEBUG] turborepo_repository::discovery: discovering packages using local strategy
2025-09-13T14:45:12.045+0900 [DEBUG] globwalk: processing includes: ["apps/*/package.json", "packages/*/package.json"]
2025-09-13T14:45:12.045+0900 [DEBUG] globwalk: processing excludes: ["**/node_modules/**", "**/bower_components/**"]
2025-09-13T14:45:12.045+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/apps/*/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/*/package.json"]
2025-09-13T14:45:12.045+0900 [DEBUG] globwalk: processed excludes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/**/node_modules/**", "/Users/hahnlee/Work/repro-turbo-with-unicode/**/bower_components/**"]
2025-09-13T14:45:12.049+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:45:12.050+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:45:12.061+0900 [DEBUG] turborepo_repository::discovery: discovering packages using caching strategy
2025-09-13T14:45:12.061+0900 [DEBUG] turborepo_lib::run::task_access: TASK ACCESS TRACE: unable to restore config from cache
2025-09-13T14:45:12.106+0900 [DEBUG] turborepo_lib::run::scope::change_detector: lockfile did not change
2025-09-13T14:45:12.106+0900 [DEBUG] turborepo_lib::run::scope::change_detector: changed files: ["apps/docs/app/테스트.ts"]
2025-09-13T14:45:12.106+0900 [DEBUG] turborepo_repository::change_mapper: apps/docs/app/테스트.ts changes "docs"
2025-09-13T14:45:12.107+0900 [DEBUG] turborepo_repository::change_mapper: the lockfile did not change
2025-09-13T14:45:12.107+0900 [DEBUG] turborepo_lib::run::scope::change_detector: 1 packages changed: ["docs"]
2025-09-13T14:45:12.107+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:45:12.107+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:45:12.107+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:45:12.107+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:45:12.107+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:45:12.107+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:45:12.107+0900 [DEBUG] turborepo_lib::turbo_json::loader: path: /Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config, turbo_json: Ok(None), turbo_jsonc: Ok(None)
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: processing includes: ["packages/ui/$TURBO_DEFAULT$", "packages/ui/.env*", "packages/ui/package.json", "packages/ui/turbo.json", "packages/ui/turbo.jsonc"]
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: processing excludes: []
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: processing includes: ["packages/eslint-config/$TURBO_DEFAULT$", "packages/eslint-config/.env*", "packages/eslint-config/package.json", "packages/eslint-config/turbo.json", "packages/eslint-config/turbo.jsonc"]
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: processing excludes: []
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/turbo.json' doesn't have metadata
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/turbo.jsonc' doesn't have metadata
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/$TURBO_DEFAULT$", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/.env*", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/turbo.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/ui/turbo.jsonc"]
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/turbo.json' doesn't have metadata
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: processing includes: ["packages/typescript-config/$TURBO_DEFAULT$", "packages/typescript-config/.env*", "packages/typescript-config/package.json", "packages/typescript-config/turbo.json", "packages/typescript-config/turbo.jsonc"]
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: processing excludes: []
2025-09-13T14:45:12.140+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/turbo.json' doesn't have metadata
2025-09-13T14:45:12.139+0900 [DEBUG] globwalk: processed excludes: []
2025-09-13T14:45:12.140+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/turbo.jsonc' doesn't have metadata
2025-09-13T14:45:12.140+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/$TURBO_DEFAULT$", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/.env*", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/turbo.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/typescript-config/turbo.jsonc"]
2025-09-13T14:45:12.140+0900 [DEBUG] globwalk: processed excludes: []
2025-09-13T14:45:12.140+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/turbo.jsonc' doesn't have metadata
2025-09-13T14:45:12.140+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/$TURBO_DEFAULT$", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/.env*", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/turbo.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/packages/eslint-config/turbo.jsonc"]
2025-09-13T14:45:12.140+0900 [DEBUG] globwalk: processed excludes: []
2025-09-13T14:45:12.140+0900 [DEBUG] globwalk: processing includes: ["apps/docs/$TURBO_DEFAULT$", "apps/docs/.env*", "apps/docs/package.json", "apps/docs/turbo.json", "apps/docs/turbo.jsonc"]
2025-09-13T14:45:12.141+0900 [DEBUG] globwalk: processing excludes: []
2025-09-13T14:45:12.141+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/turbo.json' doesn't have metadata
2025-09-13T14:45:12.141+0900 [DEBUG] globwalk: '/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/turbo.jsonc' doesn't have metadata
2025-09-13T14:45:12.141+0900 [DEBUG] globwalk: processed includes: ["/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/$TURBO_DEFAULT$", "/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/.env*", "/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/package.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/turbo.json", "/Users/hahnlee/Work/repro-turbo-with-unicode/apps/docs/turbo.jsonc"]
2025-09-13T14:45:12.141+0900 [DEBUG] globwalk: processed excludes: []
2025-09-13T14:45:12.143+0900 [DEBUG] turborepo_lib::run::global_hash: global hash env vars []
2025-09-13T14:45:12.143+0900 [DEBUG] turborepo_lib::run::global_hash: external deps hash: 357e0f85fc2e872a
2025-09-13T14:45:12.169+0900 [DEBUG] turborepo_lib::run: running visitor
2025-09-13T14:45:12.170+0900 [DEBUG] turborepo_lib::task_graph::visitor: task @repo/typescript-config#build hash is e2c5fe89ff31c9f0
2025-09-13T14:45:12.171+0900 [DEBUG] turborepo_lib::task_graph::visitor: task @repo/eslint-config#build hash is 90d1c675729e05b6
2025-09-13T14:45:12.172+0900 [DEBUG] turborepo_lib::task_graph::visitor: task @repo/ui#build hash is 1bd745cc8d4fc385
2025-09-13T14:45:12.172+0900 [DEBUG] turborepo_lib::task_hash: auto detected framework for docs
2025-09-13T14:45:12.172+0900 [DEBUG] turborepo_lib::task_hash: framework: nextjs, env_prefix: ["NEXT_PUBLIC_*"]
2025-09-13T14:45:12.172+0900 [DEBUG] turborepo_lib::task_graph::visitor: task docs#build hash is d422c82cfc568523
{
  "id": "32dEzfzak5BlK0KgGRWneRXPWoe",
  "version": "1",
  "turboVersion": "2.5.7-canary.0",
  "monorepo": true,
  "globalCacheInputs": {
    "rootKey": "I can’t see ya, but I know you’re here",
    "files": {},
    "hashOfExternalDependencies": "357e0f85fc2e872a",
    "hashOfInternalDependencies": "",
    "environmentVariables": {
      "specified": {
        "env": [],
        "passThroughEnv": null
      },
      "configured": [],
      "inferred": [],
      "passthrough": null
    },
    "engines": {
      "node": ">=18"
    }
  },
  "packages": [
    "docs"
  ],
  "envMode": "strict",
  "frameworkInference": true,
  "tasks": [
    {
      "taskId": "@repo/eslint-config#build",
      "task": "build",
      "package": "@repo/eslint-config",
      "hash": "90d1c675729e05b6",
      "inputs": {
        "README.md": "8b42d901b0e8dee2e21313ec0442c50e9fef038a",
        "base.js": "09d316efdb6f6db4f6141815e87980a598f6ff54",
        "next.js": "6bf01a74edb72f94da7957298427c89debdedc34",
        "package.json": "c18143d61895bfef8c29778d7ee6b255d72b74d3",
        "react-internal.js": "daeccba24d4f4b95ad293d175b570acd126628a9"
      },
      "hashOfExternalDependencies": "c87f501e87a7855f",
      "cache": {
        "local": false,
        "remote": false,
        "status": "MISS",
        "timeSaved": 0
      },
      "command": "<NONEXISTENT>",
      "cliArguments": [],
      "outputs": [
        ".next/**"
      ],
      "excludedOutputs": [
        ".next/cache/**"
      ],
      "logFile": "packages/eslint-config/.turbo/turbo-build.log",
      "directory": "packages/eslint-config",
      "dependencies": [],
      "dependents": [
        "@repo/ui#build",
        "docs#build"
      ],
      "with": [],
      "resolvedTaskDefinition": {
        "outputs": [
          "!.next/cache/**",
          ".next/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [
          "$TURBO_DEFAULT$",
          ".env*"
        ],
        "outputLogs": "full",
        "persistent": false,
        "interruptible": false,
        "env": [],
        "passThroughEnv": null,
        "interactive": false
      },
      "expandedOutputs": [],
      "framework": "",
      "envMode": "strict",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      }
    },
    {
      "taskId": "@repo/typescript-config#build",
      "task": "build",
      "package": "@repo/typescript-config",
      "hash": "e2c5fe89ff31c9f0",
      "inputs": {
        "base.json": "5117f2a3d1c5fe54a344a7152acbe366fe63cdda",
        "nextjs.json": "e6defa48fce860cf5570f268d4880161a74789c8",
        "package.json": "27c0e60436aac79bd14661e016c8c5721c5db6d6",
        "react-library.json": "c3a1b26fbb3b6ad5d606836247a8ca3a1be051c6"
      },
      "hashOfExternalDependencies": "459c029558afe716",
      "cache": {
        "local": false,
        "remote": false,
        "status": "MISS",
        "timeSaved": 0
      },
      "command": "<NONEXISTENT>",
      "cliArguments": [],
      "outputs": [
        ".next/**"
      ],
      "excludedOutputs": [
        ".next/cache/**"
      ],
      "logFile": "packages/typescript-config/.turbo/turbo-build.log",
      "directory": "packages/typescript-config",
      "dependencies": [],
      "dependents": [
        "@repo/ui#build",
        "docs#build"
      ],
      "with": [],
      "resolvedTaskDefinition": {
        "outputs": [
          "!.next/cache/**",
          ".next/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [
          "$TURBO_DEFAULT$",
          ".env*"
        ],
        "outputLogs": "full",
        "persistent": false,
        "interruptible": false,
        "env": [],
        "passThroughEnv": null,
        "interactive": false
      },
      "expandedOutputs": [],
      "framework": "",
      "envMode": "strict",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      }
    },
    {
      "taskId": "@repo/ui#build",
      "task": "build",
      "package": "@repo/ui",
      "hash": "1bd745cc8d4fc385",
      "inputs": {
        "eslint.config.mjs": "19170f88edaf8893fdc80d2c616c081f2d838861",
        "package.json": "c820347d203fac3d8a6f313e87e4f11888863821",
        "src/button.tsx": "78e5420c3f606fcc5959ef45cf9c930148d1ec73",
        "src/card.tsx": "7b988937b9a1d98eca18d2b87fdba837a4fe3dd0",
        "src/code.tsx": "f7cbd22a8618fcb6dca4341cc15dccfb48c0e74d",
        "tsconfig.json": "ca86687c4bb77d8aed541bc31f9e81156880764a"
      },
      "hashOfExternalDependencies": "4832a154da2aa18b",
      "cache": {
        "local": false,
        "remote": false,
        "status": "MISS",
        "timeSaved": 0
      },
      "command": "<NONEXISTENT>",
      "cliArguments": [],
      "outputs": [
        ".next/**"
      ],
      "excludedOutputs": [
        ".next/cache/**"
      ],
      "logFile": "packages/ui/.turbo/turbo-build.log",
      "directory": "packages/ui",
      "dependencies": [
        "@repo/eslint-config#build",
        "@repo/typescript-config#build"
      ],
      "dependents": [
        "docs#build"
      ],
      "with": [],
      "resolvedTaskDefinition": {
        "outputs": [
          "!.next/cache/**",
          ".next/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [
          "$TURBO_DEFAULT$",
          ".env*"
        ],
        "outputLogs": "full",
        "persistent": false,
        "interruptible": false,
        "env": [],
        "passThroughEnv": null,
        "interactive": false
      },
      "expandedOutputs": [],
      "framework": "",
      "envMode": "strict",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      }
    },
    {
      "taskId": "docs#build",
      "task": "build",
      "package": "docs",
      "hash": "d422c82cfc568523",
      "inputs": {
        ".gitignore": "f886745c5216623d70058427ddd40ecf6ebf84f7",
        "README.md": "a98bfa8140e14c75a3675f1666a6f587d4d25fe5",
        "app/favicon.ico": "718d6fea4835ec2d246af9800eddb7ffb276240c",
        "app/fonts/GeistMonoVF.woff": "f2ae185cbfd16946a534d819e9eb03924abbcc49",
        "app/fonts/GeistVF.woff": "1b62daacff96dad6584e71cd962051b82957c313",
        "app/globals.css": "6af7ecbbb8656b1295acccd1b6cdd1da88d6c855",
        "app/layout.tsx": "8469537555ad68b14377be257758ab1876d3ff5b",
        "app/page.module.css": "3630662c6f3119c94bea5a7fdeb98d99df322f2f",
        "app/page.tsx": "e726335a89cff289eab34248f5aacab1fa6e6523",
        "app/test.ts": "533170cc85fd9263afcdb553dddc34bffe7afb44",
        "app/테스트.ts": "533170cc85fd9263afcdb553dddc34bffe7afb44",
        "eslint.config.js": "e8759ff50fbca5c63fbaac5154b7a7d5876f72be",
        "next.config.js": "4678774e6d606704bce1897a5dab960cd798bf66",
        "package.json": "a9c661cb7961bf71d710d101b9d96c551c1e3f3b",
        "public/file-text.svg": "9cfb3c98674c3553ae58854c31f9302cc1f72a24",
        "public/globe.svg": "4230a3d2071c406b7e4c7b297d247fc194be540c",
        "public/next.svg": "5174b28c565c285e3e312ec5178be64fbeca8398",
        "public/turborepo-dark.svg": "dae38fed549745d94f3380a9280864ae0f797c1f",
        "public/turborepo-light.svg": "ddea915815874759a0cd6dd54dbd197b874c3c99",
        "public/vercel.svg": "0164ddc5ad9db8a097651e72e9fe9c9caf6e394a",
        "public/window.svg": "bbc780069c332dbf9b048a30e7d1f5358921c534",
        "tsconfig.json": "7aef056980d5671f71555aa0fe6abd88f6be8305"
      },
      "hashOfExternalDependencies": "1814afc0d83c6c37",
      "cache": {
        "local": false,
        "remote": false,
        "status": "MISS",
        "timeSaved": 0
      },
      "command": "next build",
      "cliArguments": [],
      "outputs": [
        ".next/**"
      ],
      "excludedOutputs": [
        ".next/cache/**"
      ],
      "logFile": "apps/docs/.turbo/turbo-build.log",
      "directory": "apps/docs",
      "dependencies": [
        "@repo/eslint-config#build",
        "@repo/typescript-config#build",
        "@repo/ui#build"
      ],
      "dependents": [],
      "with": [],
      "resolvedTaskDefinition": {
        "outputs": [
          "!.next/cache/**",
          ".next/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [
          "$TURBO_DEFAULT$",
          ".env*"
        ],
        "outputLogs": "full",
        "persistent": false,
        "interruptible": false,
        "env": [],
        "passThroughEnv": null,
        "interactive": false
      },
      "expandedOutputs": [],
      "framework": "nextjs",
      "envMode": "strict",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      }
    }
  ],
  "user": "",
  "scm": {
    "type": "git",
    "sha": "7f951fdf95bf1ec5773427b2c04a4bc54ea0d32a",
    "branch": "main"
  }
}

2025-09-13T14:45:12.175+0900 [DEBUG] turborepo_process: waiting for 0 processes to exit
2025-09-13T14:45:12.743+0900 [DEBUG] turborepo_telemetry: telemetry handle closed

@hahnlee hahnlee requested a review from a team as a code owner September 13, 2025 05:46
@hahnlee hahnlee requested a review from tknickman September 13, 2025 05:46
@vercel
Copy link
Contributor

vercel bot commented Sep 13, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
examples-basic-web Ready Ready Preview Comment Sep 13, 2025 6:06am
examples-designsystem-docs Ready Ready Preview Comment Sep 13, 2025 6:06am
examples-tailwind-web Ready Ready Preview Comment Sep 13, 2025 6:06am
examples-vite-web Ready Ready Preview Comment Sep 13, 2025 6:06am

@vercel
Copy link
Contributor

vercel bot commented Sep 13, 2025

@hahnlee is attempting to deploy a commit to the Vercel Team on Vercel.

A member of the Team first needs to authorize it.

@hahnlee
Copy link
Author

hahnlee commented Sep 13, 2025

I have already switched to using the -z option (NUL-delimited output) in my workflow.
All current commands rely on -z, so this issue consistently reproduces.
An alternative fix would be to normalize quoted path strings when double quotes are present.

@hahnlee hahnlee changed the title fix: Add -z option to git commands to handle Unicode file paths fix: handle Unicode file paths Sep 13, 2025
@hahnlee hahnlee changed the title fix: handle Unicode file paths fix: add -z option to git commands to handle Unicode file paths Sep 13, 2025
@hahnlee hahnlee changed the title fix: add -z option to git commands to handle Unicode file paths fix: use -z option to git commands to handle Unicode file paths Sep 13, 2025
@hahnlee hahnlee changed the title fix: use -z option to git commands to handle Unicode file paths fix: use -z option to git commands to handle unicode file paths Sep 13, 2025
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