The current cypress config has a global eslint-disable:
typescript
```
/* eslint-disable import/no-extraneous-dependencies, global-require, arrow-body-style */
// const webpack = require('@cypress/webpack-preprocessor')
```
But this assumes that `eslint-import-plugin` is present, whereas this is only true when the selected preset is the Airbnb one.
In other cases, this fails `yarn lint` right away with:
```
error: Definition for rule 'import/no-extraneous-dependencies' was not found (import/no-extraneous-dependencies) at tests/e2e/plugins/index.js```
Even if using the Airbnb preset, the comment does not have any effect, as, by default, the `require` call is commented.
This commit now splits the rules disabling in two:
- one commented for the people using Airbnb and who will uncomment the require call below, as it is only useful for them.
- one activated that disables `arrow-body-style` as it will fail the linting for people using Airbnb preset with the current config.
* fix(e2e-nightwatch): check for correct flag name
flag is documented as `--use-selenium` but we checked for `args['with-selenium']`
fix#5015
* test(e2e-nightwatch): selenium test
uses correct flag now
* Replace chalk.reset with stripAnsi
When logging multi-line logs, the logger uses chalk.reset in order to get the length of the tag for the log. This is to achieve an indented layout of multi-line logs. chalk.reset only replaces styles such as bold and italic, not color. When the tag contains colors, the result is not pretty. Replacing with stripAnsi gets the intended result.
* Adds reference to strip-ansi
* Removes misplaces comma from package.json
* Removes extraneous semicolon
Add missing `cli-ui/` dependencies that overlap with the root`/package.json`. Although `cli-ui/` does work if `yarn install` has been run at the root directory, `cli-ui/package.json` is an incomplete specification.
* fix(lib): replace "url" module with simple string split (close#4667)
Fixes issue #4667 by implementing the proposal https://github.com/vuejs/vue-cli/issues/4667#issuecomment-548464520
Also gets rid of a node module by using simpler code for removing eventual GET parameters
* Update packages/@vue/cli-service/lib/commands/build/formatStats.js
Co-Authored-By: Haoqun Jiang <haoqunjiang@gmail.com>
* refactor: use babel overrides to transpile babel runtime helpers
As recommended in babel/babel#9903.
Get rid of the module-resolver plugin, may fix#3928.
Seems to have fixed#4742 as well.
There may be a small breaking change: as we now use `excludes` & `includes`, babel requires `filename` option to be present (introduced in https://github.com/babel/babel/pull/10181/files). So users who call `babel.transformSync` directly may encounter an error.
However, as we explicitly stated that this preset is only used for Vue CLI internally, I don't expect too many such use cases there. And the error messages are clear enough.
Considering the benefits that this PR brings, I think it's an acceptable tradeoff.
test: update tests for babel
* test: fix windows tests
* test: remove unused variables
* fix: fix scope package paths on Windows
* test: wait some time in router tests in case dom hasn't updated in time
* Enforces require.resolve for loaders
* Updates the lockfile
* Fixes more things
* Adds an extra check
* test(loaders): fix the tests
* style(cli): fix the linting
* style(cli): fix the linting (on windows)
* Update package.json
* Updates the lockfile
* chore: sync dependency versions
* chore: sync dependency versions
* chore: don't introduce unnecessary changes in yarn.lock
* extraneous space
* feat: support binary mirrors for taobao registry
fixes issues like #4718
* fix: only install cypress 3, for now
* fix: do not override user defined `CYPRESS_INSTALL_BINARY` env