Skip to content

fix(cli): unblock fresh sm new project / sm new module builds#154

Merged
antosubash merged 1 commit intomainfrom
claude/github-issues-IGNzY
May 9, 2026
Merged

fix(cli): unblock fresh sm new project / sm new module builds#154
antosubash merged 1 commit intomainfrom
claude/github-issues-IGNzY

Conversation

@antosubash
Copy link
Copy Markdown
Owner

Summary

Fixes the five open scaffolding gaps that prevent a freshly-scaffolded SimpleModule project from building cleanly.

Closes #148, #149, #150, #151, #152.

Per-issue changes

Verification

  • dotnet test for SimpleModule.Cli.Tests: 128/128 passing, including ScaffoldedProject_DotnetBuildSucceeds (the slow end-to-end scaffold + dotnet build against the live source generator).
  • Manual sm new project Repro against this branch produces a package.json without @simplemodule/tsconfig, with @tailwindcss/cli, and a Styles/app.css whose paths resolve from src/<Name>.Host/Styles/.
  • Manual sm new module PageBuilder in that scaffolded project produces PageBuilderItem entity (no namespace collision) and module/contracts csprojs with explicit <RootNamespace>SimpleModule.PageBuilder</RootNamespace> / <AssemblyName>SimpleModule.PageBuilder</AssemblyName>.

Test plan

  • CI green on claude/github-issues-IGNzY.
  • After release, repro the original five issues against the next published SimpleModule.Cli and confirm they no longer reproduce.

Generated by Claude Code

Closes #148, #149, #150, #151, #152.

- #148 sm new module: avoid entity-name collision when the singular
  form equals the module name (e.g. PageBuilder, Marketplace). Add
  ModuleTemplates.GetEntityName which suffixes "Item" in the colliding
  case so the entity type doesn't shadow the module namespace.
- #149 sm new module: emit explicit RootNamespace and AssemblyName
  in generated module/contracts/test csproj so SM0052 and SM0053 pass
  even though the csproj filename omits the SimpleModule. prefix.
- #150 sm new project: stop depending on @simplemodule/tsconfig (not
  published to npm). Inline the tsconfig content in both the root and
  per-module generated tsconfig.json files.
- #151 sm new project: add @tailwindcss/cli to template devDependencies
  so SimpleModule.Hosting.targets can invoke node_modules/.bin/tailwindcss.
- #152 sm new project: rewrite Styles/app.css source/import paths to
  use node_modules/@simplemodule/* (3 ups) and src/modules/ (2 ups);
  fixes the off-by-one rewrite that produced ../../../../modules.
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying simplemodule-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: 017dbd7
Status: ✅  Deploy successful!
Preview URL: https://754735e1.simplemodule-website.pages.dev
Branch Preview URL: https://claude-github-issues-ignzy.simplemodule-website.pages.dev

View logs

@antosubash antosubash marked this pull request as ready for review May 9, 2026 15:10
@antosubash antosubash merged commit 2e8963d into main May 9, 2026
6 checks passed
@antosubash antosubash deleted the claude/github-issues-IGNzY branch May 9, 2026 15:13
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.

sm new module: name-singular collision when module name equals its singular form (e.g. PageBuilder)

2 participants