Commit Graph

105 Commits

Author SHA1 Message Date
Haoqun Jiang
953a080c19 fix: update .npmrc for pnpm 4 2019-10-16 13:22:04 +08:00
Pavan Kumar Sunkara
544faee81e feat: more flexible hook system for generators (#2337) 2019-07-21 19:59:18 +08:00
Haoqun Jiang
4af27247cc refactor: unify package manager related logic (#4256) 2019-07-13 00:29:39 +08:00
Pavan Kumar Sunkara
362587a966 feat!: make vuex a separate plugin (#4242)
fixes #2335, #4024
2019-07-06 15:13:09 +08:00
Pavan Kumar Sunkara
246ae678cb feat!: make router a separate plugin (#4196)
* refactor: move router to its own plugin

* refactor: rename routerHistoryMode option to historyMode

* test: add @vue/cli-plugin-router tests

* feat: change src/router.js for most common use cases

* fix: fix cli-ui tests

* docs: Remove router root option from docs

* fix: add support for legacy router option
2019-07-05 23:21:29 +08:00
Haoqun Jiang
867c6eaf2c feat!: redesigns vue upgrade, supports code migration (#4090) 2019-07-02 16:23:34 +08:00
Haoqun Jiang
a6ceb8d0c1 feat: allow installing core plugins from next dist-tag 2019-04-30 22:48:50 +08:00
Haoqun Jiang
3da799c8d8 feat: should support bare option in preset.json (#3848)
closes #3825
2019-04-27 20:05:20 +08:00
Haoqun Jiang
095067e912 feat: generate .npmrc when using pnpm as package manager 2019-04-11 17:28:51 +08:00
Haoqun Jiang
94f3ca0e91 fix: better pnpm check
1. separate project pnpm check and global pnpm check
2. rename hasPnpm to hasPnpm3OrLater
2019-04-11 16:38:49 +08:00
robertkruis
a02ef3988f feat: support PNPM as a package manager (#1531)
Enables vue-cli to use PNPM (https://pnpm.js.org/) as package manager
2019-04-09 00:43:47 +08:00
Guillaume Chau
8c3ff11653 refactor(project create): run vue create in child process, closes #3664 2019-04-06 01:48:02 +02:00
Patrick
41443944c7 style: small style fixes (#3063)
* style(babel-prompt): Using else if instead of double blocks

* style(Creator): shouldInitGit doesn't need to be async
2018-12-03 20:04:17 +08:00
Haoqun Jiang
31ffcfe0ca feat: new release strategy (#3020)
## Summary
- Keep package minors in sync (`lerna publish --force-publish` when releasing a new minor)
- Patch on demand (`lerna publish` fixed mode)
- `eslint-config-*` packages are published manually

## Longer Description
1. We used to force publish every package till v3.1, this is due to the unbalanced update frequency among different plugins. In practice, some of them, like the pwa plugin, are quite stable and rarely need updating. So force publishing is overkill now.
2. We have switched to independent mode then, for two major benefits: 1) patching on demand and only on demand 2) eslint config packages needs a more aggressive update strategy in practice, due to the frequent breaking changes in the upstream packages. However, this also causes maintenance burden and confusion to end users. So it's far from ideal.
3. So now we choose to go back fixed versioning. By default lerna would skip untouched packages when publishing a new version. This might be confusing as we think. So to reduce the cognitive load, we still keep each package's minor field in sync.

## Implementation Detail

1. To selectively publish packages, we have to disable `useWorkspaces` in lerna so that these packages can be linked by yarn while being unrecognizable to lerna.
2. Due to an oversight in the old version checking code, version fields in `vue-cli-version-marker` needs to be exact versions, otherwise cli will throw on startup. So we have to publish `vue-cli-version-marker` manually after other package updates. This logic can be removed once all users have been upgrade to 3.2.0+ and we can then add it back to `packages` in `lerna.json`
3. We now use `~/.vuerc` to cache version check results. This also fixes #2956
2018-11-28 02:12:05 +08:00
Haoqun Jiang
044f5b3b7e refactor: use a version map to determine the newest dependency versions
Now that lerna independent mode is used to release new versions, we can
no longer ensure the core service/plugin versions are in sync with
@vue/cli itself. So `vue-cli-version-marker` is now used to store the
latest version map of core packages.

In order to automate this process, all the core cli packages are listed
as `devDependencies` of `vue-cli-version-marker`. This will cause a
cyclic dependency warning in lerna bootstrap, and that warning can be
safely ignored because these are just `devDependencies` which won't
affect end users.

Another gotcha is that the version of `vue-cli-version-marker` will be
bumped each time we do a release. This may break the remote version
check logic before rc.12 (due to
1ae223dfc0 (diff-ac5fc3f8b11df9fc948b8e5aa52a074e)
the background version check might never get executed since rc.12)
2018-11-12 14:24:41 +08:00
Amy
f99796e627 fix(preset): plugin invoke order don't sort by unicode order (#2656) 2018-10-09 16:59:15 +08:00
Evan You
f83f31a02e fix: fix local preset inference on Windows 2018-08-11 16:10:57 -04:00
Evan You
3b21fad868 feat: support generator.js and prompts.js in preset 2018-08-08 16:35:57 -04:00
Evan You
55d266ea30 chore: cli bare flag should take higher priority than preset 2018-08-03 11:47:00 -07:00
Evan You
c6ca93e0dd feat: support --bare flag when creating new projects
close #2030
2018-08-03 11:45:10 -07:00
Pavan Kumar Sunkara
17f37187f0 chore: Make the logging consistent and pretty (#1925) 2018-07-24 10:22:13 -04:00
Evan You
967f99abc0 fix(create): fix force git init 2018-07-20 10:33:18 -04:00
Haoqun Jiang
7e6c37c09b fix(create): fix shouldInitGit check (#1901)
Also improve skip git flag description (`--git false` -> `--no-git`)
2018-07-20 06:38:07 -07:00
Evan You
75eb5b1711 fix: plugin generator should be optional
close #1896
2018-07-19 18:14:56 -04:00
Serkan Yerşen
87a6272421 fix(create): prioritize preset name present in ~/.vuerc (#1874)
close #1871
2018-07-17 22:09:39 -04:00
Guillaume Chau
fde3c0ed2c fix: README.md not in initial commit, closes #1869 2018-07-16 22:39:11 +02:00
Guillaume Chau
08352811e0 feat: local service plugins, closes #1841 2018-07-13 17:39:07 +02:00
Guillaume Chau
8e5448c2dc refactor: hasProjectYarn & hasProjectGit 2018-07-05 11:11:48 +02:00
Arthur Denner
278e992fbf feat: Generating README.md (#1717)
* feat: Generating README.md based on the package.json

* refactor: Adding missing scripts, changing descriptions and improving code

* chore: Moving stopSpinner to correct position and adding comment

* chore: Changing description to script test:e2e

* refactor: Removing unnecessary `if`
2018-07-04 13:16:49 +02:00
Evan You
89a0e6561c fix: avoid util.promisify when resolving webpack.config.js
The file may be required by an IDE which uses an older version of Node.

close #1473
2018-06-05 09:47:36 -04:00
Guillaume Chau
e6e6e90dfa chore: merge dev 2018-05-18 23:52:25 +02:00
test
a1ccde8c2e fix: handle failed git commit
close #1306
2018-05-17 16:56:08 -04:00
Guillaume Chau
b6114d49c7 chore: merge dev 2018-05-12 04:33:14 +02:00
Evan You
d75ea99b25 feat: make it possible to opt-out of Babel
close #1199
2018-05-11 18:36:51 -04:00
Guillaume Chau
8bebef2309 chore: merge dev 2018-05-11 02:35:42 +02:00
Evan You
3dd38da1f5 feat: support { prompts: true } for preset plugins
close #952
2018-05-03 17:11:14 -04:00
Evan You
9ad4bb7a74 refactor: should resolve local json preset first 2018-05-03 16:40:45 -04:00
Derek Henscheid
9766db103f feat(cli): allow local .json files for presets (#1201)
close #1068
2018-05-03 15:52:57 -04:00
Guillaume Chau
3698378374 chore: merge dev 2018-05-03 15:58:14 +02:00
Evan You
ab90d50ef6 feat: default preset save to no
close #1212
2018-05-02 18:04:19 -04:00
Guillaume Chau
f674aa69c6 chore: merge dev 2018-04-28 15:33:24 +02:00
Evan You
c2aac9e4eb refactor: merge skipGit and initialCommit options 2018-04-27 13:08:21 -04:00
Evan You
23480ae8f5 feat(cli): skip git if already in a git repo, add --skipGit option
close #967
2018-04-27 12:03:23 -04:00
Derek Henscheid
11ccf64322 feat: support custom initial commit message (#1116) 2018-04-26 15:27:36 -04:00
Guillaume Chau
9f0eece1d1 feat(ui): Progress and Logs systems 2018-03-09 20:35:37 +01:00
Guillaume Chau
61655b14df feat(ui): Project creation working! 2018-03-07 19:17:27 +01:00
Guillaume Chau
971404e60d chore: merge dev 2018-03-07 14:23:47 +01:00
Evan You
08add21fe6 fix: fix @vue/cli-service initial version 2018-03-06 12:24:56 -05:00
Guillaume Chau
45e3c82f0a feat(ui): Preset tab 2018-03-05 23:53:46 +01:00
Evan You
bdce865e83 feat: allow specifying plugin versions in presets 2018-03-05 17:44:48 -05:00