typescript-cli-tsgen

作者: contentstack

contentstack-cli-tsgen OCLIF 插件和 tsgen 命令的心智模型。

npx skills add https://github.com/contentstack/contentstack-cli-tsgen --skill typescript-cli-tsgen

TypeScript CLI tsgen skill

Role of this repo

  • Plugin for csdx: implements TypeScriptCodeGeneratorCommand in src/commands/tsgen.ts.
  • Generation is delegated to @contentstack/types-generator (npm, GitHub)—version ^3.9.3 in package.json. Do not assume a local clone; use npm and published source only.

Change here vs change in the library

ConcernWhere
New flags, output path, csdx UX, printFormattedErrorThis repo (src/commands/, src/lib/)
Schema mapping, Delivery SDK calls, GraphQL introspection@contentstack/types-generator

Helpers

OCLIF

  • Commands compile to lib/commands; prepack refreshes oclif.manifest.json and README.

Command shape (tsgen)

  • Extends Command from @contentstack/cli-command (src/commands/tsgen.ts).
  • Flags include token-alias (-a, required), output (-o), prefix, doc, branch, include-system-fields, include-editable-tags, include-referenced-entry, api-type (rest | graphql), namespace (GraphQL).
  • Resolve token via this.getToken(flags["token-alias"]); warn if token.type !== "delivery" (management token can break Delivery/GraphQL flows).
  • Build StackConnectionConfig: apiKey, token, region, environment, branch, host as in existing code.
  • api-type === "graphql" → graphqlTS(...) with delivery token; REST → generateTS with tokenType: "delivery"; write output with fs.writeFileSync to the resolved path.
  • Use printFormattedError from src/lib/helper.ts for consistent CLI messaging.