Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: generate start and test npm scripts #387

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
szgabsz91 wants to merge 1 commit into vuejs:main
base: main
Choose a base branch
Loading
from szgabsz91:feature/303-generate-start-and-test-npm-scripts

Conversation

Copy link

@szgabsz91 szgabsz91 commented Nov 25, 2023

Resolves #303

@szgabsz91 szgabsz91 force-pushed the feature/303-generate-start-and-test-npm-scripts branch from c6fd31d to 6ae5c5d Compare November 25, 2023 11:40
Copy link
Member

@cexbrayat cexbrayat left a comment

Choose a reason for hiding this comment

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

Thanks for the PR @szgabsz91

I think you can do simpler than this, by just adding the script directly to the template/base/package.json for start. You can probably do the same for test with the template/**/package.json of each library, and that would avoid adding the addNpmScript function.

You can then generate the snapshots locally with pnpm snapshot and check if the result is OK.

marcosdissotti reacted with thumbs up emoji
Copy link
Author

Thanks for the quick review, @cexbrayat, I added a new commit with the modifications, keeping the old commit just for reference. (If the PR gets accepted in the future, a squash might be necessary.)

Just some comments:

  • I eliminated the addNpmScript function, but without it, I could only use the same value for the dev and test scripts as their referenced scripts, because I do not know in the template which package manager the developer uses. With the previous solution, if you used npm, it generated npm run dev for instance, or yarn dev in case of yarn, etc.
  • I also needed to modify the order of rendered templates. Now the E2E test related templates are rendered first so that they do not overwrite the test script if unit tests are also generated.
  • I tried to test the modified CLI locally and I think the generated scripts work correctly as you suggested in the issue, but maybe using real references (like npm run dev, npm run test:unit) would be more elegant. However, I don't have an idea how to do so without using a custom function or implementing some kind of template parameters like using mustache or a similar lib in the render function.

I don't know if the current solution is OK with you, but if not, I'll try to modify it later as you suggest.

marcosdissotti reacted with thumbs up emoji

Copy link
Member

@cexbrayat cexbrayat left a comment

Choose a reason for hiding this comment

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

I think I like this way better 👍

@szgabsz91 szgabsz91 force-pushed the feature/303-generate-start-and-test-npm-scripts branch from 7c9431d to 8db43ce Compare November 26, 2023 09:00
Copy link
Member

@szgabsz91 Can you rebase the PR on the latest main branch, please? I'll then take a look.

@szgabsz91 szgabsz91 force-pushed the feature/303-generate-start-and-test-npm-scripts branch from 8db43ce to 0982194 Compare November 27, 2023 20:17
Copy link
Author

I did the rebase yesterday, if I see it correctly, the branch is up to date with the remote main. I also resolved the conflicts around the nightwatch package.json files.

Copy link
Member

@cexbrayat cexbrayat left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @szgabsz91

I'll let @sodatea take a look and merge if he feels this is interesting

szgabsz91 reacted with thumbs up emoji
Copy link
Author

Thanks!

@szgabsz91 szgabsz91 force-pushed the feature/303-generate-start-and-test-npm-scripts branch from 0982194 to bf64fed Compare June 2, 2024 08:22
Copy link
Author

FYI: I just rebased the branch, now it's up-to-date again. :)

@@ -3,6 +3,7 @@
"type": "module",
"scripts": {
"dev": "vite",
"start": "npm run dev",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Here you may be able to dynamically obtain the corresponding script commands generated by the package manager.

create-vue/index.ts

Lines 569 to 576 in 9a4dd95

const userAgent = process.env.npm_config_user_agent ?? ''
const packageManager = /pnpm/.test(userAgent)
? 'pnpm'
: /yarn/.test(userAgent)
? 'yarn'
: /bun/.test(userAgent)
? 'bun'
: 'npm'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers

@btea btea btea left review comments

@cexbrayat cexbrayat cexbrayat approved these changes

@haoqunjiang haoqunjiang Awaiting requested review from haoqunjiang

+1 more reviewer

@marcosdissotti marcosdissotti marcosdissotti approved these changes

Reviewers whose approvals may not affect merge requirements
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

Use well-defined npm script names instead of custom

AltStyle によって変換されたページ (->オリジナル) /