profile
viewpoint

sodatea/front-end-interview-questions-and-answers 10

Interview Questions & Answers

sodatea/cc98-ionic 4

A third-party client app for http://www.cc98.org/, powered by ionic framework

sodatea/hexo-theme-sleepless 4

A fork of the "apollo" hexo theme by pinggod

sodatea/blog 3

Hexo source for my personal blog: https://sodatea.github.io

sodatea/cc98-userscripts 3

userscripts for cc98

sodatea/fe-dotfiles 3

A collection of front-end project configurations

sodatea/eslint-config-soda 2

ESLint configurations for my personal projects

sodatea/friendly-errors-webpack-plugin 2

Recognizes certain classes of webpack errors and cleans, aggregates and prioritizes them to provide a better Developer Experience.

sodatea/less-plugin-auto-import-encoding 2

(DEPRECATED. See README for more information.) A less plugin to fix encoding issues when importing from files with different encodings

sodatea/apollo-client 1

:rocket: A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server

issue commentvuejs/vue-cli

typscript does not detect errors in .vue files

Please use vti for type checking in .vue files. See https://github.com/vuejs/vetur/issues/1635

Maybe we need to document this somewhere.

RobertOrthofer

comment created time in 12 hours

push eventvuejs/composition-api

Haoqun Jiang

commit sha ea48e3eb2eb062ff2292712f96856f94af89f0ea

chore: changelog for 0.4.0

view details

push time in 15 hours

release vuejs/composition-api

v0.4.0

released time in 15 hours

push eventvuejs/composition-api

Haoqun Jiang

commit sha 5961705fc0ba387644ddc3c33ad0b42de785b53e

build: release 0.4.0

view details

push time in 16 hours

created tagvuejs/composition-api

tagv0.4.0

Vue2 plugin for the Composition API.

created time in 16 hours

Pull request review commentvuejs/composition-api

Handle non-reactive nulls (#231)

 export function def(obj: Object, key: string, val: any, enumerable?: boolean) {   }); } -const hasOwnProperty = Object.prototype.hasOwnProperty; export function hasOwn(obj: Object | any[], key: string): boolean {-  return hasOwnProperty.call(obj, key);+  return obj !== null && Object.hasOwnProperty.call(obj, key);

Better to do the obj !== null test in the isReactive function. And change the obj: Object to obj: object, to make the code clearer.

coolhome

comment created time in 16 hours

issue commentvuejs/composition-api

Method context dependent on parentheses use

Well, after further investigation, there's a subtle difference between the runtime-compiled version of the template and the pre-compiled version. So now I'm not sure which is the intended behavior.

We might need to discuss this issue in the vue-next repo first.

doman412

comment created time in 17 hours

issue commentvuejs/composition-api

Method context dependent on parentheses use

I agree.

And according to the current implementation in the vue-next repo, methods returned in setup are bound to the component instance. So it makes sense to do so in this package too.

doman412

comment created time in 18 hours

Pull request review commentvuejs/composition-api

fix(types): Function PropType (#208)

-import { createComponent, createElement as h, ref, SetupContext } from '../../src';+import { createComponent, createElement as h, ref, SetupContext, PropType } from '../../src'; import Router from 'vue-router';  const Vue = require('vue/dist/vue.common.js'); -type Equal<Left, Right> = (<U>() => U extends Left ? 1 : 0) extends (<U>() => U extends Right-  ? 1-  : 0)+type Equal<Left, Right> = (<U>() => U extends Left ? 1 : 0) extends <U>() => U extends Right ? 1 : 0

Would you please revert this style change? IMHO the code is more readable with parentheses.

genie-youn

comment created time in 19 hours

delete branch vuejs/composition-api

delete branch : chore/remove-node-8

delete time in a day

push eventvuejs/composition-api

Eduardo San Martin Morote

commit sha 16f99c41aee92fa972dc0d320232460cbf4bb078

ci: remove node 8 (#256)

view details

push time in a day

PR merged vuejs/composition-api

chore: remove node 8

Removing node 8 since it's not longer supported

+1 -1

0 comment

1 changed file

posva

pr closed time in a day

delete branch vuejs/composition-api

delete branch : issue-178_fix_deactivated_hook

delete time in a day

push eventvuejs/composition-api

Thorsten Lünborg

commit sha 42c582af91b0d8b07c995b4444445a97047adb84

fix(lifecycle): deactivated should not run on unmounted lifecycle (#217) close #178

view details

push time in a day

issue closedvuejs/composition-api

onUnmounted called in keep-alive components

When using keep-alive there does not seem to be a way to trigger something on destroyed. onUnmounted gets called every time I navigate away from that component, even though the component persists due to keep-alive. onDestroyed does not exist in the composition API. An oversight ? (edit) It is a nested component within other tabs that do not have keep-alive. I assumed in this case nested childs will get destroyed when navigating away from the parent component. I guess that isn't the case and so there is no need for an onDestroyed.

closed time in a day

doncatnip

push eventvuejs/composition-api

Cédric Exbrayat

commit sha 3463fbc7356dd43de00c0fb7d39a385089eeed8f

refactor: rename createComponent as defineComponent (#230) Since Vue `3.0.0-alpha.1`, `createComponent` has been renamed `defineComponent`. See https://github.com/vuejs/vue-next/commit/1c4cdd841daa2ba9c1ec35068c92f1ae776cacea

view details

push time in a day

PR merged vuejs/composition-api

refactor: rename createComponent as defineComponent

Since Vue 3.0.0-alpha.1, createComponent has been renamed defineComponent. See https://github.com/vuejs/vue-next/commit/1c4cdd841daa2ba9c1ec35068c92f1ae776cacea

+94 -27

4 comments

11 changed files

cexbrayat

pr closed time in a day

push eventvuejs/regression-testing

Vue Regression Bot

commit sha e126f01f3d31b47d6f7fc093a555adb2953dd9d5

update vue from circleci

view details

push time in 2 days

pull request commentvuejs/composition-api

refactor: rename createComponent as defineComponent

Could you please fix the merge conflicts to reflect the changes added in https://github.com/vuejs/composition-api/pull/189?

cexbrayat

comment created time in 2 days

push eventvuejs/composition-api

Katashin

commit sha 1b58a6745836deff1b0dd60715cfe1331e5d0ff4

fix: avoid accessing undeclared instance fields on type level (#189) * fix: avoid accessing undeclared instance fields on type level * fix: inherit vue constructor type for constructor proxy fix #187 fix #185

view details

push time in 2 days

issue closedvuejs/composition-api

vue-router doesn't accept components created with createComponent()

I pushed a test case to a new repo here

Steps to reproduce this repo:

  1. Create a new repo with vue-cli 3. My version was 3.12.1.
  2. Accept defaults (router, typescript).
  3. yarn add @vue/composition-api
  4. Edit Home.vue to use createComponent()
  5. Typescript starts erroring out during type checking:

Error message:

    13 | export default createComponent({
    14 |   components: {
ERROR in /home/mason/dev/vue-rtc/vue-rtc/src/router.ts
7:27 Argument of type '{ mode: "history"; base: any; routes: ({ path: string; name: string; component: VueProxy<ComponentPropsOptions<Data>, Data>; } | { path: string; name: string; component: () => Promise<...>; })[]; }' is not assignable to parameter of
 type 'RouterOptions'.
  Types of property 'routes' are incompatible.
    Type '({ path: string; name: string; component: VueProxy<ComponentPropsOptions<Data>, Data>; } | { path: string; name: string; component: () => Promise<typeof import("/home/mason/dev/vue-rtc/vue-rtc/src/views/About.vue")>; })[]' is not assignable to t
ype 'RouteConfig[]'.
      Type '{ path: string; name: string; component: VueProxy<ComponentPropsOptions<Data>, Data>; } | { path: string; name: string; component: () => Promise<typeof import("/home/mason/dev/vue-rtc/vue-rtc/src/views/About.vue")>; }' is not assignable to typ
e 'RouteConfig'.
        Type '{ path: string; name: string; component: VueProxy<ComponentPropsOptions<Data>, Data>; }' is not assignable to type 'RouteConfig'.
          Types of property 'component' are incompatible.
            Type 'VueProxy<ComponentPropsOptions<Data>, Data>' is not assignable to type 'VueConstructor<Vue> | ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<...>, Record<...>> | AsyncComponentPromise<...> |
 AsyncComponentFactory<...> | undefined'.
              Type 'ComponentOptions<Vue, { [x: string]: unknown; }, never, never, ComponentPropsOptions<Data>, ExtractPropTypes<ComponentPropsOptions<Data>, false>> & VueConstructorProxy<...>' is missing the following properties from type 'VueConstructor
<Vue>': extend, nextTick, set, delete, and 9 more.
     5 | Vue.use(Router);
     6 | 
  >  7 | export default new Router({
       |                           ^
     8 |   mode: 'history',
     9 |   base: process.env.BASE_URL,
    10 |   routes: [

closed time in 2 days

masonk

PR merged vuejs/composition-api

Reviewers
fix: avoid accessing undeclared instance fields on type level

fix #187

As never is bottom type, ExtractPropTypes<never> is resolved as a type that accepts any field access:

ExtractPropTypes<never> = {
    readonly [x: string]: undefined;
    readonly [x: number]: undefined;
}

which is included in intersections of ComponentRenderProxy type, consists of VueProxy instance type.

The default type of Props seems to be unknown. As it is top type, ExtractPropTypes<unknown> will be {} which is expected type in this case.

+6 -6

3 comments

2 changed files

ktsn

pr closed time in 2 days

issue closedvuejs/composition-api

Instance type of VueProxy allows any field access when props is not specified

version: 0.3.2

Reproduction

https://codesandbox.io/s/vuecomposition-api-type-issue-dc492

Expected Behavior

comp.foo should be error as there are no field type foo in the component.

Actual Behavior

No error is provided.


This behavior would be a problem if the users enable template type checking which Vetur offers. As Vetur uses component instance type to check expression, it cannot provide diagnostic message even if an accessed field is defined on the component.

closed time in 2 days

ktsn

pull request commentvuejs/vue-cli

更新部署文档,添加docker(nginx)翻译

感谢你的帮助! 很抱歉之前没能及时回复,现在这块内容已经在 https://github.com/vuejs/vue-cli/pull/4486 里被一并翻译了,所以我需要把这个 PR 关掉了。再次感谢!

buyixiaojiang

comment created time in 2 days

push eventvuejs/vue-cli

Xiao Haiping

commit sha efbc20c67616e116b6d82dadbebd3e5eb768f00d

docs(zh): Update now 404 url (#5141) ref to en docs

view details

push time in 2 days

PR merged vuejs/vue-cli

docs(zh): Update now 404 url PR: Documentation

ref to en docs

<!-- Please don't delete this template -->

<!-- PULL REQUEST TEMPLATE --> <!-- (Update "[ ]" to "[x]" to check a box) -->

What kind of change does this PR introduce? (check at least one)

  • [ ] Bugfix
  • [ ] Feature
  • [ ] Code style update
  • [ ] Refactor
  • [x] Docs
  • [ ] Underlying tools
  • [ ] Other, please describe:

<!-- Note: When submitting documentation PRs, please target the master branch (https://cli.vuejs.org) or next branch (https://next.cli.vuejs.org) When submitting coding PRs, please target the dev branch. -->

Does this PR introduce a breaking change? (check one)

  • [ ] Yes
  • [x] No

Other information:

+1 -1

0 comment

1 changed file

xiaohp

pr closed time in 2 days

push eventvuejs/vue-cli

James George

commit sha 1423553a6d38212f9d9ed33f4bb375aa707e07bb

chore: Minor typographical fix (#5189) * chore: typographical fix * chore: update test

view details

push time in 3 days

PR merged vuejs/vue-cli

chore: Minor typographical fix

<!-- Please don't delete this template -->

<!-- PULL REQUEST TEMPLATE --> <!-- (Update "[ ]" to "[x]" to check a box) -->

What kind of change does this PR introduce? (check at least one)

  • [ ] Bugfix
  • [ ] Feature
  • [ ] Code style update
  • [ ] Refactor
  • [ ] Docs
  • [ ] Underlying tools
  • [x] Other, please describe: Fixed a typo.

<!-- Note: When submitting documentation PRs, please target the master branch (https://cli.vuejs.org) or next branch (https://next.cli.vuejs.org) When submitting coding PRs, please target the dev branch. -->

Does this PR introduce a breaking change? (check one)

  • [ ] Yes
  • [x] No

Other information: N/A

+3 -3

0 comment

2 changed files

jamesgeorge007

pr closed time in 3 days

pull request commentvuejs/vue-cli

feat: use @vue/compiler-sfc as a compiler for TS if available

All it needs is a path to a file that exports the parseComponent API, which can be implemented by wrapping around the @vue/compiler-sfc public API. https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/blob/5008da9f4bd732bf70cfae0e187e4e4ecc95dfd1/src/VueProgram.ts#L303-L323

cexbrayat

comment created time in 3 days

pull request commentvuejs/vue-cli

feat: use @vue/compiler-sfc as a compiler for TS if available

I think we can just add a file that shims the compiler API add pass it to the fork-ts-checker-webpack-plugin.

cexbrayat

comment created time in 3 days

issue commentvuejs/vue-cli

vue-cli-service: not found inside Docker

Considering this issue does not happen on macOS, this might be a bug in Docker for Windows. And the most recent release notes cited a lot of volume-related bugs (https://docs.docker.com/docker-for-windows/release-notes/), would you please upgrade Docker for Windows to the latest and try again?

fuad008

comment created time in 3 days

PR closed vuejs/vue-loader

Reviewers
chore: update memfs to the latest release

v3.0.5

+11 -112

3 comments

2 changed files

jamesgeorge007

pr closed time in 3 days

pull request commentvuejs/vue-loader

chore: update memfs to the latest release

Well, we do manual dependency maintenance in the main repo from time to time (and in a batch). So it's not necessary to open a PR for it.

It's recommended to only open a PR for a dependency update if:

  1. it is a major version bump;
  2. it fixes critical security vulnerabilities;
jamesgeorge007

comment created time in 3 days

issue closedvuejs/eslint-config-standard

Error: Cannot find module '@vue/cli-service/webpack.config.js'

What version of this package are you using? v5.1.1

What operating system, Node.js, and npm version? Ubuntu v18.04 Node v12.16.0 Yarn 1.21.1

What happened? Updated packages and get the following when eslint is run:

Module Warning (from ./node_modules/eslint-loader/dist/cjs.js):
Cannot read config file: /home/intelliview/git/projects/NewCode/System_Console/projects/web/src/client/node_modules/@vue/eslint-config-standard/index.js
Error: Cannot find module '@vue/cli-service/webpack.config.js'
Require stack:
- /home/intelliview/git/projects/NewCode/System_Console/projects/web/src/client/node_modules/@vue/eslint-config-standard/index.js
- /home/intelliview/git/projects/NewCode/System_Console/projects/web/src/client/node_modules/eslint/lib/cli-engine/config-array-factory.js
- /home/intelliview/git/projects/NewCode/System_Console/projects/web/src/client/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js
- /home/intelliview/git/projects/NewCode/System_Console/projects/web/src/client/node_modules/eslint/lib/cli-engine/cli-engine.js
- /home/intelliview/git/projects/NewCode/System_Console/projects/web/src/client/node_modules/eslint/lib/cli-engine/index.js
- /home/intelliview/git/projects/NewCode/System_Console/projects/web/src/client/node_modules/eslint/lib/api.js

What did you expect to happen? No issues for lack of finding a config file. It appears to be looking for '@vue/cli-service/webpack.config.js'. Was this always the case or a breaking change?? We are trying to get a build done at work and now cannot.

We tried installing:

yarn add -D @vue/cli-service

As much as we'd like Vue eslinting, it appears we'll be forced to remove.

I believe this line: https://github.com/vuejs/eslint-config-standard/commit/f78b634fc8c5526cb9d01b4861e1f52c560257d2#diff-168726dbe96b3ce427e7fedce31bb0bcR10

Assumes that all Vue projects are using the Vue CLI. I believe you have broken all the Quasar Framework projects out there.

closed time in 4 days

hawkeye64
CommitCommentEvent

release vuejs/eslint-config-standard

v5.1.2

released time in 4 days

push eventvuejs/eslint-config-standard

Haoqun Jiang

commit sha 3276eae73010ecc62fd547ec6d72a3d560faa6d6

fix: @vue/cli-service can be an optional peer dependency

view details

Haoqun Jiang

commit sha 4b13e72574e2c42061220265e510ebfb3576dfea

5.1.2

view details

push time in 4 days

created tagvuejs/eslint-config-standard

tagv5.1.2

eslint-config-standard for vue-cli

created time in 4 days

issue commentvuejs/vue-cli

vue-cli-service test:e2e won't work

Please provide the error log of npm run test:e2e.

The error log in the original post doesn't look right unless your project locates under /usr/local/lib, which, typically, is the place where npm installs its global packages.

Plus, the reproduction repo isn't even runnable.

mg98

comment created time in 5 days

PR closed vuejs/vue-cli

Reviewers
fix: prevent mixing up of lock files

<!-- Please don't delete this template -->

<!-- PULL REQUEST TEMPLATE --> <!-- (Update "[ ]" to "[x]" to check a box) -->

What kind of change does this PR introduce? (check at least one)

  • [x] Bugfix
  • [ ] Feature
  • [ ] Code style update
  • [ ] Refactor
  • [ ] Docs
  • [x] Underlying tools
  • [ ] Other, please describe:

It is likely that people might use npm to install dependencies and commit package-lock.json while opening a PR. Ignore package-lock to avoid mixing up of lock files. <!-- Note: When submitting documentation PRs, please target the master branch (https://cli.vuejs.org) or next branch (https://next.cli.vuejs.org) When submitting coding PRs, please target the dev branch. -->

Does this PR introduce a breaking change? (check one)

  • [ ] Yes
  • [x] No

Other information: N/A

+2 -0

1 comment

2 changed files

jamesgeorge007

pr closed time in 6 days

pull request commentvuejs/vue-cli

fix: prevent mixing up of lock files

I don't think we need this. It's already very clear that the project is developed with lerna and yarn, and you can only bootstrap the project with yarn.

jamesgeorge007

comment created time in 6 days

push eventvuejs/vue-cli

James George

commit sha 130bcfb730a86ceb6cef8219c665c34c3ff7f207

chore: switch over to leven for command suggestion (#5166) * chore: switch to leven * chore: update lock file * chore: iterate through all the available commands and find closest match * chore: update yarn.lock * fix: lint * chore: find the best possible match

view details

push time in 6 days

PR merged vuejs/vue-cli

chore: switch over to leven for command suggestion PR: Internal

<!-- Please don't delete this template -->

<!-- PULL REQUEST TEMPLATE --> <!-- (Update "[ ]" to "[x]" to check a box) -->

What kind of change does this PR introduce? (check at least one)

  • [ ] Bugfix
  • [ ] Feature
  • [ ] Code style update
  • [x] Refactor
  • [ ] Docs
  • [ ] Underlying tools
  • [ ] Other, please describe:

closes #5164 <!-- Note: When submitting documentation PRs, please target the master branch (https://cli.vuejs.org) or next branch (https://next.cli.vuejs.org) When submitting coding PRs, please target the dev branch. -->

Does this PR introduce a breaking change? (check one)

  • [ ] Yes
  • [x] No

Other information: N/A

+13 -21

4 comments

3 changed files

jamesgeorge007

pr closed time in 6 days

issue closedvuejs/vue-cli

Switch over to leven for command suggestion

What problem does this feature solve?

As of now didyoumean.js matching engine is used to suggest matching commands if the user mistypes. But it is not longer actively maintained. Instead I would suggest switching over to leven which is the fastest JS implementation of the Levenshtein distance algorithm.

What does the proposed API look like?

leven returns the distance between 2 strings which can be made use of to find the exact match.

<!-- generated by vue-issues. DO NOT REMOVE -->

closed time in 6 days

jamesgeorge007

pull request commentvuejs/jsx

Feature/custom component prefix on

Thanks for the PR! Could you please also add some tests to this fix?

CntChen

comment created time in 6 days

Pull request review commentvuejs/jsx

Feature/custom component prefix on

 const parseAttributeJSXAttribute = (t, path, attributes, tagName, elementType) =     ;[name, argument] = name.split(':')    prefix = prefixes.find(el => name.startsWith(el)) || 'attrs'++  // For custom components(which tag name is not html tag), event binding need to use `nativeOn` but not `on`+  // `on` prefix should transform to `attrs`+  if (!htmlTags.includes(tagName) && prefix === 'on') {+    prefix = 'attrs'+  }+   name = name.replace(new RegExp(`^${prefix}\-?`), '')-  name = name[0].toLowerCase() + name.substr(1)++  // in jsx, event binding use Camel case, such as `onClick`, `onMouseDown`;+  // in HTML Specification, event binding is all lower case, such as `onclick`, `onmousedown`+  // so for `on` and `nativeOn` attribute in jsx, transform `name` to all lower case

But camel case is allowed in Vue.js, though not preferred https://vuejs.org/v2/guide/components-custom-events.html#Event-Names

CntChen

comment created time in 6 days

Pull request review commentvuejs/vue-cli

chore: switch over to leven for command suggestion

 if (!process.argv.slice(2).length) { function suggestCommands (unknownCommand) {   const availableCommands = program.commands.map(cmd => cmd._name) -  const suggestion = didYouMean(unknownCommand, availableCommands)+  let suggestion++  availableCommands.forEach(cmd => {+    if (leven(cmd, unknownCommand) < 3) {
    if (leven(cmd, unknownCommand) < 3 && leven(cmd, unknownCommand) < leven(suggestion || '', unknwonCommand)) {

(Of course, you can also memoize the result of leven(suggestion || '', unknwonCommand) to a variable to make the code cleaner. But that's the basic idea.

jamesgeorge007

comment created time in 6 days

push eventvuejs/jsx

Haoqun Jiang

commit sha 4f4f7798de7652da5ad5ae9659f185384f1dc521

chore: 1.1.2 changelog [ci skip]

view details

push time in 6 days

Pull request review commentvuejs/vue-cli

chore: switch over to leven for command suggestion

 if (!process.argv.slice(2).length) { function suggestCommands (unknownCommand) {   const availableCommands = program.commands.map(cmd => cmd._name) -  const suggestion = didYouMean(unknownCommand, availableCommands)+  let suggestion++  availableCommands.forEach(cmd => {+    if (leven(cmd, unknownCommand) < 3) {+      suggestion = cmd

"Closest" doesn't mean less than a certain threshold. It means the distance is the smallest. So I have suggested to "compare" and "sort" the distances.

jamesgeorge007

comment created time in 6 days

pull request commentvuejs/vue-cli

chore: switch over to leven for command suggestion

The ideal algorithm is to find the closest command, regardless of the distance. (You can set a threshold to stop suggesting when even the closest command is too unrelated, though)

jamesgeorge007

comment created time in 6 days

pull request commentvuejs/vue-cli

chore: switch over to leven for command suggestion

But it's not the best fix

jamesgeorge007

comment created time in 6 days

issue closedvuejs/vue-cli

vue-cli-service test:e2e won't work

Version

4.2.2

Reproduction link

https://github.com/mg98/Minimal-Reproduction-for-Issue

Environment info

Environment Info:

  System:
    OS: macOS 10.15.2
    CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
  Binaries:
    Node: 13.7.0 - /usr/local/bin/node
    Yarn: 1.21.1 - /usr/local/bin/yarn
    npm: 6.13.6 - /usr/local/bin/npm
  Browsers:
    Chrome: 79.0.3945.130
    Firefox: 72.0.2
    Safari: 13.0.4
  npmPackages:
    @chenfengyuan/vue-countdown: ^1.1.4 => 1.1.4 
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0 
    @vue/babel-plugin-transform-vue-jsx:  1.1.2 
    @vue/babel-preset-app:  4.1.2 
    @vue/babel-preset-jsx:  1.1.2 
    @vue/babel-sugar-functional-vue:  1.1.2 
    @vue/babel-sugar-inject-h:  1.1.2 
    @vue/babel-sugar-v-model:  1.1.2 
    @vue/babel-sugar-v-on:  1.1.2 
    @vue/cli-overlay:  4.1.2 
    @vue/cli-plugin-babel: ^4.1.2 => 4.1.2 
    @vue/cli-plugin-e2e-cypress: ^4.2.2 => 4.2.2 
    @vue/cli-plugin-eslint: ^4.1.2 => 4.1.2 
    @vue/cli-plugin-router:  4.1.2 
    @vue/cli-plugin-unit-mocha: ^4.1.2 => 4.1.2 
    @vue/cli-plugin-vuex:  4.1.2 
    @vue/cli-service: ^4.1.2 => 4.1.2 
    @vue/cli-shared-utils:  4.1.2 (4.2.2)
    @vue/component-compiler-utils:  3.1.1 
    @vue/preload-webpack-plugin:  1.1.1 
    @vue/test-utils: 1.0.0-beta.29 => 1.0.0-beta.29 
    @vue/web-component-wrapper:  1.2.0 
    babel-helper-vue-jsx-merge-props:  2.0.3 
    eslint-plugin-vue: ^6.1.2 => 6.1.2 
    typescript:  3.7.2 
    vue: ^2.6.11 => 2.6.11 (2.3.3)
    vue-acl: 4.1.7 => 4.1.7 
    vue-apexcharts: ^1.5.1 => 1.5.1 
    vue-apollo: ^3.0.2 => 3.0.2 
    vue-awesome-swiper: ^3.1.3 => 3.1.3 
    vue-backtotop: ^1.6.1 => 1.6.1 
    vue-class-component:  7.1.0 
    vue-cli-plugin-apollo: ^0.21.3 => 0.21.3 
    vue-clickaway:  2.2.2 
    vue-clipboard2: ^0.3.1 => 0.3.1 
    vue-context: ^5.0.0 => 5.0.0 
    vue-echarts: ^4.1.0 => 4.1.0 
    vue-eslint-parser:  2.0.3 (7.0.0)
    vue-feather-icons: ^5.0.0 => 5.0.0 
    vue-flatpickr-component: ^8.1.5 => 8.1.5 
    vue-form-wizard: ^0.8.4 => 0.8.4 
    vue-fullcalendar: ^1.0.9 => 1.0.9 
    vue-hot-reload-api:  2.3.4 
    vue-i18n: ^8.15.3 => 8.15.3 
    vue-instantsearch: ^2.6.0 => 2.6.0 
    vue-loader:  15.8.3 
    vue-perfect-scrollbar: ^0.2.1 => 0.2.1 
    vue-prism-component: ^1.1.1 => 1.1.1 
    vue-property-decorator: ^8.3.0 => 8.3.0 
    vue-quill-editor: ^3.0.6 => 3.0.6 
    vue-router: ^3.1.3 => 3.1.3 
    vue-select: ^3.4.0 => 3.4.0 
    vue-simple-calendar: ^4.3.2 => 4.3.2 
    vue-simple-suggest: ^1.10.1 => 1.10.1 
    vue-star-rating: ^1.6.1 => 1.6.1 
    vue-style-loader:  4.1.2 
    vue-template-compiler: ^2.6.11 => 2.6.11 
    vue-template-es2015-compiler:  1.9.1 
    vue-tour: ^1.2.0 => 1.2.0 
    vue-tree-halower: ^1.8.3 => 1.8.3 
    vue-video-player: ^5.0.2 => 5.0.2 
    vue2-google-maps: ^0.10.7 => 0.10.7 
    vue2-hammer: ^2.1.2 => 2.1.2 
    vuecode.js: 0.0.27 => 0.0.27 
    vuedraggable: ^2.23.2 => 2.23.2 
    vuejs-datepicker: ^1.6.2 => 1.6.2 
    vuelidate: ^0.7.4 => 0.7.4 
    vuesax: ^3.11.5 => 3.11.5 
    vuex: ^3.1.2 => 3.1.2 
  npmGlobalPackages:
    @vue/cli: 4.1.1

Steps to reproduce

Run vue-cli-service test:e2e.

What is expected?

Cypress e2e tests should run in headless mode.

What is actually happening?

I am getting this error message:

internal/modules/cjs/loader.js:983
  throw err;
  ^

Error: Cannot find module '@vue/cli-plugin-e2e-cypress'
Require stack:
- /usr/local/lib/node_modules/@vue/cli-service/lib/Service.js
- /usr/local/lib/node_modules/@vue/cli-service/bin/vue-cli-service.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15)
    at Function.Module._load (internal/modules/cjs/loader.js:862:27)
    at Module.require (internal/modules/cjs/loader.js:1040:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at idToPlugin (/usr/local/lib/node_modules/@vue/cli-service/lib/Service.js:150:14)
    at /usr/local/lib/node_modules/@vue/cli-service/lib/Service.js:189:20
    at Array.map (<anonymous>)
    at Service.resolvePlugins (/usr/local/lib/node_modules/@vue/cli-service/lib/Service.js:175:10)
    at new Service (/usr/local/lib/node_modules/@vue/cli-service/lib/Service.js:34:25)
    at Object.<anonymous> (/usr/local/lib/node_modules/@vue/cli-service/bin/vue-cli-service.js:16:17) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/local/lib/node_modules/@vue/cli-service/lib/Service.js',
    '/usr/local/lib/node_modules/@vue/cli-service/bin/vue-cli-service.js'
  ]
}

It is actually working with command cypress run and I would have expected the vue cli command to do the same.

<!-- generated by vue-issues. DO NOT REMOVE -->

closed time in 6 days

mg98

issue commentvuejs/vue-cli

vue-cli-service test:e2e won't work

It's npm run test:e2e.

Seems you mistakenly installed the @vue/cli-service package globally and ran the wrong command.

mg98

comment created time in 6 days

pull request commentvuejs/vue-cli

chore: switch over to leven for command suggestion

Just try the two commands: vue infi and vue iniy Should return vue info and vue init respectively.

jamesgeorge007

comment created time in 6 days

Pull request review commentvuejs/vue-cli

chore: switch over to leven for command suggestion

 if (!process.argv.slice(2).length) { function suggestCommands (unknownCommand) {   const availableCommands = program.commands.map(cmd => cmd._name) -  const suggestion = didYouMean(unknownCommand, availableCommands)+  let suggestion++  availableCommands.forEach(cmd => {+    if (leven(cmd, unknownCommand) < 3) {+      suggestion = cmd

You still didn't compare two possible suggestions.

jamesgeorge007

comment created time in 6 days

PR opened vuejs/vue-class-component

chore: add vue to peerDependencies

For Yarn 2 compatibility.

+3 -0

0 comment

1 changed file

pr created time in 6 days

create barnchsodatea/vue-class-component

branch : vue-as-peer-dep

created branch time in 6 days

push eventsodatea/vue-class-component

katashin

commit sha e80a44b8b8e1a905da760cb01f5e315cf9e1ef7f

fix: fix checking Reflect existance (#284)

view details

ktsn

commit sha 65323a795aa172430e3e414db86ab4c8a3449f2e

[build] 6.3.1

view details

ktsn

commit sha 2700300657d2ba379129c4b0a4b415836765b6c2

[release] 6.3.1

view details

ktsn

commit sha ca460c6fff2c9698c024d817eae8483b58a67f4e

fix: fix incorrect Reflect checking

view details

ktsn

commit sha 9ad0a958e2e819379c74919cc692dac839888329

[build] 6.3.2

view details

ktsn

commit sha 29e9c7925a8e6f958f2a28fb86f9a8ea4d9e0890

[release] 6.3.2

view details

Jonas Pauthier

commit sha 7ecde38fd4f84c70190eccfb2f1c1e5546f2a3a1

Fix README mixin usage (#292) The mixin is exported as a named export but used as a default export.

view details

Christian Kienle

commit sha 3bde069d495416398cb2daeea59144b6a26eeb35

fix: adds check for Reflect. Reflect.getOwnMetadataKeys (#305)

view details

Henry Millison

commit sha 80b7b40869d8a52f451d28bf9f10a2f29c8fe102

[feat] Add serverPrefetch method from Vue 2.6 (#312)

view details

ktsn

commit sha 9b0dbdf4acac3ba1165c2b88dff707c671a54925

7.0.0

view details

ktsn

commit sha c5b899f19578400dd8f254831d573deb40842c20

[build] 7.0.1

view details

ktsn

commit sha 221912562ca4e351e97f13da1673b8368f1e2e87

[release] 7.0.1

view details

Myth

commit sha d024dcce0e0f0e25d472177f0d1c5d8d3dd02f6e

fix: browser compatibility issues (#319) * fix: browser compatibility issues * style: removed the quotes * fix: updated comment

view details

ktsn

commit sha 7d756041c7e8d84327c7c8ca8f44cd4ed3660e68

[build] 7.0.2

view details

ktsn

commit sha 075b61f6ab4a940c952136fed4b6ef72fe26f58c

[release] 7.0.2

view details

gmoneh

commit sha b396d92c29ee024b9753ea44df2db9abda9f3ef5

feat: build output ES6 module version (#328)

view details

ktsn

commit sha 126e226876dd68a9650a1809cf1c283a79fe3946

[build] 7.1.0

view details

ktsn

commit sha 8d464072cb012e49e1648bbfd8c9361e119a3760

[release] 7.1.0

view details

TaroSunn

commit sha fa148fe3d29cd7a4ccde08a8039383ca99ef1840

docs: Update README.md (#346) Fix spelling mistake

view details

green8ball

commit sha 14b3bba0d0a76a3bf1c3f886c2d8f61e413ac9a4

docs: Typo on line 149 (#362) "provides" has an extraneous s.

view details

push time in 6 days

issue commentvuejs/vue-cli

Supporting dynamic load multi projects

I'm not sure if I understand correctly. But I think we don't need to "test" the task. Just serve the whole project and prompt. Because the user might not want to opt-in this feature (e.g. when they want to show the demo pages to clients).

zhazhaxia

comment created time in 6 days

issue closedvuejs/vue-cli

vue create npm ERR! 404 Not Found - GET https://registry.npmjs.org/error-ex

Version

4.2.1

Environment info

Windows 10

Steps to reproduce

create a new project

What is expected?

Below error comes when creating a new project

What is actually happening?

Vue CLI v4.1.2
✨  Creating project in C:\Users\dany\Desktop\hello2.
🗃  Initializing git repository...
⚙  Installing CLI plugins. This might take a while...

npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/error-ex
npm ERR! 404
npm ERR! 404  'error-ex@^1.3.1' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of 'parse-json'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\dany\AppData\Roaming\npm-cache\_logs\2020-02-12T12_57_45_506Z-debug.log
 ERROR  command failed: npm install --loglevel error --registry=https://registry.npmjs.org/

<!-- generated by vue-issues. DO NOT REMOVE -->

closed time in 6 days

danywalls

issue commentvuejs/vue-cli

vue create npm ERR! 404 Not Found - GET https://registry.npmjs.org/error-ex

It's an npm registry issue. https://status.npmjs.org/incidents/00tlqc4fzj14 Should have been fixed now.

danywalls

comment created time in 6 days

Pull request review commentvuejs/vue-cli

chore: switch over to leven for command suggestion

 if (!process.argv.slice(2).length) { function suggestCommands (unknownCommand) {   const availableCommands = program.commands.map(cmd => cmd._name) -  const suggestion = didYouMean(unknownCommand, availableCommands)+  const suggestion = availableCommands.find(cmd => {+    return leven(cmd, unknownCommand) < 3

Just iterate the array and find the one with the shortest distance would suffice.

jamesgeorge007

comment created time in 6 days

push eventsodatea/vue-cli

Haoqun Jiang

commit sha 92fedc346a954cf659561e5244dad7be3dfb2862

fix: fix built-in plugins and mock modules

view details

push time in 7 days

issue commentvuejs/vue-cli

vue create npm ERR! 404 Not Found - GET https://registry.npmjs.org/error-ex

It does exist on the registry https://registry.npmjs.org/error-ex

So it's likely an npm issue. Please run npm cache verify or npm cache clean -f and then try again.

danywalls

comment created time in 7 days

push eventsodatea/vue-cli

Haoqun Jiang

commit sha 01eec1e1339a4c471791feaee6a58ac040735c19

fix: use loadModule to load project plugins, fix yarn 2 compatibility

view details

push time in 7 days

Pull request review commentvuejs/vue-cli

chore: switch over to leven for command suggestion

 if (!process.argv.slice(2).length) { function suggestCommands (unknownCommand) {   const availableCommands = program.commands.map(cmd => cmd._name) -  const suggestion = didYouMean(unknownCommand, availableCommands)+  const suggestion = availableCommands.find(cmd => {+    return leven(cmd, unknownCommand) < 3

Using find it will suggest the first command that is less than 3 characters away from the input. It may not be the best guess because there may be a command that is even closer to the user input.

jamesgeorge007

comment created time in 7 days

create barnchsodatea/vue-cli

branch : fix-load-plugin

created branch time in 7 days

Pull request review commentvuejs/vue-cli

chore: switch over to leven for command suggestion

 if (!process.argv.slice(2).length) { function suggestCommands (unknownCommand) {   const availableCommands = program.commands.map(cmd => cmd._name) -  const suggestion = didYouMean(unknownCommand, availableCommands)+  const suggestion = availableCommands.find(cmd => {+    return leven(cmd, unknownCommand) < 3

Better sort and find the closest result. Otherwise, it might return init for the infi (should return info).

jamesgeorge007

comment created time in 7 days

issue commentvuejs/vue-cli

Supporting dynamic load multi projects

Yeah makes sense.

I'd like to add it after a flag (e.g. --lazy), and prompt the user if the compilation takes too long and there are more then a certain number of entries (e.g. > 5) that they can enable this flag to speed up the dev server.

zhazhaxia

comment created time in 7 days

push eventvuejs/vue-loader

Haoqun Jiang

commit sha 36e05bdaab175cf69ee23a8dea65de98969870e1

chore: changelog for 15.9.0 [ci skip]

view details

push time in 7 days

release vuejs/vue-loader

v15.9.0

released time in 7 days

created tagvuejs/vue-loader

tagv15.9.0

📦 Webpack loader for Vue.js components

created time in 7 days

push eventvuejs/vue-loader

Haoqun Jiang

commit sha bfc609165b1f942fd527fb08d8c964b62e420cf4

15.9.0

view details

push time in 7 days

push eventvuejs/vue-loader

Haoqun Jiang

commit sha f3353d93defa4b80dd57c2fdabf6aceac4fa67f3

chore: lockfile maintenance

view details

push time in 7 days

push eventvuejs/vue-loader

Haoqun Jiang

commit sha 56db1d7c59cfdb24b44e7ad680700d506271ccd6

fix: add vue-template-compiler as an optional peer dependency Fixes #1639

view details

push time in 7 days

issue closedvuejs/vue-loader

Yarn v2 compatibility: add vue-template-compiler as a peerDependency

Version

15.8.3

I understand the reasoning behind vue-loader not requiring vue-template-compiler for version pinning, but I would argue that it should still be listed as a peerDependency. With yarn v2 enforcing strict dependency tree, this is currently throwing an error. Is there any reason why it has been removed at all ?

commit ref https://github.com/vuejs/vue-loader/commit/7e5862c3bdf74759069cdb3d53f6e4bc17e3c643#diff-b9cfc7f2cdf78a7f4b91a753d10865a2

global vue-cli issue for ref: https://github.com/vuejs/vue-cli/issues/5135

What is expected?

vue-template-compiler listed as a peerDependency

What is actually happening?

it is not


<!-- generated by vue-issues. DO NOT REMOVE -->

closed time in 7 days

AlexandreBonaventure

pull request commentvuejs/vue-cli

Update Cypress plugin to reflect new cross-browser capabilities

I've created a project board for v5.

But I'd more like to wait until Webpack 5 reaches RC phase to start working on it.

amirrustam

comment created time in 7 days

push eventvuejs/vue-cli

茂茂

commit sha 601bf34310fb8edaa38fecb5b638602ec17cbe67

docs(zh): fix typos (#5157)

view details

push time in 8 days

PR merged vuejs/vue-cli

docs(zh): fix typos PR: Documentation

<!-- Please don't delete this template -->

<!-- PULL REQUEST TEMPLATE --> <!-- (Update "[ ]" to "[x]" to check a box) -->

What kind of change does this PR introduce? (check at least one)

  • [ ] Bugfix
  • [ ] Feature
  • [ ] Code style update
  • [ ] Refactor
  • [x] Docs
  • [ ] Underlying tools
  • [ ] Other, please describe:

<!-- Note: When submitting documentation PRs, please target the master branch (https://cli.vuejs.org) or next branch (https://next.cli.vuejs.org) When submitting coding PRs, please target the dev branch. -->

Does this PR introduce a breaking change? (check one)

  • [ ] Yes
  • [x] No

Other information:

+1 -1

0 comment

1 changed file

maomao1996

pr closed time in 8 days

GollumEvent

issue closedvuejs/vue-cli

npm run sever 如何停止热更新?热更新是否会导致上传文件的页面必然刷新?

What problem does this feature solve?

通过 <input type="file"> 获取文件,调用fetch或axios时将文件组织入一个 FormData 对象交给 data (从头到尾一个 Form 元素都没用,type=submit 的按钮从来没出现过)提交,若成功提交必然引发页面刷新(我在处理请求成功后要求router.push("/"),然后会被这个页面刷新强行刷新回来。),但如果 FormData 中不带文件则不会刷新。同时将build好的网站发布到有 nginx 的服务器上,也不会出现这样的问题。

我实在想不到我这里还能有什么问题了。由于每次刷新后必然出现大两个 大概这样的 socket.js 的请求

http://localhost:8080/sockjs-node/info?t=1581408558968

{"websocket":true,"origins":[":"],"cookie_needed":false,"entropy":2165565923}

我看着像是热更新服务相关的东西?

所以想关掉 热更新 这一功能,看看问题会不会复现。

What does the proposed API look like?

最好能在 vue.config.js 中配置。

<!-- generated by vue-issues. DO NOT REMOVE -->

closed time in 8 days

XSun771

issue commentvuejs/vue-cli

npm run sever 如何停止热更新?热更新是否会导致上传文件的页面必然刷新?

关闭热更新:

module.exports = {
  devServer: {
    hot: false,
    liveReload: false
  }
}

至于第二个问题,我认为跟热更新关系不大,由于没有复现代码,恕无法进一步解答。

XSun771

comment created time in 8 days

GollumEvent
GollumEvent

issue commentmicrosoft/vscode

Thin font rendering issues on macOS Catalina

The Chromium team has (partially) fixed the narrow font issue and shipped it in the Canary channel (v81).

The current stable Electron release depends on Chromium 80 https://github.com/electron/electron/releases/tag/v8.0.0

The VSCode project depends on Electron 7.1.11 at the moment https://github.com/microsoft/vscode/blob/f4a868fb0dbcf397579cb58fab168049a0448e6c/package.json#L97

So there seems still a long way to go.

sschultze

comment created time in 8 days

GollumEvent
GollumEvent
GollumEvent

issue commentvuejs/vue-cli

Supporting dynamic load multi projects

Yeah, I was thinking about this feature too. But there's a more universal resolution for this problem: https://github.com/liximomo/lazy-compile-webpack-plugin which supports both multi-page apps and lazy imports in a single-page app. Maybe just integrating that webpack plugin is enough?

zhazhaxia

comment created time in 8 days

push eventvuejs/regression-testing

Vue Regression Bot

commit sha 70f427360825c9c4b3fef57cf91d63f0b074236d

update vue from circleci

view details

push time in 9 days

issue commentvuejs/vue-cli

Switch over to leven for command suggestion

Good point. Go ahead please.

jamesgeorge007

comment created time in 11 days

issue commentvuejs/vue-cli

Babel unknown option when trying to integrate Jest

Hi, thanks for your report. Would you please reduce your issue to a small reproducible example (e.g. a GitHub repository together with instructions on how to get to the problem)? Without a runnable example, it would be difficult for us to find out what is going wrong.

sts-ryan-holton

comment created time in 11 days

issue commentvuejs/vue-cli

Invalid options in vue.config.js: "baseUrl" is not allowed

Can't reproduce. And I can't find any reference to baseUrl in the Vue CLI UI codebase.

steffanhalv

comment created time in 11 days

issue closedvuejs/vue-cli

CLI cannot bootstrap under PnP

Version

3.11.0

Environment info

Environment Info:

  System:
    OS: macOS 10.14.5
    CPU: (8) x64 Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz
  Binaries:
    Node: 12.3.1 - ~/.nodenv/shims/node
    Yarn: 1.17.2 - ~/.nodenv/shims/yarn
    npm: 6.11.1 - ~/.nodenv/shims/npm
  Browsers:
    Chrome: 76.0.3809.132
    Firefox: Not Found
    Safari: 12.1.1
  npmGlobalPackages:
    @vue/cli: 3.11.0

Steps to reproduce

Note: requires https://github.com/vuejs/vue-cli/pull/4530

  • Clone the Yarn 2 repository (https://github.com/yarnpkg/berry)
  • Run yarn build:cli inside it
  • Go to /tmp
  • Run PATH="~/path/to/berry/scripts/bin:$PATH" yarn dlx -p @vue/cli vue create vue-cli-yarn2
  • Go to /tmp/vue-cli-yarn2
  • Check the package.json

What is expected?

The package.json should contain all the information.

What is actually happening?

It only contains the devDependencies to the generators; the generators didn't run.


This is caused by resolveModule failing to find the packages, which is caused by the @vue/cli context not having access to the project dependencies. Since the CLI and the project are in different dependency trees, they cannot be loaded in the same context without creating many ambiguities (since they share the same underlying files, a package file could ambiguously depend on two different versions of a single package depending on the dependency tree they are supposed to be part of).

The fix would be to call the generators from within the project dependencies - for example, CRA does that by adding to the project dependencies a package exporting a binary called react-scripts which, when called, calls its own generator. The global CRA then just have to call the binary (using execa), and everything works.

Ref https://github.com/yarnpkg/berry/issues/368

<!-- generated by vue-issues. DO NOT REMOVE -->

closed time in 11 days

arcanis

issue commentvuejs/vue-cli

Invalid options in vue.config.js: "baseUrl" is not allowed

Thanks for submitting this issue! Due to our limited time, we ask you to include a reproduction link to a minimal full reproduction of your problem (for example in a GitHub repository) so we can find what is causing the issue. Thank you for your understanding!

steffanhalv

comment created time in 11 days

PR opened vuejs/vue-cli

fix "Vue packages version mismatch" error caused by other global packages PR: Bug Fix

closes #5161

The root cause of such issues:

vue-jscodeshift-adapter requires vue-template-compiler. vue-template-compiler tries to require the vue package and check its version on startup.

Normally, there's no vue package in the dependency tree of @vue/cli, so this check will just skip.

But if the user has installed some other global package that depend on vue, and hoists it to the root node_modules, vue-template-compiler would successfully require it and check against that vue version, which sometimes may be outdated, thus failing the bootstrap process.

So by adding a "vue" dependency to the @vue/cli package, we can make sure the vue-template-compiler package in the dependency tree can always get the up-to-date version number and pass the test.

What kind of change does this PR introduce? (check at least one)

  • [x] Bugfix
  • [ ] Feature
  • [ ] Code style update
  • [ ] Refactor
  • [ ] Docs
  • [ ] Underlying tools
  • [ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

  • [ ] Yes
  • [x] No

Other information:

+1 -0

0 comment

1 changed file

pr created time in 11 days

create barnchsodatea/vue-cli

branch : fix-vue-version-mismatch

created branch time in 11 days

more