Skip to content

Conversation

@carloskelly13
Copy link
Contributor

@carloskelly13 carloskelly13 commented Jul 14, 2022

Description

Adds support for the JavaScript and TypeScript project generation to create a 2-slide deck.

A new feature is support out of the box for custom css and images via the webpack loaders. Some users like to style components with css and add local images.

Screen Shot 2022-07-14 at 9 03 07 AM

Type of Change

Please delete options that are not relevant (including this descriptive text).

  • New feature (non-breaking change which adds functionality)

@carloskelly13 carloskelly13 requested a review from gksander July 14, 2022 13:55
@carloskelly13 carloskelly13 marked this pull request as ready for review July 14, 2022 13:56
@ryan-roemer
Copy link
Member

It's going to add build time, but we should add "generate, install, and build" CI steps in a separate workflow in parallel for each CLI generate scenario (what the existing CLI does)

@carloskelly13
Copy link
Contributor Author

@ryan-roemer Yeah we'd definitely want to continue ensuring the CI works for all of the 3 flows. I'm open to ideas on verifying the one-page file generated actually works. We'd need a generous timeout I think.

Copy link
Contributor

@scottrippey scottrippey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks really great! Love the separation of the files and functions.

Copy link
Contributor

@gksander gksander left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DOPE

@carloskelly13 carloskelly13 merged commit 17f80b0 into main Jul 14, 2022
@carloskelly13 carloskelly13 deleted the feature/cli-file-writers branch July 14, 2022 19:39
},
"peerDependencies": {},
"devDependencies": {
"spectacle": "workspace:spectacle@*",
Copy link
Contributor

@scottrippey scottrippey Jul 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@carlos-kelly This is listed as a devDep, but it looks to me like it's being used as a runtime dependency ... does it somehow get "baked in"?
We could bring in spectacle as a prod dep just to know the latest version. Hopefully it'd get cached since post-CLI you'd install it again.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's a runtime it will be included in the entire bin when we build this cli as runnable. We likely need to do a script to extract out the version number from the other package.json rather than some kind of cross-package dependency. @gksander and I were pondering this, but I'm really mixed if typing the version is easier. We do that on one-page today.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I'm mixed too ... hard-coding it seems easy, but not as easy to maintain.

Copy link
Member

@ryan-roemer ryan-roemer Jul 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PNPM should work just with a "normal" spectacle dependency. My understanding is the workspace: is only needed when theres a very customize setup that disables PNPM workspace inference (?)

https://pnpm.io/workspaces#workspace-protocol-workspace

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we likely drop this, feels a bit over-engineered to avoid typing in a version number.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we do need to change this before publishing, because currently trying to run the CLI (outside this repo) I think will fail.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup! the CLI is not ready to be published yet. We still need to build the interactive prompts. Just flags are working.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we just want an "up-to-date" version number, tools like changesets, etc. can just take care of keeping this current on version/publish and then we could even have the CLI read it's own package.json:devDependencies.spectacle to infer the correct version...

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.

5 participants