Commit Graph

341 Commits

Author SHA1 Message Date
Haoqun Jiang
45cad0c7e3 fix: when executing multiple actions, only check git status once (#4332) 2019-07-22 22:19:10 +08:00
Haoqun Jiang
a1c88edce7 fix: require parent template after when condition evaluated as truthy (#4330)
fixes #4291
2019-07-22 20:58:06 +08:00
Pavan Kumar Sunkara
544faee81e feat: more flexible hook system for generators (#2337) 2019-07-21 19:59:18 +08:00
Haoqun Jiang
a1f13c7a05 fixup! chore: deprecate tslint (#4289) 2019-07-17 11:00:58 +08:00
Haoqun Jiang
debc3f19b2 fix: fix latest version check when current version is a prerelease (#4295) 2019-07-16 23:31:00 +08:00
Haoqun Jiang
44325fa16e chore: fix prompt message 2019-07-15 21:49:30 +08:00
Haoqun Jiang
53b3daf97f chore: deprecate tslint (#4289) 2019-07-15 21:48:51 +08:00
Haoqun Jiang
4af27247cc refactor: unify package manager related logic (#4256) 2019-07-13 00:29:39 +08:00
Haoqun Jiang
7fc0f842e8 feat!: confirm for uncommitted changes before add/invoke/upgrade (#4275) 2019-07-12 20:04:08 +08:00
Pavan Kumar Sunkara
362587a966 feat!: make vuex a separate plugin (#4242)
fixes #2335, #4024
2019-07-06 15:13:09 +08:00
Min ho Kim
c0aa2bb310 Fix typos (#4241) 2019-07-06 07:09:29 +03: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
9eadfe1eba test: fix cliServiceVersion for generator unit tests 2019-07-05 19:47:34 +08:00
Haoqun Jiang
867c6eaf2c feat!: redesigns vue upgrade, supports code migration (#4090) 2019-07-02 16:23:34 +08:00
Haoqun Jiang
273d05fe08 style: fix lint errors 2019-06-28 22:15:09 +08:00
James George
934746da7f chore: minor refactor (#4205)
eliminate redundancy
2019-06-28 21:58:34 +08:00
Haoqun Jiang
5460ca498f feat: add transformScript to GeneratorAPI (#4188) 2019-06-26 18:25:47 +08:00
Haoqun Jiang
77092b2223 feat: implement version-related APIs for GeneratorAPI (#4000)
closes #2336
2019-06-26 18:25:21 +08:00
Haoqun Jiang
af25ef75ce feat: make injectImports & injectRootOptions work for .vue files (#4168)
closes #1702
2019-06-21 17:20:53 +08:00
Haoqun Jiang
8283f46d0b fix: fix config merging during vue invoke in Node.js v12 (#4148)
The root cause here is the same as #4095
The failing `loadModule` call will return `undefined` for a js config
read operation, which later caused config being overwritten.
2019-06-15 13:23:05 +08:00
Haoqun Jiang
82dbbeb07a docs: add description of babel plugin usage in TS plugin prompt (#4046)
closes #3206
2019-05-25 23:00:55 +08:00
Haoqun Jiang
649b564feb chore: update isbinaryfile to 4.x 2019-05-22 16:52:16 +08:00
Haoqun Jiang
2e417b01d2 refactor: replace recast with jscodeshift for injectImportsAndOptions (#4003)
fixes #3309
2019-05-17 14:58:31 +08:00
Haoqun Jiang
f4e6c33044 chore!: default to dart sass for sass option of cssPreprocessor (#3921)
BREAKING CHANGE:
Preset generated before v3.4.0 may contain a `"cssPreprocessor": "sass"`
field. It now means dart-sass rather than node-sass.

`rootOptions.cssPreprocessor === 'sass'` now also means dart sass.
May affect those generator plugins who depends on this field
2019-04-30 23:33:37 +08:00
Haoqun Jiang
a6ceb8d0c1 feat: allow installing core plugins from next dist-tag 2019-04-30 22:48:50 +08:00
Haoqun Jiang
208a99728c fix: revert javascript-stringify to 1.x 2019-04-30 19:22:21 +08:00
Haoqun Jiang
a6fb9af614 fix: javascript-stringify v2 has changed its exports 2019-04-30 18:23:08 +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
1a72e995e8 fix: fix vue add/invoke bug when user does not have yarn installed (#3806)
closes #3804
2019-04-14 23:01:52 +08:00
Guillaume Chau
022e17da57 fix: --dev shouldn't try to load dev assets, closes #3802 2019-04-13 19:44:14 +02:00
Haoqun Jiang
095067e912 feat: generate .npmrc when using pnpm as package manager 2019-04-11 17:28:51 +08:00
Haoqun Jiang
6740ca363d fix: should add --shamefully-flatten for pnpm install 2019-04-11 16:38:59 +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
Haoqun Jiang
f1807fd304 Merge pull request #3743 from vuejs/next-minor
3.6
2019-04-11 09:26:12 +08:00
Steve Workman
f69339e816 feat: add makeJSOnlyValue to generator API (#3568)
Provides convenience method for passing JS into config files.
Closes issue #3535.
2019-04-09 19:54:17 +08:00
Guillaume Chau
3479f21f12 refactor(plugin): invoke is now done in child process (#3778) 2019-04-08 21:08:07 +02:00
Haoqun Jiang
cb113971e2 feat: do not write undefined fields to config files (#3643)
closes #3058
2019-04-09 00:49:12 +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
Barthélémy Ledoux
6e9ba9beb1 fix: add missing package keys to the sort array (issue #3509) (#3510) 2019-02-26 23:52:18 +08:00
Haoqun Jiang
6a750564a8 fix: should check yarn when no pacakage manager specified
(`shouldUseTaobao` is called without arguments in `getPackageVersion`)

fixes #3393
2019-01-31 14:40:13 +08:00
Haoqun Jiang
9c1e797ac6 feat: support dart-sass as default sass implementation (#3321) 2019-01-28 18:51:55 +08:00
musicq
5d1ab5fe9c refactor: check support package manager befor install (#3368) 2019-01-28 11:02:36 +08:00
Haoqun Jiang
108d8011b3 fix: fix injectImports when there's no pre-existing import declarations
closes #2925
2019-01-18 16:12:37 +08:00
Haoqun Jiang
ae2a9bc145 fix: fix typo 2018-12-04 20:51:57 +08: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
1f5f7c35e5 fix: fix cli version check cache 2018-11-30 01:55:06 +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
Brandon Yeager
42c51c0f62 fix: display project name validation warnings (#2769) 2018-11-26 12:44:06 +08:00
Haoqun Jiang
d1cd4aa6a2 fix: plugin.options can be missing when runGenerator is directly called
fixes #2906
2018-11-12 15:29:40 +08:00