chore: deprecate constructive/functions in favor of constructive-functions repo#1127
chore: deprecate constructive/functions in favor of constructive-functions repo#1127
Conversation
…tions repo The simple-email and send-email-link function workloads now live in the dedicated constructive-functions repository under handler.ts + fn-runtime, and the hub already launches functions from that submodule. The copies under this repo's functions/ directory are no longer referenced at runtime, so drop them along with the unreachable cnc jobs up CLI command. - Remove functions/ (both packages) and docker/functions/simple-email.Dockerfile. - Drop 'functions/*' from pnpm-workspace.yaml. - Delete packages/cli/src/commands/jobs.ts, its registration in commands.ts, the help text entries, and the @constructive-io/knative-job-service dep from packages/cli. - Empty the jobs/knative-job-service function registry and drop the now-broken workspace deps on simple-email-fn / send-email-link-fn so the workspace still installs. jobs/ itself is kept for a follow-up PR pending the hub job-server cutover. - Update CLAUDE.md / AGENTS.md to point readers at constructive-functions.
d773f29 to
0381d9b
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
Summary
Phase 1 of removing duplicated function infrastructure from this repo. The
simple-emailandsend-email-linkfunction workloads now live in the dedicatedconstructive-functionsrepository (new architecture:handler.ts+fn-runtime+handler.jsonmanifests, auto-generated workspace packages, k8s/Skaffold deployment). The hub (constructive-hub) already launches function processes from that submodule, so the copies here underfunctions/are dead weight at runtime.This PR removes
functions/and the unreachablecnc jobs upCLI command. Thejobs/directory is intentionally kept for a follow-up PR — the hub still resolves the job-server entrypoint fromconstructive/jobs/<server>/dist/run.js, and that path will be flipped toconstructive-functions/job/<server>/dist/run.jsin a separate hub PR beforejobs/itself can be retired.Changes
functions/(bothsimple-emailandsend-email-linkpackages) anddocker/functions/simple-email.Dockerfile.'functions/*'frompnpm-workspace.yaml.cnc jobs up:packages/cli/src/commands/jobs.ts.packages/cli/src/commands.ts.Jobs:section frompackages/cli/src/utils/display.tshelp text.@constructive-io/knative-job-servicefrompackages/cli/package.jsondependencies.jobs/knative-job-serviceto keep the workspace installable afterfunctions/*is gone:@constructive-io/{simple-email,send-email-link}-fn.functionRegistryand widenFunctionNametostring. The legacy in-process launcher will simply fail with "Unknown function" if invoked — acceptable because it's slated for removal in the follow-up PR.CLAUDE.mdandAGENTS.mdto point readers atconstructive-functions.Non-goals (deferred to follow-up PRs)
jobs/(still consumed by hub'sclient.ts:640).docker-compose.jobs.yml,docker-compose.local-email.yml,docker/jobs/.client.ts:640fromconstructive/jobs/...toconstructive-functions/job/....@constructive-io/{simple-email,send-email-link}-fnfrom the new repo (separate coordination — note the new repo currently sits at v2.6.4 / v1.6.4 vs the v2.10.0 / v1.10.0 just removed here, and uses a different entrypoint shape).Verification
pnpm installresolves with noworkspace:^errors after the registry/dep edits.pnpm buildgreen across all 87 workspace projects;jobs/knative-job-service/dist/andpackages/cli/dist/produced.node packages/cli/dist/index.js --helpno longer listsjobsand renders cleanly.pnpm lintfailures (ESLint v9 config migration ingraphile-upload-plugin,graphile-sql-expression-validator,graphql/gql-ast,packages/12factor-env) are unrelated to this PR — confirmed by re-running lint on the parent commit; same packages fail there.Test plan
pnpm install && pnpm buildon the branch.cnc --helpno longer advertisesjobs upand unknown-command path still works.@constructive-io/{simple-email,send-email-link}-fnfrom this repo's workspace (they should use the npm-published versions or the new repo).client.ts:640toconstructive-functions/job/server/dist/run.jsbefore the follow-up that deletesjobs/.