Dashboard › craft › Distillation
25836d9e-e2e4-4344-b387-a4ebe731cd75["lore_tm_v1_DWcSG_dSSq3kDsV1kd5jszoAU6fpZ52J7W_gxcStyQg","lore_tm_v1_VdP7dZ4sw50ClgHAl8GJVbmK6gEZKGEJWZxrugmS220","lore_tm_v1_lbBqWYjwmQpUX5SzoFw0976HsjS2nLozkohsUIA3x8c","lore_tm_v1__YoQr2TYLY8jSdjvpJAXWijdrT8CcvNj2j9Ilpm2Nvs","lore_tm_v1_xb6TBDHUflt8MkxPlRTkWWXOioY_hAKgj_FFG6GH7bY","lore_tm_v1__UPABEyKjLTRGuLsRXBx9oWHgZAue8wGYxlfGvDO3tA","lore_tm_v1_hUDi_CyyWN6RZifQyfAPGBy8LHKGUAIzWBZUV27NgtA","lore_tm_v1_IahUko5tJtBDJRQ6uhGH6e4dK0iFW1FMU517DmO9hrc","lore_tm_v1_ZmA3z3oN1J9QX-vQvMtDRIoGJ0vFXpU87UKxk9jaGdc","lore_tm_v1_gJBof90S9Vx5UNae_mSYyfNJbnxg1P3gUzj8EYXm1EE"]
Date: Aug 29, 2026
pnpm; npm and yarn must never be used.v22.12.0; dependencies install with pnpm install --frozen-lockfile.pnpm build (outputs dist/craft), pnpm test, pnpm lint, and pnpm fix; manual testing uses pnpm build && ./dist/craft..prettierrc.yml, and linted with ESLint 9.x flat configuration in eslint.config.mjs using typescript-eslint; unused variables prefixed _ are allowed.src/__tests__/*.test.ts; mocks use vi.fn(), vi.mock(), and vi.spyOn().master, CI tests Node.js 20 and 22, and Craft releases itself through its own tooling..craft.yml; its configuration schema is in src/schemas/.getGitClient() from src/utils/git.ts or createGitClient(directory); GitHub API uses getGitHubClient() from src/utils/githubApi.ts; file writes use safeFs from src/utils/dryRun.ts; other actions use safeExec()/safeExecSync() from src/utils/dryRun.ts. Direct simple-git imports and new Octokit() are ESLint-restricted; raw simple-git wrapper access requires // eslint-disable-next-line no-restricted-imports -- This is the wrapper module.getGitClient()/createGitClient(), GitHub API via getGitHubClient(), writes via safeFs.writeFile()/safeFs.unlink() etc., and custom operations via safeExec(action, description); explicit isDryRun() is reserved for operations with their own dry-run flag, mock-data needs, or UX optimizations such as skipped sleep timers.src/__mocks__/, src/__tests__/, src/artifact_providers/, src/commands/, src/schemas/, src/status_providers/, src/targets/, src/types/, src/utils/, src/config.ts, src/index.ts, src/logger.ts, and bundled executable dist/craft./home/byk/Code/getsentry/craft-workspace-action-propagation has gitdir /home/byk/Code/getsentry/craft/.git/worktrees/craft-workspace-action-propagation; its root contains 33 entries including .craft.yml, action.yml, AGENTS.md, Dockerfile, package.json, pnpm-lock.yaml, src/, dist/, and vitest.config.mts./home/byk/Code/getsentry/publish-workspace-acceptance has 16 root entries including .github/, AGENTS.md, package.json, pnpm-lock.yaml, yarn.lock, scripts/, src/, and vitest.config.js.24.0.0.__tests__/ with the same source filename, variables/functions use camelCase, constants/regex use UPPER_SNAKE_CASE, source uses CommonJS and tests use ES Modules; import order is Node.js built-ins, external packages, then local modules.default must throw descriptive errors such as throw new Error(\Unknown status: '${status}'`)`.fs.existsSync() before reads, and include remediation context in thrown errors.v4.0.0 with globals enabled and auto-cleared mocks; mocked dependencies must be declared before requiring the module under test. Key dependencies are @actions/core, @actions/github, and @sentry/node; code ownership is @getsentry/releng./home/byk/Code/getsentry/publish/.git/worktrees/publish-workspace-acceptance.feat/workspace-action-propagation at 6dae341f9bc1378abde7a9022108caded2d22226; merge-base/base SHA shown is 8cc54254f2e9489abbfdc028df15e7effbbc6bb8.action.yml, docs/src/content/docs/targets/github.md, src/__tests__/action.test.ts, src/__tests__/config.test.ts, src/commands/__tests__/publish.test.ts, src/commands/publish.ts, src/config.ts, src/index.ts, and src/schemas/project_config.ts; untracked paths are src/commands/workspace.ts and src/commands/workspace_cmds/.master modifies 25 files with 1,546 insertions and 410 deletions, including .github/workflows/release.yml, CHANGELOG.md, action.yml, documentation/package locks, config/schema/index/publish code, target registry/Vercel code, Git/helper/publish-state utilities, and associated tests.action.yml (18 lines), docs/src/content/docs/targets/github.md (36), src/__tests__/action.test.ts (125), src/__tests__/config.test.ts (130), src/commands/__tests__/publish.test.ts (27), src/commands/publish.ts (18), src/config.ts (48), src/index.ts (2), and src/schemas/project_config.ts (63).feat/workspace-acceptance at b658ffa0299fedf78c9dd9a2121cd740691ca157; master does not resolve locally, while main/origin/main point to 83d210b29553ea6f4d97508821724a834c43856e; upstream is origin/feat/workspace-acceptance..github/workflows/publish.yml, docs/publish-issue-format.md, package.json, src/modules/__tests__/publish-workflow.js, src/modules/details-from-context.js, src/modules/post-workflow-details.js, src/publish/inputs.js, and yarn.lock; untracked paths are pnpm-lock.yaml, scripts/, src/modules/__tests__/publish-location.js, src/modules/__tests__/release-revision.js, src/modules/publish-issue-title.js, src/modules/publish-issue-title.peggy, src/modules/publish-location.js, src/modules/release-revision.js, src/publish/resolve-location.js, and src/publish/resolve-release-revision.js.b658ffa fix: validate publish workspace JSON, preceded by 33de3f1 feat: accept workspace publish requests, then 83d210b build(deps): bump js-yaml from 4.3.0 to 4.3.1 (#9174).4da4a25 chore: replace deprecated trimRight() with trimEnd() (#9012), replacing deprecated trimRight() with trimEnd().