[Guix packaging] Effect-TS/language-service #65
Labels
No labels
accessibility
bug
category:ai-tool
category:browser
category:command-line-tool
category:compiler-toolchain
category:desktop-application
category:developer-tool
category:editor-extension
category:emulator
category:font
category:game
category:input-accessibility
category:library-framework
category:mud-client
category:multimedia
category:networking-client
category:programming-language
category:roguelike
category:storage-media-tool
category:system-tool
category:terminal-application
complexity:high
complexity:low
complexity:medium
difficulty:blocked
difficulty:easy
difficulty:hard
difficulty:moderate
documentation
duplicate
enhancement
good first issue
gooflow:guix-package-high
gooflow:guix-package-moderate
gooflow:guix-package-quality-gates
gooflow:guix-research-disposition
gooflow:guix-runtime-evidence-refresh
help wanted
invalid
kind:disposition
kind:packaging
needs:license-investigation
priority:quick
question
ready-for-agent
state:available-elsewhere
state:blocked
state:deferred
state:out-of-scope
state:ready
state:research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tay/guix-channel#65
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Candidate
5e4d380b6fcd20f048dd8d41515bcd9ea47ffda4(default-branch snapshot checked 2026-08-14)Scope and blockers
Install the language-service server and editor integration artifacts.
Acceptance checks
guix lint -L. <package-name>andguix build -L. <package-name>pass once a package definition exists.Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-14T13:16:55Z.
Goocastle recorded disposition: blocked.
Canonical origin: https://github.com/Effect-TS/language-service at fixed commit 5e4d380b6fcd20f048dd8d41515bcd9ea47ffda4 (upstream package version 0.87.2; commit dated 2026-08-10). The exact tree has an explicit MIT License at https://raw.githubusercontent.com/Effect-TS/language-service/5e4d380b6fcd20f048dd8d41515bcd9ea47ffda4/LICENSE and no Git submodule gitlinks. The local channel already has only effect-ts-language-service-source in tay/packages/starred-d-h.scm, using copy-build-system for preservation; no equivalent installable package was found locally or in the Guix package search. The source-build assessment is viable: the root packageManager is pnpm@8.11.0, pnpm-lock.yaml is lockfile version 6, and a temporary checkout completed pnpm install --frozen-lockfile --ignore-scripts followed by pnpm --filter @effect/language-service build without network during the build phase once the pnpm store was present. An implementation would use a new module such as (tay packages effect-ts-language-service), node-build-system, node >=18, pnpm 8.11.0 as a native input, and a vendored pnpm store/lockfile closure; the runtime contract is a TypeScript 5-or-6 host supplied by the user/project, because the built CLI dynamically resolves typescript and the plugin is loaded by TypeScript. License evidence for the independently fetched origins retained by the built deliverable is explicit at the fixed lockfile versions: @effect/platform-node@4.0.0-beta.107 MIT/LICENSE; @effect/platform-node-shared@4.0.0-beta.107 MIT/LICENSE; @typescript-eslint/project-service@8.52.0 MIT/LICENSE; @typescript-eslint/tsconfig-utils@8.52.0 MIT/LICENSE; effect@4.0.0-beta.107 MIT/LICENSE; debug@4.4.3 MIT/LICENSE; has-flag@4.0.0 MIT/license; ms@2.1.3 MIT/license.md; supports-color@7.2.0 MIT/license; pako@2.1.0 (MIT AND Zlib)/LICENSE; ts-patch@3.3.0 MIT/LICENSE.md; and external build TypeScript@5.9.3 Apache-2.0/LICENSE.txt. Each is fixed by its exact pnpm-lock.yaml integrity entry; no separately fetched submodule lacks license evidence. The required packaging wrapper would install the generated dist files, schema.json, README.md, and all dependency notices, set generated package.json main from the upstream-wrong index.cjs to the actual index.js, expose effect-language-service -> cli.js, and never enable network or mutate a user project except when the user explicitly invokes the upstream patch/unpatch CLI. Exact blocker: this upstream is a TypeScript language-service plugin, not an LSP server or editor extension. README describes a plugin for VSCode/TypeScript-LSP hosts; src/index.ts exports the TypeScript plugin init function returning create/onConfigurationChanged, src/cli.ts runs ordinary setup/diagnostics/patch commands, and the pinned tree contains no JSON-RPC transport, Content-Length handling, createConnection, standalone server, or initialize/shutdown endpoint. Feeding an offline framed LSP initialize request to dist/cli.js only prints "Please select a command or run --help." and exits. Therefore the requested deliverable and acceptance check to start the language server and exchange initialize/shutdown cannot be met from this origin alone; adding typescript-language-server/vtsls or an editor extension would be a second source origin requiring a fixed revision, license evidence, package scope, and runtime integration review. Unblock only by changing the acceptance and scope to the plugin/CLI and a fixed TypeScript-host smoke (load the plugin, exercise one diagnostic/refactor, and perform initialize/shutdown against the separately packaged host), or by naming and approving a separate fixed, licensed LSP host/editor-extension origin and its offline vendoring plan; then also retain the index.js metadata correction and wrapper behavior above.
Imported from GitHub comment. Originally posted by htayj on 2026-08-25T18:35:06Z.