keystonejs / keystone

The most powerful headless CMS for Node.js — built with GraphQL and React
https://keystonejs.com
MIT License
8.98k stars 1.13k forks source link

Move create-keystone-app package inside the monorepo #9102

Open iamandrewluca opened 2 months ago

iamandrewluca commented 2 months ago

PS: I was looking at create-payload-app maybe we can borrow that code for KS also, which will allow multiple KS templates

pnpm publish --dry-run ```shell ✔ You're on branch "feat/move-create-keystone-app" but your "publish-branch" is set to "master|main". Do you want to continue? (y/N) · true npm notice npm notice 📦 create-keystone-app@9.0.1 npm notice === Tarball Contents === npm notice 1.1kB LICENSE npm notice 356B README.md npm notice 63B cli.js npm notice 295B dist/create-keystone-app.cjs.d.ts npm notice 6.6kB dist/create-keystone-app.cjs.dev.js npm notice 200B dist/create-keystone-app.cjs.js npm notice 6.6kB dist/create-keystone-app.cjs.prod.js npm notice 4.8kB dist/create-keystone-app.esm.js npm notice 46B dist/declarations/src/index.d.ts npm notice 109B dist/declarations/src/index.d.ts.map npm notice 971B package.json npm notice 42B starter/_gitignore npm notice 2.7kB starter/auth.ts npm notice 1.0kB starter/CHANGELOG.md npm notice 1.0kB starter/keystone.ts npm notice 397B starter/package.json npm notice 2.9kB starter/README.md npm notice 9.5kB starter/schema.graphql npm notice 1.1kB starter/schema.prisma npm notice 5.2kB starter/schema.ts npm notice 195B starter/tsconfig.json npm notice === Tarball Details === npm notice name: create-keystone-app npm notice version: 9.0.1 npm notice filename: create-keystone-app-9.0.1.tgz npm notice package size: 11.7 kB npm notice unpacked size: 45.2 kB npm notice shasum: decfd7d53d50872d7d10daf98aaa27700786eb95 npm notice integrity: sha512-CHG5zV1StXuDF[...]WvYe3RzlrnuEw== npm notice total files: 21 npm notice npm notice Publishing to https://registry.npmjs.org/ with tag latest and default access (dry-run) + create-keystone-app@9.0.1 ```
codesandbox-ci[bot] commented 2 months ago

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit aa5a82fab575f0443dc547a89cbc918da577a8e2:

Sandbox Source
@keystone-6/sandbox Configuration
iamandrewluca commented 2 months ago

@dcousens please take a look, and tell me please if I need to change something else.

dcousens commented 2 months ago

I was looking at create-payload-app maybe we can borrow that code for KS also, which will allow multiple KS templates

I don't mind the idea of different templates, but let's focus on this being a 1:1 move into this monorepo from our create-keystone-app repository, wherever we can, and then we can talk about any UX improvements in a different pull request.

dcousens commented 2 months ago

@iamandrewluca before I review this in depth, can you please highlight any changes you needed to make when porting this from https://github.com/keystonejs/create-keystone-app (as comments on the diff).

This will help me focus on what is different instead of reviewing the existing create-keystone-app code [which is needing a re-write, but that's a different discussion to have after this pull request]

iamandrewluca commented 2 months ago

@dcousens I left some comments

PS: I synced the branch with the main from upstream. Please check if the pnpm lock file has been updated correctly (don't have much experience with pnpm)

On conflict I picked the version from main, then I run a pnpm install (usually this is what I do with npm on lock conflicts)