Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Release prep for 0.1.5 of the scaffolding CLI, focusing on improving generated TypeScript project composition (shared + overlay templates), updating dependency baselines, tightening linting, and improving CLI UX for Postgres next-steps messaging.
Changes:
- Refactors TypeScript template generation to layer
templates/ts/sharedwith architecture-specific overlays. - Updates CLI output to provide OS-aware Postgres (psql) setup guidance and adjusts tests accordingly.
- Bumps root + generated-project dependency versions and adds a root ESLint config + lint script.
Reviewed changes
Copilot reviewed 38 out of 59 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test/output.test.ts | Updates next-steps tests to inject platform and verify Windows/Linux-specific Postgres guidance. |
| test/integration.generated-projects.test.ts | Removes unused expect import after refactor. |
| templates/ts/simple/tsconfig.json.ejs | Removes duplicated TS config from simple variant (moved to shared). |
| templates/ts/simple/src/utils/getPort.ts.ejs | Moves shared TS helper into templates/ts/shared. |
| templates/ts/simple/src/server.ts.ejs | Moves shared TS entrypoint into templates/ts/shared. |
| templates/ts/simple/src/routes/health.ts.ejs | Moves shared TS route into templates/ts/shared. |
| templates/ts/simple/src/middleware/notFound.ts.ejs | Moves shared TS middleware into templates/ts/shared. |
| templates/ts/simple/src/middleware/errorHandler.ts.ejs | Moves shared TS error handler into templates/ts/shared. |
| templates/ts/simple/src/errors/AppError.ts.ejs | Moves shared TS error class into templates/ts/shared. |
| templates/ts/simple/src/db/pool.ts.ejs | Moves shared TS DB pool into templates/ts/shared. |
| templates/ts/simple/src/app.ts.ejs | Moves shared TS app bootstrap into templates/ts/shared. |
| templates/ts/simple/scripts/dbSetup.js.ejs | Moves shared DB setup script into templates/ts/shared. |
| templates/ts/simple/scripts/dbSeed.js.ejs | Moves shared DB seed script into templates/ts/shared. |
| templates/ts/simple/scripts/dbReset.js.ejs | Moves shared DB reset script into templates/ts/shared. |
| templates/ts/simple/scripts/dbCreate.js.ejs | Moves shared DB create script into templates/ts/shared. |
| templates/ts/simple/jest.config.js.ejs | Moves shared Jest config into templates/ts/shared. |
| templates/ts/simple/db/seed.sql.ejs | Moves shared SQL seed into templates/ts/shared. |
| templates/ts/simple/db/schema.sql.ejs | Moves shared SQL schema into templates/ts/shared. |
| templates/ts/simple/compose.yaml.ejs | Moves shared Docker compose into templates/ts/shared. |
| templates/ts/simple/tests/app.test.ts.ejs | Moves shared TS tests into templates/ts/shared. |
| templates/ts/simple/.gitignore.ejs | Moves shared ignore rules into templates/ts/shared. |
| templates/ts/simple/.eslintrc.cjs.ejs | Moves shared TS ESLint config into templates/ts/shared. |
| templates/ts/simple/.env.example.ejs | Moves shared TS env example into templates/ts/shared. |
| templates/ts/shared/tsconfig.json.ejs | Adds shared TS tsconfig.json base for all TS variants. |
| templates/ts/shared/tsconfig.eslint.json.ejs | Adds shared TS ESLint tsconfig enabling linting src + __tests__. |
| templates/ts/shared/src/utils/getPort.ts.ejs | Adds shared TS port parsing helper. |
| templates/ts/shared/src/server.ts.ejs | Adds shared TS server entrypoint. |
| templates/ts/shared/src/routes/health.ts.ejs | Adds shared TS health route. |
| templates/ts/shared/src/middleware/notFound.ts.ejs | Adds shared TS not-found middleware. |
| templates/ts/shared/src/middleware/errorHandler.ts.ejs | Adds shared TS error handler middleware. |
| templates/ts/shared/src/errors/AppError.ts.ejs | Adds shared TS AppError class. |
| templates/ts/shared/src/db/pool.ts.ejs | Adds shared TS Postgres pool module. |
| templates/ts/shared/src/app.ts.ejs | Adds shared TS Express app wiring. |
| templates/ts/shared/scripts/dbSetup.js.ejs | Adds shared DB setup script. |
| templates/ts/shared/scripts/dbSeed.js.ejs | Adds shared DB seed script. |
| templates/ts/shared/scripts/dbReset.js.ejs | Adds shared DB reset script. |
| templates/ts/shared/scripts/dbCreate.js.ejs | Adds shared DB create script. |
| templates/ts/shared/package.json.ejs | Updates generated TS dependency versions and dev tooling baselines. |
| templates/ts/shared/jest.config.js.ejs | Adds shared Jest config for TS templates. |
| templates/ts/shared/db/seed.sql.ejs | Adds shared SQL seed. |
| templates/ts/shared/db/schema.sql.ejs | Adds shared SQL schema. |
| templates/ts/shared/compose.yaml.ejs | Adds shared compose file for TS postgres-docker mode. |
| templates/ts/shared/tests/app.test.ts.ejs | Adds shared TS Supertest-based tests. |
| templates/ts/shared/.gitignore.ejs | Adds shared TS .gitignore. |
| templates/ts/shared/.eslintrc.cjs.ejs | Adds shared TS ESLint config with type-aware linting and await-thenable. |
| templates/ts/shared/.env.example.ejs | Adds shared TS .env.example. |
| templates/ts/mvc/package.json.ejs | Removes duplicated TS MVC package.json (now sourced from shared). |
| templates/ts/mvc/.eslintrc.cjs.ejs | Removes duplicated TS MVC ESLint config (now sourced from shared). |
| templates/js/simple/package.json.ejs | Updates generated JS dependency versions. |
| templates/js/mvc/package.json.ejs | Updates generated JS dependency versions. |
| src/generator/index.ts | Implements multi-root template planning (shared + overlay) and tracks per-file source paths. |
| src/core/types.ts | Extends PlannedFile with templateSourcePath to support overlay sources. |
| src/cli/output.ts | Adds OS-aware Postgres setup messaging and updates printNextSteps signature. |
| src/cli/index.ts | Adds post-generation check to fail early if package.json wasn’t produced. |
| package.json | Bumps version to 0.1.5, adds lint script, and updates dependencies/devDependencies. |
| package-lock.json | Updates lockfile to new dependency graph (incl. eslint + vitest upgrades). |
| README.md | Updates installation guidance to include npm create / npm init workflows. |
| CHANGELOG.md | Adds 0.1.5 changelog entry describing the release changes. |
| .eslintrc.cjs | Adds root ESLint configuration with scoped TypeScript overrides and async linting rule. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR finalises 0.1.5 and addresses the r/node feedback with concrete changes across generation, templates, linting, and CLI UX.
Purpose
What changed
Key files
Validation run
Reviewer focus
Impact / compatibility notes