mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-25 16:39:04 -06:00
Merge branch 'master' into develop
This commit is contained in:
@@ -1327,7 +1327,7 @@ jobs:
|
||||
npm-vue:
|
||||
<<: *defaults
|
||||
resource_class: medium
|
||||
parallelism: 4
|
||||
parallelism: 3
|
||||
steps:
|
||||
- restore_cached_workspace
|
||||
- run:
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
# [@cypress/react-v5.9.0](https://github.com/cypress-io/cypress/compare/@cypress/react-v5.8.1...@cypress/react-v5.9.0) (2021-05-31)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* react-scripts. allow parametrise webpack config path ([#16644](https://github.com/cypress-io/cypress/issues/16644)) ([c618d30](https://github.com/cypress-io/cypress/commit/c618d30f3df99394df5c0b81ea3817caf0a7eaf4))
|
||||
|
||||
# [@cypress/react-v5.8.1](https://github.com/cypress-io/cypress/compare/@cypress/react-v5.8.0...@cypress/react-v5.8.1) (2021-05-26)
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,97 @@
|
||||
# [@cypress/vite-dev-server-v2.0.0](https://github.com/cypress-io/cypress/compare/@cypress/vite-dev-server-v1.2.7...@cypress/vite-dev-server-v2.0.0) (2021-05-31)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* deliver vue3 on master ([#16728](https://github.com/cypress-io/cypress/issues/16728)) ([0ee001f](https://github.com/cypress-io/cypress/commit/0ee001f6250604711653caf5365d8aca063a9cad)), closes [#15100](https://github.com/cypress-io/cypress/issues/15100)
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* no support for vue 2 anymore
|
||||
|
||||
* build: disable auto deliver of next vue
|
||||
|
||||
* Revert "feat(vue): vue 3 support in @cypress/vue"
|
||||
|
||||
This reverts commit 8f55d7baaff1f240677239ae5fdc4180c4a06475.
|
||||
|
||||
* Revert "build: disable auto deliver of next vue"
|
||||
|
||||
This reverts commit ed46c9e5c551e57901dbdc75db2e83bf194c4b18.
|
||||
|
||||
* chore: release @cypress/vue-v1.1.0-alpha.1
|
||||
|
||||
[skip ci]
|
||||
* dropped support for vue 2 in favor of vue 3
|
||||
|
||||
* test: remove filter tests not relevant in vue 3
|
||||
|
||||
* build: try publishing as a private new major
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0-alpha.1
|
||||
|
||||
[skip ci]
|
||||
|
||||
* chore: bring back access public
|
||||
|
||||
* fix: update dependency to webpack dev server
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0-alpha.2
|
||||
|
||||
[skip ci]
|
||||
|
||||
* chore: remove unnecessary dependency
|
||||
|
||||
* fix: mistreatment of monorepo dependency
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0-alpha.3
|
||||
|
||||
[skip ci]
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0-alpha.4
|
||||
|
||||
[skip ci]
|
||||
|
||||
* fix: use __cy_root at the root element
|
||||
|
||||
* build: avoid using array spread (tslib imports issue)
|
||||
|
||||
* fix: setup for cypress vue tests
|
||||
|
||||
* fix: add cleanup event
|
||||
|
||||
* test: make sure we use the right build of compiler
|
||||
|
||||
* chore: downgrade VTU to rc-1
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0
|
||||
|
||||
[skip ci]
|
||||
|
||||
* chore: upgrade vue version to 3.0.11
|
||||
|
||||
* fix: adjust optional peer deps
|
||||
|
||||
* fix: allow fo any VTU 2 version using ^
|
||||
|
||||
* test: ignore nuxt example
|
||||
|
||||
* test: update yarn lock on vue cli
|
||||
|
||||
* chore: release @cypress/vue-v3.0.1
|
||||
|
||||
[skip ci]
|
||||
|
||||
* ci: release vue@next on master
|
||||
|
||||
* test: fix vue3 examples
|
||||
|
||||
* ci: open only needed server in circle npm-vue
|
||||
|
||||
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
|
||||
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
|
||||
|
||||
# [@cypress/vite-dev-server-v1.2.7](https://github.com/cypress-io/cypress/compare/@cypress/vite-dev-server-v1.2.6...@cypress/vite-dev-server-v1.2.7) (2021-05-11)
|
||||
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cypress/react": "0.0.0-development",
|
||||
"@cypress/vue": "3.0.1",
|
||||
"@cypress/vue": "0.0.0-development",
|
||||
"@testing-library/cypress": "7.0.4",
|
||||
"@vitejs/plugin-vue": "1.2.0",
|
||||
"@vue/compiler-sfc": "3.0.9",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
module.exports = {
|
||||
...require('../../.releaserc.base'),
|
||||
branches: [
|
||||
{ name: 'master' },
|
||||
{ name: 'next/npm/vue', channel: 'next', prerelease: 'alpha' },
|
||||
{ name: 'next/npm/vue2' },
|
||||
{ name: 'master', channel: 'next', prerelease: 'beta' },
|
||||
],
|
||||
}
|
||||
|
||||
@@ -1,22 +1,185 @@
|
||||
# [@cypress/vue-v2.2.3](https://github.com/cypress-io/cypress/compare/@cypress/vue-v2.2.2...@cypress/vue-v2.2.3) (2021-05-11)
|
||||
# [@cypress/vue-v3.0.0-beta.1](https://github.com/cypress-io/cypress/compare/@cypress/vue-v2.2.3...@cypress/vue-v3.0.0-beta.1) (2021-05-31)
|
||||
|
||||
|
||||
### Continuous Integration
|
||||
|
||||
* deliver vue3 on master ([#16728](https://github.com/cypress-io/cypress/issues/16728)) ([0ee001f](https://github.com/cypress-io/cypress/commit/0ee001f6250604711653caf5365d8aca063a9cad)), closes [#15100](https://github.com/cypress-io/cypress/issues/15100)
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* no support for vue 2 anymore
|
||||
|
||||
* build: disable auto deliver of next vue
|
||||
|
||||
* Revert "feat(vue): vue 3 support in @cypress/vue"
|
||||
|
||||
This reverts commit 8f55d7baaff1f240677239ae5fdc4180c4a06475.
|
||||
|
||||
* Revert "build: disable auto deliver of next vue"
|
||||
|
||||
This reverts commit ed46c9e5c551e57901dbdc75db2e83bf194c4b18.
|
||||
|
||||
* chore: release @cypress/vue-v1.1.0-alpha.1
|
||||
|
||||
[skip ci]
|
||||
* dropped support for vue 2 in favor of vue 3
|
||||
|
||||
* test: remove filter tests not relevant in vue 3
|
||||
|
||||
* build: try publishing as a private new major
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0-alpha.1
|
||||
|
||||
[skip ci]
|
||||
|
||||
* chore: bring back access public
|
||||
|
||||
* fix: update dependency to webpack dev server
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0-alpha.2
|
||||
|
||||
[skip ci]
|
||||
|
||||
* chore: remove unnecessary dependency
|
||||
|
||||
* fix: mistreatment of monorepo dependency
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0-alpha.3
|
||||
|
||||
[skip ci]
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0-alpha.4
|
||||
|
||||
[skip ci]
|
||||
|
||||
* fix: use __cy_root at the root element
|
||||
|
||||
* build: avoid using array spread (tslib imports issue)
|
||||
|
||||
* fix: setup for cypress vue tests
|
||||
|
||||
* fix: add cleanup event
|
||||
|
||||
* test: make sure we use the right build of compiler
|
||||
|
||||
* chore: downgrade VTU to rc-1
|
||||
|
||||
* chore: release @cypress/vue-v3.0.0
|
||||
|
||||
[skip ci]
|
||||
|
||||
* chore: upgrade vue version to 3.0.11
|
||||
|
||||
* fix: adjust optional peer deps
|
||||
|
||||
* fix: allow fo any VTU 2 version using ^
|
||||
|
||||
* test: ignore nuxt example
|
||||
|
||||
* test: update yarn lock on vue cli
|
||||
|
||||
* chore: release @cypress/vue-v3.0.1
|
||||
|
||||
[skip ci]
|
||||
|
||||
* ci: release vue@next on master
|
||||
|
||||
* test: fix vue3 examples
|
||||
|
||||
* ci: open only needed server in circle npm-vue
|
||||
|
||||
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
|
||||
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
|
||||
|
||||
# [@cypress/vue-v3.0.1](https://github.com/cypress-io/cypress/compare/@cypress/vue-v3.0.0...@cypress/vue-v3.0.1) (2021-04-08)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* adjust optional peer deps ([735d61d](https://github.com/cypress-io/cypress/commit/735d61d15a34c04729bff692861faad2dc1b6a35))
|
||||
* allow fo any VTU 2 version using ^ ([a1da052](https://github.com/cypress-io/cypress/commit/a1da0520651eaa1d83db96fe9d692b28ad2fc727))
|
||||
|
||||
# [@cypress/vue-v3.0.0](https://github.com/cypress-io/cypress/compare/@cypress/vue-v2.2.0...@cypress/vue-v3.0.0) (2021-04-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add cleanup event ([cf51935](https://github.com/cypress-io/cypress/commit/cf51935bf5a49594b012e9a6bd9cabe983fbe500))
|
||||
* mistreatment of monorepo dependency ([a21afb2](https://github.com/cypress-io/cypress/commit/a21afb2f2204debd191586bcb250bb64ecbdfd25))
|
||||
* setup for cypress vue tests ([c27dc77](https://github.com/cypress-io/cypress/commit/c27dc77ecdb9b33c68737db690432e0418181286))
|
||||
* update dependency to webpack dev server ([717ea3a](https://github.com/cypress-io/cypress/commit/717ea3a628c26743a9fe8868e01291ad6b8c0977))
|
||||
* use __cy_root at the root element ([9cf102a](https://github.com/cypress-io/cypress/commit/9cf102ad6248a90a91ca766e2ff9267db0f208fa))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* vue3 support for @cypress/vue ([#15100](https://github.com/cypress-io/cypress/issues/15100)) ([71e85a0](https://github.com/cypress-io/cypress/commit/71e85a03682d577344e705548b5350ec84c29382))
|
||||
|
||||
|
||||
### Reverts
|
||||
|
||||
* Revert "feat(vue): vue 3 support in @cypress/vue" ([53fc995](https://github.com/cypress-io/cypress/commit/53fc9958d111a8e60c6dcd873c9d89666c86dfc8))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* dropped support for vue 2 in favor of vue 3
|
||||
|
||||
* test: remove filter tests not relevant in vue 3
|
||||
|
||||
# [@cypress/vue-v3.0.0-alpha.4](https://github.com/cypress-io/cypress/compare/@cypress/vue-v3.0.0-alpha.3...@cypress/vue-v3.0.0-alpha.4) (2021-03-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **component-testing:** video recording for single browser session mode ([#15328](https://github.com/cypress-io/cypress/issues/15328)) ([cce08d2](https://github.com/cypress-io/cypress/commit/cce08d23b781b219635d43419e5b6177927e1ba5))
|
||||
|
||||
# [@cypress/vue-v3.0.0-alpha.3](https://github.com/cypress-io/cypress/compare/@cypress/vue-v3.0.0-alpha.2...@cypress/vue-v3.0.0-alpha.3) (2021-02-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* mistreatment of monorepo dependency ([a21afb2](https://github.com/cypress-io/cypress/commit/a21afb2f2204debd191586bcb250bb64ecbdfd25))
|
||||
|
||||
# [@cypress/vue-v3.0.0-alpha.2](https://github.com/cypress-io/cypress/compare/@cypress/vue-v3.0.0-alpha.1...@cypress/vue-v3.0.0-alpha.2) (2021-02-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* make webpack-dev-server a peer dependency ([#15163](https://github.com/cypress-io/cypress/issues/15163)) ([fa969fb](https://github.com/cypress-io/cypress/commit/fa969fba78d86494b5d920f573768677301fad13))
|
||||
* update dependency to webpack dev server ([717ea3a](https://github.com/cypress-io/cypress/commit/717ea3a628c26743a9fe8868e01291ad6b8c0977))
|
||||
|
||||
# [@cypress/vue-v3.0.0-alpha.1](https://github.com/cypress-io/cypress/compare/@cypress/vue-v2.0.1...@cypress/vue-v3.0.0-alpha.1) (2021-02-18)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* vue3 support for @cypress/vue ([#15100](https://github.com/cypress-io/cypress/issues/15100)) ([71e85a0](https://github.com/cypress-io/cypress/commit/71e85a03682d577344e705548b5350ec84c29382))
|
||||
|
||||
|
||||
### Reverts
|
||||
|
||||
* Revert "feat(vue): vue 3 support in @cypress/vue" ([53fc995](https://github.com/cypress-io/cypress/commit/53fc9958d111a8e60c6dcd873c9d89666c86dfc8))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* dropped support for vue 2 in favor of vue 3
|
||||
|
||||
* test: remove filter tests not relevant in vue 3
|
||||
|
||||
# [@cypress/vue-v2.2.3](https://github.com/cypress-io/cypress/compare/@cypress/vue-v2.2.2...@cypress/vue-v2.2.3) (2021-05-11)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* accept webapck 4 & 5 as peer dependencies of @cypress/vue and @cypress/react ([#16290](https://github.com/cypress-io/cypress/issues/16290)) ([c4151fb](https://github.com/cypress-io/cypress/commit/c4151fbd9f3c10de28e3e8dd3a75d0e0973b52e2))
|
||||
|
||||
# [@cypress/vue-v2.2.2](https://github.com/cypress-io/cypress/compare/@cypress/vue-v2.2.1...@cypress/vue-v2.2.2) (2021-05-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* accept webapck 4 & 5 as peer dependencies of @cypress/vue and @cypress/react ([#16290](https://github.com/cypress-io/cypress/issues/16290)) ([500cab9](https://github.com/cypress-io/cypress/commit/500cab95ef7a7d6b74b366ba8066bcf73f2955aa))
|
||||
|
||||
# [@cypress/vue-v2.2.1](https://github.com/cypress-io/cypress/compare/@cypress/vue-v2.2.0...@cypress/vue-v2.2.1) (2021-04-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* improve handling of userland injected styles in component testing ([#16024](https://github.com/cypress-io/cypress/issues/16024)) ([fe0b63c](https://github.com/cypress-io/cypress/commit/fe0b63c299947470c9cdce3a0d00364a1e224bdb))
|
||||
|
||||
# [@cypress/vue-v2.2.0](https://github.com/cypress-io/cypress/compare/@cypress/vue-v2.1.1...@cypress/vue-v2.2.0) (2021-04-05)
|
||||
|
||||
@@ -15,11 +15,6 @@ describe('Message', () => {
|
||||
cy.wrap(Cypress).its('vue.message').should('equal', 'hey')
|
||||
})
|
||||
|
||||
it('has no cat property', () => {
|
||||
createCmp({ cat: 'hey', message: 'hey' })
|
||||
cy.wrap(Cypress).its('vue').should('not.have.property', 'cat')
|
||||
})
|
||||
|
||||
it('Paco is the default author', () => {
|
||||
createCmp({ message: 'hey' })
|
||||
cy.wrap(Cypress).its('vue.author').should('equal', 'Paco')
|
||||
@@ -65,14 +60,10 @@ describe('Message', () => {
|
||||
|
||||
it('triggers a message-clicked event clicked', () => {
|
||||
createCmp({ message: 'Cat' }).then(() => {
|
||||
const stub = cy.spy()
|
||||
|
||||
Cypress.vue.$on('message-clicked', stub)
|
||||
cy.get('.message')
|
||||
.click()
|
||||
.then(() => {
|
||||
expect(stub).to.be.calledOnce
|
||||
expect(stub).to.be.calledWith('Cat')
|
||||
expect(Cypress.vueWrapper.emitted()).to.have.property('message-clicked')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
/// <reference types="cypress" />
|
||||
import Vue from 'vue'
|
||||
import TranslatedMessageWithJSON from './TranslatedJSONMessage.vue'
|
||||
import TranslatedMessageI18nBlock from './TranslatedI18nMessage.vue'
|
||||
import VueI18n from 'vue-i18n'
|
||||
import { createI18n } from 'vue-i18n'
|
||||
import { mount } from '@cypress/vue'
|
||||
import messages from './translations.json'
|
||||
|
||||
@@ -22,13 +21,11 @@ function expectHelloWorldGreeting () {
|
||||
}
|
||||
|
||||
describe('VueI18n', () => {
|
||||
Vue.use(VueI18n)
|
||||
|
||||
describe('with i18n block', () => {
|
||||
beforeEach(() => {
|
||||
const i18n = new VueI18n({ locale: 'en' })
|
||||
const i18n = createI18n({ locale: 'en' })
|
||||
|
||||
mount(TranslatedMessageI18nBlock, { i18n })
|
||||
mount(TranslatedMessageI18nBlock, { global: { plugins: [i18n] } })
|
||||
})
|
||||
|
||||
it('shows HelloWorld for all locales', expectHelloWorldGreeting)
|
||||
@@ -36,9 +33,9 @@ describe('VueI18n', () => {
|
||||
|
||||
describe('with messages argument', () => {
|
||||
beforeEach(() => {
|
||||
const i18n = new VueI18n({ locale: 'en', messages })
|
||||
const i18n = createI18n({ locale: 'en', messages })
|
||||
|
||||
mount(TranslatedMessageWithJSON, { i18n })
|
||||
mount(TranslatedMessageWithJSON, { global: { plugins: [i18n] } })
|
||||
})
|
||||
|
||||
it('shows HelloWorld for all locales', expectHelloWorldGreeting)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/// <reference types="cypress" />
|
||||
import { mount } from '@cypress/vue'
|
||||
import { h as createElement } from 'vue'
|
||||
|
||||
describe('Single render function component', () => {
|
||||
// the component definition
|
||||
@@ -118,18 +119,19 @@ describe('Component with slot', () => {
|
||||
describe('Component with arguments', () => {
|
||||
// the component definition
|
||||
const appComponent = {
|
||||
render (createElement) {
|
||||
render () {
|
||||
let a = this.elementtype.split(',')
|
||||
|
||||
return createElement(
|
||||
a[0],
|
||||
{
|
||||
attrs: {
|
||||
id: a[3],
|
||||
style: `color:${a[1]};font-size:${a[2]};`,
|
||||
id: a[3],
|
||||
style: {
|
||||
color: a[1],
|
||||
'font-size': `${a[2]}pt`,
|
||||
},
|
||||
},
|
||||
this.$slots.default || '<EMPTY>',
|
||||
this.$slots.default ? this.$slots.default() : '<EMPTY>',
|
||||
)
|
||||
},
|
||||
props: {
|
||||
@@ -144,7 +146,7 @@ describe('Component with arguments', () => {
|
||||
// we want to use custom app component above
|
||||
extensions: {
|
||||
components: {
|
||||
'app-component': appComponent,
|
||||
appComponent,
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -168,13 +170,13 @@ describe('Component with arguments', () => {
|
||||
cy.contains('h3', 'Hello Peter').should(
|
||||
'have.attr',
|
||||
'style',
|
||||
'color:red;font-size:30;',
|
||||
'color: red; font-size: 30pt;',
|
||||
)
|
||||
|
||||
cy.contains('p', 'Hello John').should(
|
||||
'have.attr',
|
||||
'style',
|
||||
'color:green;font-size:30;',
|
||||
'color: green; font-size: 30pt;',
|
||||
)
|
||||
})
|
||||
|
||||
@@ -189,7 +191,7 @@ describe('Component with arguments', () => {
|
||||
cy.contains('<EMPTY>').should(
|
||||
'have.attr',
|
||||
'style',
|
||||
'color:red;font-size:30;',
|
||||
'color: red; font-size: 30pt;',
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
# filters
|
||||
|
||||
You can register global Vue filters when mounting the component. See [spec.js](spec.js)
|
||||
|
||||
```js
|
||||
mount(component, {
|
||||
extensions: {
|
||||
filters: { ... }
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
Read [Vue global filters docs](https://vuejs.org/v2/api/#Vue-filter)
|
||||
@@ -1,6 +0,0 @@
|
||||
/**
|
||||
* Reverses a string
|
||||
* @param {string} s String to reverse
|
||||
* @returns {string} Reversed string
|
||||
*/
|
||||
export const reverse = (s) => s.split('').reverse().join('')
|
||||
@@ -1,35 +0,0 @@
|
||||
/// <reference types="cypress" />
|
||||
import { mountCallback } from '@cypress/vue'
|
||||
import { reverse } from './reverse'
|
||||
|
||||
describe('Global filters', () => {
|
||||
const filters = {
|
||||
reverse,
|
||||
}
|
||||
|
||||
// use reverse filter in template
|
||||
const template = `
|
||||
<div>{{ "foo-bar" | reverse }}</div>
|
||||
`
|
||||
|
||||
// extend Vue with global filters
|
||||
const extensions = {
|
||||
filters,
|
||||
}
|
||||
|
||||
beforeEach(mountCallback({ template }, { extensions }))
|
||||
|
||||
it('registers global filter', () => {
|
||||
cy.wrap(window.Vue)
|
||||
.invoke('filter', 'reverse')
|
||||
.should('equal', filters.reverse)
|
||||
})
|
||||
|
||||
it('tests the reverse function', () => {
|
||||
expect(reverse('Hello')).to.equal('olleH')
|
||||
})
|
||||
|
||||
it('reverses the string', () => {
|
||||
cy.contains('rab-oof')
|
||||
})
|
||||
})
|
||||
@@ -23,8 +23,4 @@ describe('Mount component', () => {
|
||||
it('shows hello', () => {
|
||||
cy.contains('Hello Vue!')
|
||||
})
|
||||
|
||||
it('has version', () => {
|
||||
cy.window().its('Vue.version').should('be.a', 'string')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// https://vuejs.org/v2/guide/plugins.html
|
||||
// https://alligator.io/vuejs/creating-custom-plugins/
|
||||
export const MyPlugin = {
|
||||
install (Vue) {
|
||||
install (app) {
|
||||
// 1. add global method or property
|
||||
Vue.aPluginMethod = function () {
|
||||
app.config.globalProperties.aPluginMethod = function () {
|
||||
return 'foo'
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
// https://vuejs.org/v2/guide/plugins.html
|
||||
// https://alligator.io/vuejs/creating-custom-plugins/
|
||||
export const MyPluginWithOptions = {
|
||||
install (Vue, options) {
|
||||
install (app, options) {
|
||||
if (!options) {
|
||||
throw new Error('MyPlugin is missing options!')
|
||||
}
|
||||
|
||||
// this method uses options argument
|
||||
Vue.anotherPluginMethod = function () {
|
||||
app.config.globalProperties.anotherPluginMethod = function () {
|
||||
return options.label
|
||||
}
|
||||
},
|
||||
|
||||
@@ -16,7 +16,7 @@ describe('Single component mount', () => {
|
||||
|
||||
mount(EmptyComponent, { extensions })
|
||||
|
||||
cy.window().its('Vue').invoke('aPluginMethod').should('equal', 'foo')
|
||||
cy.wrap(Cypress).its('vue').invoke('aPluginMethod').should('equal', 'foo')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -32,11 +32,11 @@ describe('Custom plugin MyPlugin', () => {
|
||||
beforeEach(mountCallback(EmptyComponent, { extensions }))
|
||||
|
||||
it('registers global method on Vue instance', () => {
|
||||
cy.window().its('Vue').its('aPluginMethod').should('be.a', 'function')
|
||||
cy.wrap(Cypress).its('vue').its('aPluginMethod').should('be.a', 'function')
|
||||
})
|
||||
|
||||
it('can call this global function', () => {
|
||||
cy.window().its('Vue').invoke('aPluginMethod').should('equal', 'foo')
|
||||
cy.wrap(Cypress).its('vue').invoke('aPluginMethod').should('equal', 'foo')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -55,10 +55,9 @@ describe('Plugins with options', () => {
|
||||
mount(EmptyComponent, { extensions })
|
||||
|
||||
// first plugin works
|
||||
cy.window().its('Vue').invoke('aPluginMethod').should('equal', 'foo')
|
||||
cy.wrap(Cypress).its('vue').invoke('aPluginMethod').should('equal', 'foo')
|
||||
// second plugin works
|
||||
cy.window()
|
||||
.its('Vue')
|
||||
cy.wrap(Cypress).its('vue')
|
||||
.invoke('anotherPluginMethod')
|
||||
.should('equal', 'testing')
|
||||
})
|
||||
|
||||
@@ -29,16 +29,12 @@ describe('Props', () => {
|
||||
|
||||
it('shows messages', () => {
|
||||
getItems().should('not.exist')
|
||||
// after mounting we can set props using "Cypress.vue"
|
||||
// after mounting we can set props using "vueWrapper.setProps"
|
||||
cy.log('setting messages').then(() => {
|
||||
Cypress.vue.messages = ['one', 'two']
|
||||
Cypress.vueWrapper.setProps({ messages: ['one', 'two'] })
|
||||
})
|
||||
|
||||
getItems().should('have.length', 2)
|
||||
cy.then(() => {
|
||||
Cypress.vue.messages.push('three')
|
||||
getItems().should('have.length', 3)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ describe('Card', () => {
|
||||
|
||||
it('renders scopedSlots', () => {
|
||||
mount(Card, {
|
||||
scopedSlots: {
|
||||
default: '<p>Yay! {{props.content}}</p>',
|
||||
slots: {
|
||||
default: '<template #default="props"><p>Yay! {{props.content}}</p></template>',
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@ describe('Declarative rendering', () => {
|
||||
})
|
||||
|
||||
it('changes message if data changes', () => {
|
||||
// mounted Vue instance is available under Cypress.vue
|
||||
Cypress.vue.message = 'Vue rocks!'
|
||||
// mounted Vue instance is available under Cypress.vueWrapper
|
||||
Cypress.vueWrapper.setData({ message: 'Vue rocks!' })
|
||||
cy.contains('Vue rocks!')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -14,14 +14,11 @@ describe('ButtonCounter', () => {
|
||||
})
|
||||
|
||||
it('emits "increment" event on click', () => {
|
||||
const spy = cy.spy()
|
||||
|
||||
Cypress.vue.$on('increment', spy)
|
||||
cy.get('button')
|
||||
.click()
|
||||
.click()
|
||||
.then(() => {
|
||||
expect(spy).to.be.calledTwice
|
||||
cy.wrap(Cypress.vueWrapper.emitted()).should('have.property', 'increment')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -2,14 +2,13 @@
|
||||
// https://github.com/vuejs/vuex/tree/dev/examples/counter
|
||||
import Counter from './Counter.vue'
|
||||
import store from './store'
|
||||
import Vuex from 'vuex'
|
||||
import { mountCallback } from '@cypress/vue'
|
||||
|
||||
/* eslint-env mocha */
|
||||
describe('Vuex Counter', () => {
|
||||
// configure component
|
||||
const extensions = {
|
||||
plugins: [Vuex],
|
||||
plugins: [store],
|
||||
components: {
|
||||
Counter,
|
||||
},
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
|
||||
Vue.use(Vuex)
|
||||
import { createStore } from 'vuex'
|
||||
|
||||
// root state object.
|
||||
// each Vuex instance is just a single state tree.
|
||||
@@ -53,7 +50,7 @@ const getters = {
|
||||
|
||||
// A Vuex instance is created by combining the state, mutations, actions,
|
||||
// and getters.
|
||||
export default new Vuex.Store({
|
||||
export default createStore({
|
||||
state,
|
||||
getters,
|
||||
actions,
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
<template>
|
||||
<div class="shop-home">
|
||||
<router-link
|
||||
:to="{ name: 'order' }"
|
||||
tag="button"
|
||||
class="order"
|
||||
>
|
||||
Place Your Order
|
||||
</router-link>
|
||||
<router-link
|
||||
:to="{ name: 'order' }"
|
||||
custom v-slot="{ navigate }">
|
||||
<button class="order" @click="navigate">Place Your Order</button>
|
||||
</router-link>
|
||||
<br>
|
||||
<h4>Or select a popular option:</h4>
|
||||
<router-link
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
import Vue from 'vue'
|
||||
import VueRouter from 'vue-router'
|
||||
import { createRouter, createWebHashHistory } from 'vue-router'
|
||||
import PizzaShop from './index.vue'
|
||||
import Home from './Home.vue'
|
||||
import Order from './Order.vue'
|
||||
|
||||
Vue.use(VueRouter)
|
||||
|
||||
export default new VueRouter({
|
||||
export default createRouter({
|
||||
history: createWebHashHistory(),
|
||||
routes: [
|
||||
{
|
||||
path: '/',
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import PizzaShop from './PizzaShop'
|
||||
import router from './PizzaShop/router'
|
||||
import VueRouter from 'vue-router'
|
||||
import { mountCallback } from '@cypress/vue'
|
||||
|
||||
describe('Vue Router - Pizza Shop', () => {
|
||||
// configure component
|
||||
const extensions = {
|
||||
plugins: [VueRouter],
|
||||
plugins: [router],
|
||||
components: {
|
||||
PizzaShop,
|
||||
},
|
||||
@@ -85,7 +84,7 @@ describe('Vue Router - Pizza Shop', () => {
|
||||
const { path, query } = Cypress.vue.$route
|
||||
|
||||
expect(path).to.eql('/order')
|
||||
expect(query).to.eql({ cheese: true })
|
||||
expect(query).to.eql({ cheese: 'true' })
|
||||
})
|
||||
|
||||
// cheese topping should be in the order overview
|
||||
|
||||
@@ -10,6 +10,15 @@ module.exports = (on, config) => {
|
||||
throw Error(`This is a component testing project. testingType should be 'component'. Received ${config.testingType}`)
|
||||
}
|
||||
|
||||
if (!webpackConfig.resolve) {
|
||||
webpackConfig.resolve = {}
|
||||
}
|
||||
|
||||
webpackConfig.resolve.alias = {
|
||||
...webpackConfig.resolve.alias,
|
||||
'@vue/compiler-core$': '@vue/compiler-core/dist/compiler-core.cjs.js',
|
||||
}
|
||||
|
||||
require('@cypress/code-coverage/task')(on, config)
|
||||
on('dev-server:start', (options) => startDevServer({ options, webpackConfig }))
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
/examples/nuxt
|
||||
/examples/code-coverage
|
||||
/examples/vue-cli
|
||||
@@ -24,9 +24,8 @@
|
||||
"nyc": "14.1.1",
|
||||
"sass": "1.32.11",
|
||||
"sass-loader": "7.3.1",
|
||||
"vue": "2.6.12",
|
||||
"vue-loader": "15.9.6",
|
||||
"vue-template-compiler": "2.6.12",
|
||||
"vue": "3.0.11",
|
||||
"vue-loader": "16.2.0",
|
||||
"webpack": "4.46.0"
|
||||
},
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const path = require('path')
|
||||
const VueLoaderPlugin = require('vue-loader/lib/plugin')
|
||||
const { VueLoaderPlugin } = require('vue-loader')
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
||||
|
||||
module.exports = {
|
||||
@@ -32,7 +32,6 @@ module.exports = {
|
||||
new HtmlWebpackPlugin(),
|
||||
],
|
||||
resolve: {
|
||||
alias: { vue: 'vue/dist/vue.esm.js' },
|
||||
extensions: ['*', '.js', '.vue', '.json'],
|
||||
},
|
||||
stats: {
|
||||
|
||||
@@ -224,6 +224,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
|
||||
integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
|
||||
|
||||
"@babel/helper-validator-identifier@^7.14.0":
|
||||
version "7.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
|
||||
integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
|
||||
|
||||
"@babel/helper-validator-option@^7.12.17":
|
||||
version "7.12.17"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
|
||||
@@ -257,6 +262,11 @@
|
||||
chalk "^2.0.0"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/parser@^7.12.0":
|
||||
version "7.14.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.1.tgz#1bd644b5db3f5797c4479d89ec1817fe02b84c47"
|
||||
integrity sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q==
|
||||
|
||||
"@babel/parser@^7.12.13", "@babel/parser@^7.13.16", "@babel/parser@^7.4.3", "@babel/parser@^7.4.5":
|
||||
version "7.13.16"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37"
|
||||
@@ -742,6 +752,14 @@
|
||||
debug "^4.1.0"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/types@^7.12.0":
|
||||
version "7.14.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.1.tgz#095bd12f1c08ab63eff6e8f7745fa7c9cc15a9db"
|
||||
integrity sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.14.0"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.13.16", "@babel/types@^7.13.17", "@babel/types@^7.4.0", "@babel/types@^7.4.4":
|
||||
version "7.13.17"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz#48010a115c9fba7588b4437dd68c9469012b38b4"
|
||||
@@ -887,21 +905,53 @@
|
||||
"@types/webpack-sources" "*"
|
||||
source-map "^0.6.0"
|
||||
|
||||
"@vue/component-compiler-utils@^3.1.0":
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d"
|
||||
integrity sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==
|
||||
"@vue/compiler-core@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.0.11.tgz#5ef579e46d7b336b8735228758d1c2c505aae69a"
|
||||
integrity sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw==
|
||||
dependencies:
|
||||
consolidate "^0.15.1"
|
||||
hash-sum "^1.0.2"
|
||||
lru-cache "^4.1.2"
|
||||
merge-source-map "^1.1.0"
|
||||
postcss "^7.0.14"
|
||||
postcss-selector-parser "^6.0.2"
|
||||
source-map "~0.6.1"
|
||||
vue-template-es2015-compiler "^1.9.0"
|
||||
optionalDependencies:
|
||||
prettier "^1.18.2"
|
||||
"@babel/parser" "^7.12.0"
|
||||
"@babel/types" "^7.12.0"
|
||||
"@vue/shared" "3.0.11"
|
||||
estree-walker "^2.0.1"
|
||||
source-map "^0.6.1"
|
||||
|
||||
"@vue/compiler-dom@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.0.11.tgz#b15fc1c909371fd671746020ba55b5dab4a730ee"
|
||||
integrity sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw==
|
||||
dependencies:
|
||||
"@vue/compiler-core" "3.0.11"
|
||||
"@vue/shared" "3.0.11"
|
||||
|
||||
"@vue/reactivity@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.0.11.tgz#07b588349fd05626b17f3500cbef7d4bdb4dbd0b"
|
||||
integrity sha512-SKM3YKxtXHBPMf7yufXeBhCZ4XZDKP9/iXeQSC8bBO3ivBuzAi4aZi0bNoeE2IF2iGfP/AHEt1OU4ARj4ao/Xw==
|
||||
dependencies:
|
||||
"@vue/shared" "3.0.11"
|
||||
|
||||
"@vue/runtime-core@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.0.11.tgz#c52dfc6acf3215493623552c1c2919080c562e44"
|
||||
integrity sha512-87XPNwHfz9JkmOlayBeCCfMh9PT2NBnv795DSbi//C/RaAnc/bGZgECjmkD7oXJ526BZbgk9QZBPdFT8KMxkAg==
|
||||
dependencies:
|
||||
"@vue/reactivity" "3.0.11"
|
||||
"@vue/shared" "3.0.11"
|
||||
|
||||
"@vue/runtime-dom@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.0.11.tgz#7a552df21907942721feb6961c418e222a699337"
|
||||
integrity sha512-jm3FVQESY3y2hKZ2wlkcmFDDyqaPyU3p1IdAX92zTNeCH7I8zZ37PtlE1b9NlCtzV53WjB4TZAYh9yDCMIEumA==
|
||||
dependencies:
|
||||
"@vue/runtime-core" "3.0.11"
|
||||
"@vue/shared" "3.0.11"
|
||||
csstype "^2.6.8"
|
||||
|
||||
"@vue/shared@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.11.tgz#20d22dd0da7d358bb21c17f9bde8628152642c77"
|
||||
integrity sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==
|
||||
|
||||
"@webassemblyjs/ast@1.9.0":
|
||||
version "1.9.0"
|
||||
@@ -1385,7 +1435,7 @@ bluebird@3.5.3:
|
||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7"
|
||||
integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==
|
||||
|
||||
bluebird@^3.1.1, bluebird@^3.5.5:
|
||||
bluebird@^3.5.5:
|
||||
version "3.7.2"
|
||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
|
||||
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
|
||||
@@ -1779,7 +1829,7 @@ caseless@~0.12.0:
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
||||
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
|
||||
|
||||
chalk@4.1.1:
|
||||
chalk@4.1.1, chalk@^4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
|
||||
integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
|
||||
@@ -2009,13 +2059,6 @@ console-browserify@^1.1.0:
|
||||
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
|
||||
integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
|
||||
|
||||
consolidate@^0.15.1:
|
||||
version "0.15.1"
|
||||
resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7"
|
||||
integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==
|
||||
dependencies:
|
||||
bluebird "^3.1.1"
|
||||
|
||||
constants-browserify@^1.0.0, constants-browserify@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
|
||||
@@ -2194,6 +2237,11 @@ cssesc@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
|
||||
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
|
||||
|
||||
csstype@^2.6.8:
|
||||
version "2.6.17"
|
||||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.17.tgz#4cf30eb87e1d1a005d8b6510f95292413f6a1c0e"
|
||||
integrity sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==
|
||||
|
||||
cyclist@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
|
||||
@@ -2216,11 +2264,6 @@ dayjs@1.10.4:
|
||||
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.4.tgz#8e544a9b8683f61783f570980a8a80eaf54ab1e2"
|
||||
integrity sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==
|
||||
|
||||
de-indent@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
|
||||
integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=
|
||||
|
||||
debug@4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
||||
@@ -2575,6 +2618,11 @@ estraverse@^5.2.0:
|
||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
|
||||
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
|
||||
|
||||
estree-walker@^2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
|
||||
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
|
||||
|
||||
events@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/events/-/events-2.1.0.tgz#2a9a1e18e6106e0e812aa9ebd4a819b3c29c0ba5"
|
||||
@@ -3042,10 +3090,10 @@ hash-base@^3.0.0:
|
||||
readable-stream "^3.6.0"
|
||||
safe-buffer "^5.2.0"
|
||||
|
||||
hash-sum@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04"
|
||||
integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=
|
||||
hash-sum@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
|
||||
integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
|
||||
|
||||
hash.js@^1.0.0, hash.js@^1.0.3:
|
||||
version "1.1.7"
|
||||
@@ -3070,7 +3118,7 @@ hasha@^5.0.0:
|
||||
is-stream "^2.0.0"
|
||||
type-fest "^0.8.0"
|
||||
|
||||
he@^1.1.0, he@^1.2.0:
|
||||
he@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
||||
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
||||
@@ -3757,7 +3805,7 @@ loader-runner@^2.4.0:
|
||||
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
|
||||
integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
|
||||
|
||||
loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
|
||||
loader-utils@^1.0.1, loader-utils@^1.2.3, loader-utils@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
|
||||
integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
|
||||
@@ -3766,6 +3814,15 @@ loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2
|
||||
emojis-list "^3.0.0"
|
||||
json5 "^1.0.1"
|
||||
|
||||
loader-utils@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
|
||||
integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==
|
||||
dependencies:
|
||||
big.js "^5.2.2"
|
||||
emojis-list "^3.0.0"
|
||||
json5 "^2.1.2"
|
||||
|
||||
locate-path@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
|
||||
@@ -3820,7 +3877,7 @@ lower-case@^2.0.2:
|
||||
dependencies:
|
||||
tslib "^2.0.3"
|
||||
|
||||
lru-cache@^4.0.1, lru-cache@^4.1.2:
|
||||
lru-cache@^4.0.1:
|
||||
version "4.1.5"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
|
||||
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
|
||||
@@ -4635,11 +4692,6 @@ postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
|
||||
source-map "^0.6.1"
|
||||
supports-color "^6.1.0"
|
||||
|
||||
prettier@^1.18.2:
|
||||
version "1.19.1"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
|
||||
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
|
||||
|
||||
pretty-error@^2.1.1:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6"
|
||||
@@ -5911,47 +5963,23 @@ vm-browserify@^1.0.0, vm-browserify@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
|
||||
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
|
||||
|
||||
vue-hot-reload-api@^2.3.0:
|
||||
version "2.3.4"
|
||||
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
|
||||
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
|
||||
|
||||
vue-loader@15.9.6:
|
||||
version "15.9.6"
|
||||
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.6.tgz#f4bb9ae20c3a8370af3ecf09b8126d38ffdb6b8b"
|
||||
integrity sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==
|
||||
vue-loader@16.2.0:
|
||||
version "16.2.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-16.2.0.tgz#046a53308dd47e58efe20ddec1edec027ce3b46e"
|
||||
integrity sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==
|
||||
dependencies:
|
||||
"@vue/component-compiler-utils" "^3.1.0"
|
||||
hash-sum "^1.0.2"
|
||||
loader-utils "^1.1.0"
|
||||
vue-hot-reload-api "^2.3.0"
|
||||
vue-style-loader "^4.1.0"
|
||||
chalk "^4.1.0"
|
||||
hash-sum "^2.0.0"
|
||||
loader-utils "^2.0.0"
|
||||
|
||||
vue-style-loader@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35"
|
||||
integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==
|
||||
vue@3.0.11:
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-3.0.11.tgz#c82f9594cbf4dcc869241d4c8dd3e08d9a8f4b5f"
|
||||
integrity sha512-3/eUi4InQz8MPzruHYSTQPxtM3LdZ1/S/BvaU021zBnZi0laRUyH6pfuE4wtUeLvI8wmUNwj5wrZFvbHUXL9dw==
|
||||
dependencies:
|
||||
hash-sum "^1.0.2"
|
||||
loader-utils "^1.0.2"
|
||||
|
||||
vue-template-compiler@2.6.12:
|
||||
version "2.6.12"
|
||||
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz#947ed7196744c8a5285ebe1233fe960437fcc57e"
|
||||
integrity sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==
|
||||
dependencies:
|
||||
de-indent "^1.0.2"
|
||||
he "^1.1.0"
|
||||
|
||||
vue-template-es2015-compiler@^1.9.0:
|
||||
version "1.9.1"
|
||||
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
|
||||
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
|
||||
|
||||
vue@2.6.12:
|
||||
version "2.6.12"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123"
|
||||
integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==
|
||||
"@vue/compiler-dom" "3.0.11"
|
||||
"@vue/runtime-dom" "3.0.11"
|
||||
"@vue/shared" "3.0.11"
|
||||
|
||||
watchify@3.11.1:
|
||||
version "3.11.1"
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
# editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
90
npm/vue/examples/nuxt/.gitignore
vendored
90
npm/vue/examples/nuxt/.gitignore
vendored
@@ -1,90 +0,0 @@
|
||||
# Created by .ignore support plugin (hsz.mobi)
|
||||
### Node template
|
||||
# Logs
|
||||
/logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
||||
# nuxt.js build output
|
||||
.nuxt
|
||||
|
||||
# Nuxt generate
|
||||
dist
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless
|
||||
|
||||
# IDE / Editor
|
||||
.idea
|
||||
|
||||
# Service worker
|
||||
sw.*
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
|
||||
# Vim swap files
|
||||
*.swp
|
||||
@@ -1,131 +0,0 @@
|
||||
# cypress-ct-example-nuxt
|
||||
|
||||
Example of usage of Cypress component testing within Nuxt
|
||||
|
||||
## Disclaimer
|
||||
|
||||
This package is meant to run within the cypress monorepo.
|
||||
If you copy this project out of the Cypress monorepo, It will work.
|
||||
Do not forget to replace the cypress commands in the `package.json` scripts:
|
||||
|
||||
- Open `package.json`
|
||||
- find the `test` and `cy:open` scripts
|
||||
- In those scripts, replace `node ../../../../scripts/cypress` by only `cypress`
|
||||
|
||||
You should obtain
|
||||
|
||||
```diff
|
||||
{
|
||||
"scripts":{
|
||||
- "cy:open": "node ../../../../scripts/cypress open-ct",
|
||||
+ "cy:open": "cypress open-ct",
|
||||
- "test": "node ../../../../scripts/cypress run-ct"
|
||||
+ "test": "cypress run-ct"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Build Setup
|
||||
|
||||
```bash
|
||||
# install dependencies
|
||||
$ yarn install
|
||||
|
||||
# serve with hot reload at localhost:3000
|
||||
$ yarn dev
|
||||
|
||||
# build for production and launch server
|
||||
$ yarn build
|
||||
$ yarn start
|
||||
|
||||
# generate static project
|
||||
$ yarn generate
|
||||
|
||||
# start Cypress component testing
|
||||
$ yarn cy:open
|
||||
|
||||
# run all component tests at once for example on CI
|
||||
$ yarn test
|
||||
```
|
||||
|
||||
## Installing Cypress component testing
|
||||
|
||||
In a project created using nuxt-create-app, install Cypress component testing by following these steps:
|
||||
|
||||
### Install dependencies
|
||||
|
||||
TLDR:
|
||||
|
||||
```bash
|
||||
yarn add -D cypress @cypress/webpack-dev-server @cypress/vue
|
||||
```
|
||||
|
||||
We need to install:
|
||||
- `cypress` as it contains all the tools for finding items, clicking on buttons and do what we would do in the tests.
|
||||
- `@cypress/webpack-dev-server` to see the tested components in an environment similar to your app, where they will be used,. We do this to enable importing css files, importing typescript libraries, allow custom webpack aliases. This will enable for example the use of `~` `require('~/assets/styles.css')`.
|
||||
- `@cypress/vue` will offer a simple and standard function to mount the components in our test window so that we can use cypress to check if they behave as we expect.
|
||||
|
||||
|
||||
### Configure Cypress
|
||||
|
||||
To setup any Cypress runner, the standard way is to create a `cypress.json` file at the root of your project. Checkout [the docs](https://docs.cypress.io/guides/references/configuration) to know the extend of your options.
|
||||
|
||||
Here is the `cypress.json` file at work in this project:
|
||||
|
||||
```js
|
||||
// cypress.json
|
||||
{
|
||||
// Set this porperty to false to avoid cypress creating
|
||||
// example `fixture` and `support` folders for fixtures and support files
|
||||
// Remove the 2 lines if you are
|
||||
"fixturesFolder": false,
|
||||
"supportFile": false,
|
||||
// Tell Cypress how to recognize spec files
|
||||
"testFiles": "**/*spec.ts",
|
||||
// All the component test files are
|
||||
// located in this directory and its sub-directory
|
||||
"componentFolder": "components"
|
||||
}
|
||||
```
|
||||
|
||||
### Setup Cypress plugins
|
||||
|
||||
For the last step of the install process, create a `cypress/plugin/index.js` file.
|
||||
This file will let Cypress know how to start the testing server with your Nuxt configuration.
|
||||
|
||||
Since Nuxt is using webpack under the hood to build your app, it contains awebpack config.
|
||||
We can ask to see this webpack config using the `getWebpackConfig()` function.
|
||||
|
||||
```js
|
||||
/// <reference types="cypress" />
|
||||
const { startDevServer } = require('@cypress/webpack-dev-server')
|
||||
const { getWebpackConfig } = require('nuxt')
|
||||
|
||||
/**
|
||||
* @type Cypress.PluginConfig
|
||||
*/
|
||||
module.exports = (on, config) => {
|
||||
on('dev-server:start', async (options) => {
|
||||
// This function asks Nuxt to build its webpack config,
|
||||
// but insteak of launching a Nuxt Server, it returns the config
|
||||
// object fo us to do as we please
|
||||
let webpackConfig = await getWebpackConfig('modern', 'dev')
|
||||
|
||||
// We can then start the server with the created config
|
||||
return startDevServer({
|
||||
options,
|
||||
webpackConfig,
|
||||
})
|
||||
})
|
||||
|
||||
return config
|
||||
}
|
||||
```
|
||||
|
||||
> NOTE: both the `on` handler function and the PluginConfig return something. Don't forget those returns.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# ASSETS
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).
|
||||
@@ -1,9 +0,0 @@
|
||||
import { mount } from '@cypress/vue'
|
||||
import Logo from './Logo.vue'
|
||||
|
||||
describe('<Logo />', () => {
|
||||
it('contains an svg', () => {
|
||||
mount(Logo)
|
||||
cy.get('svg').should('be.visible')
|
||||
})
|
||||
})
|
||||
@@ -1,29 +0,0 @@
|
||||
<template>
|
||||
<svg class="NuxtLogo" width="245" height="180" viewBox="0 0 452 342" xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M139 330l-1-2c-2-4-2-8-1-13H29L189 31l67 121 22-16-67-121c-1-2-9-14-22-14-6 0-15 2-22 15L5 303c-1 3-8 16-2 27 4 6 10 12 24 12h136c-14 0-21-6-24-12z"
|
||||
fill="#00C58E"
|
||||
/>
|
||||
<path
|
||||
d="M447 304L317 70c-2-2-9-15-22-15-6 0-15 3-22 15l-17 28v54l39-67 129 230h-49a23 23 0 0 1-2 14l-1 1c-6 11-21 12-23 12h76c3 0 17-1 24-12 3-5 5-14-2-26z"
|
||||
fill="#108775"
|
||||
/>
|
||||
<path
|
||||
d="M376 330v-1l1-2c1-4 2-8 1-12l-4-12-102-178-15-27h-1l-15 27-102 178-4 12a24 24 0 0 0 2 15c4 6 10 12 24 12h190c3 0 18-1 25-12zM256 152l93 163H163l93-163z"
|
||||
fill="#2F495E"
|
||||
/>
|
||||
</svg>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
.NuxtLogo {
|
||||
animation: 1s appear;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
@keyframes appear {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,7 +0,0 @@
|
||||
# COMPONENTS
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
The components directory contains your Vue.js Components.
|
||||
|
||||
_Nuxt.js doesn't supercharge these components._
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"video": false,
|
||||
"fixturesFolder": false,
|
||||
"supportFile": false,
|
||||
"testFiles": "**/*spec.ts",
|
||||
"componentFolder": "components"
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
/// <reference types="cypress" />
|
||||
const { startDevServer } = require('@cypress/webpack-dev-server')
|
||||
const { getWebpackConfig } = require('nuxt')
|
||||
|
||||
/**
|
||||
* @type Cypress.PluginConfig
|
||||
*/
|
||||
module.exports = (on, config) => {
|
||||
on('dev-server:start', async (options) => {
|
||||
// Use the modern configuration of webpack since we
|
||||
// will never use it with Internet Explorer within cypress
|
||||
let webpackConfig = await getWebpackConfig('modern', 'dev')
|
||||
|
||||
return startDevServer({
|
||||
options,
|
||||
webpackConfig,
|
||||
})
|
||||
})
|
||||
|
||||
return config
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
# LAYOUTS
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your Application Layouts.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).
|
||||
@@ -1,62 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<Nuxt />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
html {
|
||||
font-family:
|
||||
'Source Sans Pro',
|
||||
-apple-system,
|
||||
BlinkMacSystemFont,
|
||||
'Segoe UI',
|
||||
Roboto,
|
||||
'Helvetica Neue',
|
||||
Arial,
|
||||
sans-serif;
|
||||
font-size: 16px;
|
||||
word-spacing: 1px;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.button--green {
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #3b8070;
|
||||
color: #3b8070;
|
||||
text-decoration: none;
|
||||
padding: 10px 30px;
|
||||
}
|
||||
|
||||
.button--green:hover {
|
||||
color: #fff;
|
||||
background-color: #3b8070;
|
||||
}
|
||||
|
||||
.button--grey {
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #35495e;
|
||||
color: #35495e;
|
||||
text-decoration: none;
|
||||
padding: 10px 30px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.button--grey:hover {
|
||||
color: #fff;
|
||||
background-color: #35495e;
|
||||
}
|
||||
</style>
|
||||
@@ -1,8 +0,0 @@
|
||||
# MIDDLEWARE
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your application middleware.
|
||||
Middleware let you define custom functions that can be run before rendering either a page or a group of pages.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).
|
||||
@@ -1,42 +0,0 @@
|
||||
export default {
|
||||
// Global page headers: https://go.nuxtjs.dev/config-head
|
||||
head: {
|
||||
title: 'cypress-ct-example-nuxt',
|
||||
htmlAttrs: {
|
||||
lang: 'en',
|
||||
},
|
||||
meta: [
|
||||
{ charset: 'utf-8' },
|
||||
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
||||
{ hid: 'description', name: 'description', content: '' },
|
||||
],
|
||||
link: [
|
||||
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
|
||||
],
|
||||
},
|
||||
|
||||
// Global CSS: https://go.nuxtjs.dev/config-css
|
||||
css: [
|
||||
],
|
||||
|
||||
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
|
||||
plugins: [
|
||||
],
|
||||
|
||||
// Auto import components: https://go.nuxtjs.dev/config-components
|
||||
components: true,
|
||||
|
||||
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
|
||||
buildModules: [
|
||||
// https://go.nuxtjs.dev/typescript
|
||||
'@nuxt/typescript-build',
|
||||
],
|
||||
|
||||
// Modules: https://go.nuxtjs.dev/config-modules
|
||||
modules: [
|
||||
],
|
||||
|
||||
// Build Configuration: https://go.nuxtjs.dev/config-build
|
||||
build: {
|
||||
},
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"name": "cypress-ct-example-nuxt",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "nuxt build",
|
||||
"cy:open": "node ../../../../scripts/cypress open-ct",
|
||||
"dev": "nuxt",
|
||||
"generate": "nuxt generate",
|
||||
"start": "nuxt start",
|
||||
"test": "node ../../../../scripts/cypress run-ct"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": "^3.9.1",
|
||||
"nuxt": "^2.15.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cypress/vue": "file:../../dist",
|
||||
"@nuxt/types": "^2.15.3",
|
||||
"@nuxt/typescript-build": "^2.1.0",
|
||||
"mocha-junit-reporter": "^2.0.0",
|
||||
"mocha-multi-reporters": "^1.5.1"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
# PAGES
|
||||
|
||||
This directory contains your Application Views and Routes.
|
||||
The framework reads all the `*.vue` files inside this directory and creates the router of your application.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).
|
||||
@@ -1,75 +0,0 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div>
|
||||
<Logo />
|
||||
<h1 class="title">
|
||||
cypress-ct-example-nuxt
|
||||
</h1>
|
||||
<div class="links">
|
||||
<a
|
||||
href="https://nuxtjs.org/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="button--green"
|
||||
>
|
||||
Documentation
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/nuxt/nuxt.js"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="button--grey"
|
||||
>
|
||||
GitHub
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue'
|
||||
|
||||
export default Vue.extend({})
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.container {
|
||||
margin: 0 auto;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-family:
|
||||
'Quicksand',
|
||||
'Source Sans Pro',
|
||||
-apple-system,
|
||||
BlinkMacSystemFont,
|
||||
'Segoe UI',
|
||||
Roboto,
|
||||
'Helvetica Neue',
|
||||
Arial,
|
||||
sans-serif;
|
||||
display: block;
|
||||
font-weight: 300;
|
||||
font-size: 100px;
|
||||
color: #35495e;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-weight: 300;
|
||||
font-size: 42px;
|
||||
color: #526488;
|
||||
word-spacing: 5px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.links {
|
||||
padding-top: 15px;
|
||||
}
|
||||
</style>
|
||||
@@ -1,7 +0,0 @@
|
||||
# PLUGINS
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains Javascript plugins that you want to run before mounting the root Vue.js application.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).
|
||||
4
npm/vue/examples/nuxt/shims-vue.d.ts
vendored
4
npm/vue/examples/nuxt/shims-vue.d.ts
vendored
@@ -1,4 +0,0 @@
|
||||
declare module '*.vue' {
|
||||
import Vue from 'vue'
|
||||
export default Vue
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
# STATIC
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your static files.
|
||||
Each file inside this directory is mapped to `/`.
|
||||
Thus you'd want to delete this README.md before deploying to production.
|
||||
|
||||
Example: `/static/robots.txt` is mapped as `/robots.txt`.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1,10 +0,0 @@
|
||||
# STORE
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your Vuex Store files.
|
||||
Vuex Store option is implemented in the Nuxt.js framework.
|
||||
|
||||
Creating a file in this directory automatically activates the option in the framework.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2018",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Node",
|
||||
"lib": [
|
||||
"ESNext",
|
||||
"ESNext.AsyncIterable",
|
||||
"DOM"
|
||||
],
|
||||
"esModuleInterop": true,
|
||||
"allowJs": true,
|
||||
"sourceMap": true,
|
||||
"strict": true,
|
||||
"noEmit": true,
|
||||
"experimentalDecorators": true,
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"~/*": [
|
||||
"./*"
|
||||
],
|
||||
"@/*": [
|
||||
"./*"
|
||||
]
|
||||
},
|
||||
"types": [
|
||||
"@nuxt/types",
|
||||
"@types/node"
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
".nuxt",
|
||||
"dist"
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -13,7 +13,7 @@
|
||||
"dependencies": {
|
||||
"core-js": "^3.6.5",
|
||||
"register-service-worker": "^1.7.1",
|
||||
"vue": "^2.6.11"
|
||||
"vue": "^3.0.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cypress/code-coverage": "^3.9.5",
|
||||
|
||||
@@ -325,7 +325,7 @@
|
||||
chalk "^2.0.0"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/parser@^7.12.13", "@babel/parser@^7.13.13":
|
||||
"@babel/parser@^7.12.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.13":
|
||||
version "7.13.13"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.13.tgz#42f03862f4aed50461e543270916b47dd501f0df"
|
||||
integrity sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==
|
||||
@@ -1110,7 +1110,7 @@
|
||||
debug "^4.1.0"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.13", "@babel/types@^7.13.14", "@babel/types@^7.4.4":
|
||||
"@babel/types@^7.0.0", "@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.13", "@babel/types@^7.13.14", "@babel/types@^7.4.4":
|
||||
version "7.13.14"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.14.tgz#c35a4abb15c7cd45a2746d78ab328e362cbace0d"
|
||||
integrity sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==
|
||||
@@ -1681,6 +1681,25 @@
|
||||
semver "^6.1.0"
|
||||
strip-ansi "^6.0.0"
|
||||
|
||||
"@vue/compiler-core@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.0.11.tgz#5ef579e46d7b336b8735228758d1c2c505aae69a"
|
||||
integrity sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.12.0"
|
||||
"@babel/types" "^7.12.0"
|
||||
"@vue/shared" "3.0.11"
|
||||
estree-walker "^2.0.1"
|
||||
source-map "^0.6.1"
|
||||
|
||||
"@vue/compiler-dom@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.0.11.tgz#b15fc1c909371fd671746020ba55b5dab4a730ee"
|
||||
integrity sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw==
|
||||
dependencies:
|
||||
"@vue/compiler-core" "3.0.11"
|
||||
"@vue/shared" "3.0.11"
|
||||
|
||||
"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2":
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d"
|
||||
@@ -1702,6 +1721,35 @@
|
||||
resolved "https://registry.yarnpkg.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz#ceb924b4ecb3b9c43871c7a429a02f8423e621ab"
|
||||
integrity sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==
|
||||
|
||||
"@vue/reactivity@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.0.11.tgz#07b588349fd05626b17f3500cbef7d4bdb4dbd0b"
|
||||
integrity sha512-SKM3YKxtXHBPMf7yufXeBhCZ4XZDKP9/iXeQSC8bBO3ivBuzAi4aZi0bNoeE2IF2iGfP/AHEt1OU4ARj4ao/Xw==
|
||||
dependencies:
|
||||
"@vue/shared" "3.0.11"
|
||||
|
||||
"@vue/runtime-core@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.0.11.tgz#c52dfc6acf3215493623552c1c2919080c562e44"
|
||||
integrity sha512-87XPNwHfz9JkmOlayBeCCfMh9PT2NBnv795DSbi//C/RaAnc/bGZgECjmkD7oXJ526BZbgk9QZBPdFT8KMxkAg==
|
||||
dependencies:
|
||||
"@vue/reactivity" "3.0.11"
|
||||
"@vue/shared" "3.0.11"
|
||||
|
||||
"@vue/runtime-dom@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.0.11.tgz#7a552df21907942721feb6961c418e222a699337"
|
||||
integrity sha512-jm3FVQESY3y2hKZ2wlkcmFDDyqaPyU3p1IdAX92zTNeCH7I8zZ37PtlE1b9NlCtzV53WjB4TZAYh9yDCMIEumA==
|
||||
dependencies:
|
||||
"@vue/runtime-core" "3.0.11"
|
||||
"@vue/shared" "3.0.11"
|
||||
csstype "^2.6.8"
|
||||
|
||||
"@vue/shared@3.0.11":
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.11.tgz#20d22dd0da7d358bb21c17f9bde8628152642c77"
|
||||
integrity sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==
|
||||
|
||||
"@vue/web-component-wrapper@^1.2.0":
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz#b6b40a7625429d2bd7c2281ddba601ed05dc7f1a"
|
||||
@@ -3559,6 +3607,11 @@ csso@^4.0.2:
|
||||
dependencies:
|
||||
css-tree "^1.1.2"
|
||||
|
||||
csstype@^2.6.8:
|
||||
version "2.6.16"
|
||||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.16.tgz#544d69f547013b85a40d15bff75db38f34fe9c39"
|
||||
integrity sha512-61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q==
|
||||
|
||||
cyclist@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
|
||||
@@ -4090,6 +4143,11 @@ estraverse@^5.2.0:
|
||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
|
||||
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
|
||||
|
||||
estree-walker@^2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
|
||||
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
|
||||
|
||||
esutils@^2.0.2:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
||||
@@ -9119,10 +9177,14 @@ vue-template-es2015-compiler@^1.9.0:
|
||||
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
|
||||
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
|
||||
|
||||
vue@^2.6.11:
|
||||
version "2.6.12"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123"
|
||||
integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==
|
||||
vue@^3.0.11:
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-3.0.11.tgz#c82f9594cbf4dcc869241d4c8dd3e08d9a8f4b5f"
|
||||
integrity sha512-3/eUi4InQz8MPzruHYSTQPxtM3LdZ1/S/BvaU021zBnZi0laRUyH6pfuE4wtUeLvI8wmUNwj5wrZFvbHUXL9dw==
|
||||
dependencies:
|
||||
"@vue/compiler-dom" "3.0.11"
|
||||
"@vue/runtime-dom" "3.0.11"
|
||||
"@vue/shared" "3.0.11"
|
||||
|
||||
watchify@3.11.1:
|
||||
version "3.11.1"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@cypress/mount-utils": "0.0.0-development",
|
||||
"@vue/test-utils": "^1.1.3"
|
||||
"@vue/test-utils": "^2.0.0-rc.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.9.0",
|
||||
@@ -22,11 +22,12 @@
|
||||
"@babel/preset-env": "7.9.5",
|
||||
"@cypress/code-coverage": "3.8.1",
|
||||
"@cypress/webpack-dev-server": "0.0.0-development",
|
||||
"@intlify/vue-i18n-loader": "1.0.0",
|
||||
"@intlify/vue-i18n-loader": "2.0.0-rc.1",
|
||||
"@rollup/plugin-commonjs": "^17.1.0",
|
||||
"@rollup/plugin-node-resolve": "^11.1.1",
|
||||
"@vue/cli-plugin-babel": "~4.4.0",
|
||||
"@vue/cli-service": "~4.4.0",
|
||||
"@vue/compiler-sfc": "^3.0.5",
|
||||
"axios": "0.19.2",
|
||||
"babel-loader": "8.1.0",
|
||||
"babel-plugin-istanbul": "6.0.0",
|
||||
@@ -42,22 +43,19 @@
|
||||
"rollup-plugin-istanbul": "2.0.1",
|
||||
"rollup-plugin-typescript2": "^0.29.0",
|
||||
"tailwindcss": "1.1.4",
|
||||
"tslib": "^2.1.0",
|
||||
"typescript": "^4.2.3",
|
||||
"unfetch": "4.1.0",
|
||||
"vue": "2.6.12",
|
||||
"vue-i18n": "8.9.0",
|
||||
"vue-loader": "15.9.3",
|
||||
"vue-router": "3.0.5",
|
||||
"typescript": "3.9.6",
|
||||
"vue": "3.0.11",
|
||||
"vue-i18n": "9.0.0-rc.6",
|
||||
"vue-loader": "16.1.2",
|
||||
"vue-router": "^4.0.0",
|
||||
"vue-style-loader": "4.1.2",
|
||||
"vue-template-compiler": "2.6.12",
|
||||
"vuex": "3.1.1",
|
||||
"vuex": "^4.0.0",
|
||||
"webpack": "4.42.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@cypress/webpack-dev-server": "*",
|
||||
"cypress": ">=4.5.0",
|
||||
"vue": "^2.0.0"
|
||||
"cypress": ">=7.0.0",
|
||||
"vue": ">=3.0.0"
|
||||
},
|
||||
"files": [
|
||||
"dist/**/*",
|
||||
@@ -83,6 +81,9 @@
|
||||
"peerDependenciesMeta": {
|
||||
"@cypress/webpack-dev-server": {
|
||||
"optional": true
|
||||
},
|
||||
"babel-loader": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"publishConfig": {
|
||||
|
||||
@@ -82,6 +82,4 @@ export default [
|
||||
createEntry({ format: 'es', input: 'src/index.ts', isBrowser: true }),
|
||||
createEntry({ format: 'iife', input: 'src/index.ts', isBrowser: true }),
|
||||
createEntry({ format: 'cjs', input: 'src/index.ts', isBrowser: false }),
|
||||
createEntry({ format: 'cjs', input: 'src/support.js', isBrowser: false }),
|
||||
createEntry({ format: 'cjs', input: 'src/plugins/webpack/index.js', isBrowser: false }),
|
||||
]
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
/// <reference types="cypress" />
|
||||
import Vue from 'vue'
|
||||
import {
|
||||
createLocalVue,
|
||||
mount as testUtilsMount,
|
||||
VueTestUtilsConfigOptions,
|
||||
Wrapper,
|
||||
enableAutoDestroy,
|
||||
} from '@vue/test-utils'
|
||||
import { Component, ComponentPublicInstance } from 'vue'
|
||||
import { MountingOptions, VueWrapper, mount as VTUmount } from '@vue/test-utils'
|
||||
import {
|
||||
injectStylesBeforeElement,
|
||||
StyleOptions,
|
||||
@@ -14,232 +8,7 @@ import {
|
||||
setupHooks,
|
||||
} from '@cypress/mount-utils'
|
||||
|
||||
const defaultOptions: (keyof MountOptions)[] = [
|
||||
'vue',
|
||||
'extensions',
|
||||
]
|
||||
|
||||
const registerGlobalComponents = (Vue, options) => {
|
||||
const globalComponents = Cypress._.get(options, 'extensions.components')
|
||||
|
||||
if (Cypress._.isPlainObject(globalComponents)) {
|
||||
Cypress._.forEach(globalComponents, (component, id) => {
|
||||
Vue.component(id, component)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const installFilters = (Vue, options) => {
|
||||
const filters: VueFilters | undefined = Cypress._.get(
|
||||
options,
|
||||
'extensions.filters',
|
||||
)
|
||||
|
||||
if (Cypress._.isPlainObject(filters)) {
|
||||
Object.keys(filters).forEach((name) => {
|
||||
Vue.filter(name, filters[name])
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const installPlugins = (Vue, options, props) => {
|
||||
const plugins: VuePlugins =
|
||||
Cypress._.get(props, 'plugins') ||
|
||||
Cypress._.get(options, 'extensions.use') ||
|
||||
Cypress._.get(options, 'extensions.plugins') ||
|
||||
[]
|
||||
|
||||
// @ts-ignore
|
||||
plugins.forEach((p) => {
|
||||
Array.isArray(p) ? Vue.use(...p) : Vue.use(p)
|
||||
})
|
||||
}
|
||||
|
||||
const installMixins = (Vue, options) => {
|
||||
const mixins =
|
||||
Cypress._.get(options, 'extensions.mixin') ||
|
||||
Cypress._.get(options, 'extensions.mixins')
|
||||
|
||||
if (Cypress._.isArray(mixins)) {
|
||||
mixins.forEach((mixin) => {
|
||||
Vue.mixin(mixin)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const hasStore = ({ store }: { store: any }) => Boolean(store && store._vm)
|
||||
|
||||
const forEachValue = <T>(obj: Record<string, T>, fn: (value: T, key: string) => void) => {
|
||||
return Object.keys(obj).forEach((key) => fn(obj[key], key))
|
||||
}
|
||||
|
||||
const resetStoreVM = (Vue, { store }) => {
|
||||
// bind store public getters
|
||||
store.getters = {}
|
||||
const wrappedGetters = store._wrappedGetters as Record<string, (store: any) => void>
|
||||
const computed = {}
|
||||
|
||||
forEachValue(wrappedGetters, (fn, key) => {
|
||||
// use computed to leverage its lazy-caching mechanism
|
||||
computed[key] = () => fn(store)
|
||||
Object.defineProperty(store.getters, key, {
|
||||
get: () => store._vm[key],
|
||||
enumerable: true, // for local getters
|
||||
})
|
||||
})
|
||||
|
||||
store._watcherVM = new Vue()
|
||||
store._vm = new Vue({
|
||||
data: {
|
||||
$$state: store._vm._data.$$state,
|
||||
},
|
||||
computed,
|
||||
})
|
||||
|
||||
return store
|
||||
}
|
||||
|
||||
/**
|
||||
* Type for component passed to "mount"
|
||||
*
|
||||
* @interface VueComponent
|
||||
* @example
|
||||
* import Hello from './Hello.vue'
|
||||
* ^^^^^ this type
|
||||
* mount(Hello)
|
||||
*/
|
||||
type VueComponent = Vue.ComponentOptions<any> | Vue.VueConstructor
|
||||
|
||||
/**
|
||||
* Options to pass to the component when creating it, like
|
||||
* props.
|
||||
*
|
||||
* @interface ComponentOptions
|
||||
*/
|
||||
type ComponentOptions = Record<string, unknown>
|
||||
|
||||
// local placeholder types
|
||||
type VueLocalComponents = Record<string, VueComponent>
|
||||
|
||||
type VueFilters = {
|
||||
[key: string]: (value: string) => string
|
||||
}
|
||||
|
||||
type VueMixin = unknown
|
||||
type VueMixins = VueMixin | VueMixin[]
|
||||
|
||||
type VuePluginOptions = unknown
|
||||
type VuePlugin = unknown | [unknown, VuePluginOptions]
|
||||
/**
|
||||
* A single Vue plugin or a list of plugins to register
|
||||
*/
|
||||
type VuePlugins = VuePlugin[]
|
||||
|
||||
/**
|
||||
* Additional Vue services to register while mounting the component, like
|
||||
* local components, plugins, etc.
|
||||
*
|
||||
* @interface MountOptionsExtensions
|
||||
* @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
|
||||
*/
|
||||
interface MountOptionsExtensions {
|
||||
/**
|
||||
* Extra local components
|
||||
*
|
||||
* @memberof MountOptionsExtensions
|
||||
* @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
|
||||
* @example
|
||||
* import Hello from './Hello.vue'
|
||||
* // imagine Hello needs AppComponent
|
||||
* // that it uses in its template like <app-component ... />
|
||||
* // during testing we can replace it with a mock component
|
||||
* const appComponent = ...
|
||||
* const components = {
|
||||
* 'app-component': appComponent
|
||||
* },
|
||||
* mount(Hello, { extensions: { components }})
|
||||
*/
|
||||
components?: VueLocalComponents
|
||||
|
||||
/**
|
||||
* Optional Vue filters to install while mounting the component
|
||||
*
|
||||
* @memberof MountOptionsExtensions
|
||||
* @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
|
||||
* @example
|
||||
* const filters = {
|
||||
* reverse: (s) => s.split('').reverse().join(''),
|
||||
* }
|
||||
* mount(Hello, { extensions: { filters }})
|
||||
*/
|
||||
filters?: VueFilters
|
||||
|
||||
/**
|
||||
* Optional Vue mixin(s) to install when mounting the component
|
||||
*
|
||||
* @memberof MountOptionsExtensions
|
||||
* @alias mixins
|
||||
* @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
|
||||
*/
|
||||
mixin?: VueMixins
|
||||
|
||||
/**
|
||||
* Optional Vue mixin(s) to install when mounting the component
|
||||
*
|
||||
* @memberof MountOptionsExtensions
|
||||
* @alias mixin
|
||||
* @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
|
||||
*/
|
||||
mixins?: VueMixins
|
||||
|
||||
/**
|
||||
* A single plugin or multiple plugins.
|
||||
*
|
||||
* @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
|
||||
* @alias plugins
|
||||
* @memberof MountOptionsExtensions
|
||||
*/
|
||||
use?: VuePlugins
|
||||
|
||||
/**
|
||||
* A single plugin or multiple plugins.
|
||||
*
|
||||
* @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
|
||||
* @alias use
|
||||
* @memberof MountOptionsExtensions
|
||||
*/
|
||||
plugins?: VuePlugins
|
||||
}
|
||||
|
||||
/**
|
||||
* Options controlling how the component is going to be mounted,
|
||||
* including global Vue plugins and extensions.
|
||||
*
|
||||
* @interface MountOptions
|
||||
*/
|
||||
interface MountOptions {
|
||||
/**
|
||||
* Vue instance to use.
|
||||
*
|
||||
* @deprecated
|
||||
* @memberof MountOptions
|
||||
*/
|
||||
vue: unknown
|
||||
|
||||
/**
|
||||
* Extra Vue plugins, mixins, local components to register while
|
||||
* mounting this component
|
||||
*
|
||||
* @memberof MountOptions
|
||||
* @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
|
||||
*/
|
||||
extensions: MountOptionsExtensions
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility type for union of options passed to "mount(..., options)"
|
||||
*/
|
||||
type MountOptionsArgument = Partial<ComponentOptions & MountOptions & StyleOptions & VueTestUtilsConfigOptions>
|
||||
const DEFAULT_COMP_NAME = 'unknown'
|
||||
|
||||
// when we mount a Vue component, we add it to the global Cypress object
|
||||
// so here we extend the global Cypress namespace and its Cypress interface
|
||||
@@ -247,110 +16,55 @@ declare global {
|
||||
// eslint-disable-next-line no-redeclare
|
||||
namespace Cypress {
|
||||
interface Cypress {
|
||||
/**
|
||||
* Mounted Vue instance is available under Cypress.vue
|
||||
* @memberof Cypress
|
||||
* @example
|
||||
* mount(Greeting)
|
||||
* .then(() => {
|
||||
* Cypress.vue.message = 'Hello There'
|
||||
* })
|
||||
* // new message is displayed
|
||||
* cy.contains('Hello There').should('be.visible')
|
||||
*/
|
||||
vue: Vue
|
||||
vueWrapper: Wrapper<Vue>
|
||||
vueWrapper: VueWrapper<ComponentPublicInstance>
|
||||
vue: ComponentPublicInstance
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Direct Vue errors to the top error handler
|
||||
* where they will fail Cypress test
|
||||
* @see https://vuejs.org/v2/api/#errorHandler
|
||||
* @see https://github.com/cypress-io/cypress/issues/7910
|
||||
*/
|
||||
function failTestOnVueError (err, vm, info) {
|
||||
console.error(`Vue error`)
|
||||
console.error(err)
|
||||
console.error('component:', vm)
|
||||
console.error('info:', info)
|
||||
window.top.onerror(err)
|
||||
}
|
||||
type CyMountOptions<Props> = Omit<MountingOptions<Props>, 'attachTo'> & {
|
||||
log?: boolean
|
||||
/**
|
||||
* @deprecated use vue-test-utils `global` instead
|
||||
*/
|
||||
extensions?: MountingOptions<Props>['global'] & {
|
||||
use?: MountingOptions<Props>['global']['plugins']
|
||||
mixin?: MountingOptions<Props>['global']['mixins']
|
||||
}
|
||||
} & Partial<StyleOptions>
|
||||
|
||||
function registerAutoDestroy ($destroy: () => void) {
|
||||
let initialInnerHtml = ''
|
||||
|
||||
Cypress.on('run:start', () => {
|
||||
initialInnerHtml = document.head.innerHTML
|
||||
Cypress.on('test:before:run', () => {
|
||||
$destroy()
|
||||
})
|
||||
}
|
||||
|
||||
enableAutoDestroy(registerAutoDestroy)
|
||||
|
||||
const injectStyles = (options: StyleOptions) => {
|
||||
const el = document.getElementById(ROOT_ID)
|
||||
|
||||
return injectStylesBeforeElement(options, document, el)
|
||||
}
|
||||
|
||||
/**
|
||||
* Mounts a Vue component inside Cypress browser.
|
||||
* @param {object} component imported from Vue file
|
||||
* @example
|
||||
* import Greeting from './Greeting.vue'
|
||||
* import { mount } from '@cypress/vue'
|
||||
* it('works', () => {
|
||||
* // pass props, additional extensions, etc
|
||||
* mount(Greeting, { ... })
|
||||
* // use any Cypress command to test the component
|
||||
* cy.get('#greeting').should('be.visible')
|
||||
* })
|
||||
*/
|
||||
export const mount = (
|
||||
component: VueComponent,
|
||||
optionsOrProps: MountOptionsArgument = {},
|
||||
) => {
|
||||
const options: Partial<MountOptions> = Cypress._.pick(
|
||||
optionsOrProps,
|
||||
defaultOptions,
|
||||
)
|
||||
const props: Partial<ComponentOptions> = Cypress._.omit(
|
||||
optionsOrProps,
|
||||
defaultOptions,
|
||||
)
|
||||
|
||||
return cy
|
||||
.window({
|
||||
log: false,
|
||||
})
|
||||
.then(() => {
|
||||
const { style, stylesheets, stylesheet, styles, cssFiles, cssFile } = optionsOrProps
|
||||
|
||||
injectStyles({
|
||||
style,
|
||||
stylesheets,
|
||||
stylesheet,
|
||||
styles,
|
||||
cssFiles,
|
||||
cssFile,
|
||||
})
|
||||
})
|
||||
.then((win) => {
|
||||
const localVue = createLocalVue()
|
||||
|
||||
Cypress.vueWrapper?.unmount()
|
||||
// @ts-ignore
|
||||
win.Vue = localVue
|
||||
localVue.config.errorHandler = failTestOnVueError
|
||||
const document: Document = cy.state('document')
|
||||
let el = document.getElementById(ROOT_ID)
|
||||
|
||||
// set global Vue instance:
|
||||
// 1. convenience for debugging in DevTools
|
||||
// 2. some libraries might check for this global
|
||||
// appIframe.contentWindow.Vue = localVue
|
||||
el.innerHTML = ''
|
||||
document.head.innerHTML = initialInnerHtml
|
||||
})
|
||||
})
|
||||
|
||||
// refresh inner Vue instance of Vuex store
|
||||
// @ts-ignore
|
||||
if (hasStore(component)) {
|
||||
// @ts-ignore
|
||||
component.store = resetStoreVM(localVue, component)
|
||||
export function mount<Props = any> (
|
||||
comp: Component<Props>,
|
||||
options: CyMountOptions<Props> = {},
|
||||
) {
|
||||
// TODO: get the real displayName and props from VTU shallowMount
|
||||
const componentName = DEFAULT_COMP_NAME
|
||||
|
||||
const message = `<${componentName} ... />`
|
||||
let logInstance: Cypress.Log
|
||||
|
||||
// then wait for cypress to load
|
||||
return cy.then(() => {
|
||||
if (options.log !== false) {
|
||||
logInstance = Cypress.log({
|
||||
name: 'mount',
|
||||
message: [message],
|
||||
})
|
||||
}
|
||||
|
||||
// @ts-ignore
|
||||
@@ -358,24 +72,40 @@ export const mount = (
|
||||
|
||||
let el = document.getElementById(ROOT_ID)
|
||||
|
||||
injectStylesBeforeElement(options, document, el)
|
||||
|
||||
// merge the extensions with global
|
||||
if (options.extensions) {
|
||||
options.extensions.plugins = [].concat(options.extensions.plugins || [], options.extensions.use || [])
|
||||
options.extensions.mixins = [].concat(options.extensions.mixins || [], options.extensions.mixin || [])
|
||||
options.global = { ...options.extensions, ...options.global }
|
||||
}
|
||||
|
||||
const componentNode = document.createElement('div')
|
||||
|
||||
componentNode.id = '__cy_vue_root'
|
||||
|
||||
el.append(componentNode)
|
||||
|
||||
// setup Vue instance
|
||||
installFilters(localVue, options)
|
||||
installMixins(localVue, options)
|
||||
installPlugins(localVue, options, props)
|
||||
registerGlobalComponents(localVue, options)
|
||||
// mount the component using VTU and return the wrapper in Cypress.VueWrapper
|
||||
const wrapper = VTUmount(comp as any, { attachTo: componentNode, ...options })
|
||||
|
||||
props.attachTo = componentNode
|
||||
Cypress.vueWrapper = wrapper
|
||||
Cypress.vue = wrapper.vm
|
||||
|
||||
const wrapper = localVue.extend(component as any)
|
||||
return cy
|
||||
.wrap(wrapper, { log: false })
|
||||
.wait(1, { log: false })
|
||||
.then(() => {
|
||||
if (logInstance) {
|
||||
logInstance.snapshot('mounted')
|
||||
logInstance.end()
|
||||
}
|
||||
|
||||
const VTUWrapper = testUtilsMount(wrapper, { localVue, ...props })
|
||||
|
||||
Cypress.vue = VTUWrapper.vm
|
||||
Cypress.vueWrapper = VTUWrapper
|
||||
// by returning undefined we keep the previous subject
|
||||
// which is the mounted component
|
||||
return undefined
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@@ -385,11 +115,11 @@ export const mount = (
|
||||
* import {mountCallback} from '@cypress/vue'
|
||||
* beforeEach(mountVue(component, options))
|
||||
*/
|
||||
export const mountCallback = (
|
||||
component: VueComponent,
|
||||
options?: MountOptionsArgument,
|
||||
) => {
|
||||
return () => mount(component, options)
|
||||
export function mountCallback<Props = any> (
|
||||
component: Component<Props>,
|
||||
options: CyMountOptions<Props> = {},
|
||||
): () => void {
|
||||
return () => mount<Props>(component, options)
|
||||
}
|
||||
|
||||
setupHooks()
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
/// <reference types="cypress" />
|
||||
const { startDevServer } = require('@cypress/webpack-dev-server')
|
||||
|
||||
/**
|
||||
* Registers Cypress preprocessor for Vue component testing.
|
||||
* IMPORTANT to return the config object with
|
||||
* with the any changed environment variables.
|
||||
*
|
||||
* @param {Cypress.PluginConfigOptions} config Cypress config object.
|
||||
* @example
|
||||
* // in your project's plugins/index.js file
|
||||
* const preprocessor = require('@cypress/vue/dist/plugins/webpack')
|
||||
* module.exports = (on, config) => {
|
||||
* preprocessor(on, config)
|
||||
* // IMPORTANT return the config object
|
||||
* return config
|
||||
* }
|
||||
*/
|
||||
const cypressPluginsFn = (on, config, webpackConfig) => {
|
||||
on('dev-server:start', (options) => startDevServer({ options, webpackConfig }))
|
||||
|
||||
return config
|
||||
}
|
||||
|
||||
module.exports = cypressPluginsFn
|
||||
@@ -1,5 +0,0 @@
|
||||
// empty to keep backwards compat
|
||||
|
||||
// FIXME: delete in next major
|
||||
|
||||
console.error('Avoid using this file, it will be deleted in the next major')
|
||||
@@ -1,8 +1,7 @@
|
||||
// A basic webpack configuration
|
||||
// The default for running tests in this project
|
||||
// https://vue-loader.vuejs.org/guide/#manual-setup
|
||||
const VueLoaderPlugin = require('vue-loader/lib/plugin')
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
||||
const { VueLoaderPlugin } = require('vue-loader')
|
||||
const path = require('path')
|
||||
const pkg = require('package.json')
|
||||
|
||||
@@ -18,9 +17,8 @@ module.exports = {
|
||||
resolve: {
|
||||
extensions: ['.js', '.json', '.vue'],
|
||||
alias: {
|
||||
// point at the built file
|
||||
vue$: 'vue/dist/vue.esm-bundler.js',
|
||||
'@cypress/vue': path.join(__dirname, pkg.main),
|
||||
vue: 'vue/dist/vue.esm.js',
|
||||
},
|
||||
},
|
||||
module: {
|
||||
|
||||
258
yarn.lock
258
yarn.lock
@@ -2504,13 +2504,6 @@
|
||||
dependencies:
|
||||
css.escape "^1.5.1"
|
||||
|
||||
"@cypress/vue@3.0.1":
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@cypress/vue/-/vue-3.0.1.tgz#9899718dfb8608f98c343fe35a7cfc0a50376011"
|
||||
integrity sha512-7aSdwbtvCJnKR7MDZdJs3TB718LNo44JXvIidrtcZacOSPXjahvkZ8nQCyLIt/owKBFFaV4dvSn267Lq4ZIbzQ==
|
||||
dependencies:
|
||||
"@vue/test-utils" "^2.0.0-rc.4"
|
||||
|
||||
"@cypress/webpack-preprocessor@5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.7.0.tgz#653c92662fe885260f176f5a1bd630dfd2cee8ca"
|
||||
@@ -3133,13 +3126,113 @@
|
||||
cssnano-preset-default "^4.0.0"
|
||||
postcss "^7.0.0"
|
||||
|
||||
"@intlify/vue-i18n-loader@1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/vue-i18n-loader/-/vue-i18n-loader-1.0.0.tgz#4350a9b03fd62e7d7f44c7496d5509bff3229c79"
|
||||
integrity sha512-y7LlpKEQ01u7Yq14l4VNlbFYEHMmSEH1QXXASOMWspj9ZcIdCebhhvHCHqk5Oy5Epw3PtoxyRJNpb6Wle5udgA==
|
||||
"@intlify/cli@^0.2.0":
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/cli/-/cli-0.2.0.tgz#631f4ab2e97cfe2848e2e96aa38e6681316265ed"
|
||||
integrity sha512-KIB6KggamrUoQJXa2CZad9D0dIH6FijPpRv020VtXvPFphprJKipG19GHndPgKRPK70t6Aj7zsJEqt5GvljKXg==
|
||||
dependencies:
|
||||
js-yaml "^3.13.1"
|
||||
json5 "^2.1.1"
|
||||
"@intlify/core" "^9.0.0-beta.16"
|
||||
"@intlify/core-base" "^9.0.0-beta.16"
|
||||
"@intlify/message-compiler" "^9.0.0-beta.16"
|
||||
"@intlify/shared" "^9.0.0-beta.16"
|
||||
chalk "^4.1.0"
|
||||
debug "^4.3.1"
|
||||
glob "^7.1.6"
|
||||
jsonc-eslint-parser "^0.6.0"
|
||||
yaml-eslint-parser "^0.2.0"
|
||||
yargs "^16.2.0"
|
||||
|
||||
"@intlify/core-base@9.0.0-beta.16":
|
||||
version "9.0.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.0.0-beta.16.tgz#ab35802b982f52db20d4758d020c2dcd1724e7f9"
|
||||
integrity sha512-PJLDVYy3x8Mf9+XtWljEfk4Lo6mudopYlRvB89NQR3TkR+Tqkbcsegj09XdXpTKBYiq+yQrlZKZ0KEHb7l5Zuw==
|
||||
dependencies:
|
||||
"@intlify/message-compiler" "9.0.0-beta.16"
|
||||
"@intlify/message-resolver" "9.0.0-beta.16"
|
||||
"@intlify/runtime" "9.0.0-beta.16"
|
||||
"@intlify/shared" "9.0.0-beta.16"
|
||||
|
||||
"@intlify/core-base@9.0.0-rc.6", "@intlify/core-base@^9.0.0-beta.16":
|
||||
version "9.0.0-rc.6"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-9.0.0-rc.6.tgz#e0d61d9412ae1ea3f8ec9475d4c0f005fc006c95"
|
||||
integrity sha512-UG8H+q1GZ2ZD6Rg9nuc6NPqj9K9OeXHt4kerKRDRgZ+h2wPNoWItIQXSrShg5GJKvEN+rRuJvvnh61oMNS0sWw==
|
||||
dependencies:
|
||||
"@intlify/message-compiler" "9.0.0-rc.6"
|
||||
"@intlify/message-resolver" "9.0.0-rc.6"
|
||||
"@intlify/runtime" "9.0.0-rc.6"
|
||||
"@intlify/shared" "9.0.0-rc.6"
|
||||
|
||||
"@intlify/core@^9.0.0-beta.16":
|
||||
version "9.0.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/core/-/core-9.0.0-beta.16.tgz#d74d4678868b37b641bdf999552b237d84dacb88"
|
||||
integrity sha512-tPXf9rr+ZzG1zXgdLo8rCO2jws6eIXzJSaTvgnanZpfyyMKE+T8Ra5vVu3f/Sm0J7flT+z/Q3kLfnbpOMQ1UiQ==
|
||||
dependencies:
|
||||
"@intlify/core-base" "9.0.0-beta.16"
|
||||
|
||||
"@intlify/message-compiler@9.0.0-beta.16":
|
||||
version "9.0.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.0.0-beta.16.tgz#359993251a303f148b3a325eca055cdbaf0cd95f"
|
||||
integrity sha512-dE4UZsbVl5TKogYdfrJ6nQKdin1R4XMKVBVa9dE1A8HVvVHBSLy6iQiYpcw8TwcEHIa+rFjuuHuh+IdN3eCw+g==
|
||||
dependencies:
|
||||
"@intlify/message-resolver" "9.0.0-beta.16"
|
||||
"@intlify/shared" "9.0.0-beta.16"
|
||||
source-map "0.6.1"
|
||||
|
||||
"@intlify/message-compiler@9.0.0-rc.6", "@intlify/message-compiler@^9.0.0-beta.16":
|
||||
version "9.0.0-rc.6"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-9.0.0-rc.6.tgz#c15e8b6e120804e30306a6af42305c6d970714b1"
|
||||
integrity sha512-WyvvFBoJ6qZk/3G/LjHuZJhY0ww8PZD+30wdPy5lJEB4+uTDoAAupwfnQ1suek7wsnFbPiuUE2j48qRogY0QJQ==
|
||||
dependencies:
|
||||
"@intlify/message-resolver" "9.0.0-rc.6"
|
||||
"@intlify/shared" "9.0.0-rc.6"
|
||||
source-map "0.6.1"
|
||||
|
||||
"@intlify/message-resolver@9.0.0-beta.16":
|
||||
version "9.0.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/message-resolver/-/message-resolver-9.0.0-beta.16.tgz#f8960344201050d17560f8d01f63e3cd0b9bf59c"
|
||||
integrity sha512-xwjsFuDDYEv7g1KE5QZRbrPgfsrNsDhYLtNYR7Tn4inzbmB6ipak2UlDzDcQGLieSFbe1WwAoNL0IXy4sUKboQ==
|
||||
|
||||
"@intlify/message-resolver@9.0.0-rc.6":
|
||||
version "9.0.0-rc.6"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/message-resolver/-/message-resolver-9.0.0-rc.6.tgz#c4fcc5fbc2a5bb3578b897baa2307bfd782193fe"
|
||||
integrity sha512-yY+hM8WqliAIayYP0/8iITfScn4oSYXVrUwIn7ZWUONhuXCQXlxStukmQ1e1lWkL4Jyi4qTRXupDllq5yvW9BA==
|
||||
|
||||
"@intlify/runtime@9.0.0-beta.16":
|
||||
version "9.0.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/runtime/-/runtime-9.0.0-beta.16.tgz#6a210a5b0984f9e295025e3dde5262108e0e69d9"
|
||||
integrity sha512-py+stHrbkBoEB2OsBB+rySevR+54uhybF54LToGjErr740R/AVuOVTJEKRS/LF9VvinGZZTu/WVOXcPpMfqt8Q==
|
||||
dependencies:
|
||||
"@intlify/message-compiler" "9.0.0-beta.16"
|
||||
"@intlify/message-resolver" "9.0.0-beta.16"
|
||||
"@intlify/shared" "9.0.0-beta.16"
|
||||
|
||||
"@intlify/runtime@9.0.0-rc.6":
|
||||
version "9.0.0-rc.6"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/runtime/-/runtime-9.0.0-rc.6.tgz#033af22fe2d7dfcf4970f013a4f9645609907a70"
|
||||
integrity sha512-z1lc4mmpRknTHjN3w5m9vmACidCo+Xm/2J6zMHhh23UEbCrIoaSKTFqs87aj5crX1CJvAc8rwGD1s2+QcHaEZQ==
|
||||
dependencies:
|
||||
"@intlify/message-compiler" "9.0.0-rc.6"
|
||||
"@intlify/message-resolver" "9.0.0-rc.6"
|
||||
"@intlify/shared" "9.0.0-rc.6"
|
||||
|
||||
"@intlify/shared@9.0.0-beta.16":
|
||||
version "9.0.0-beta.16"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.0.0-beta.16.tgz#51a80ca4705c93cb14c8f06398dfc550df09d67d"
|
||||
integrity sha512-A7GSOovcZn/NMoAmDc8FG9uRcFv6iygriK8+C6HFeOnMQ9X+T9f5A9bPtXhCOCiRpQm9SUtGqXedxO5Y8rz9/A==
|
||||
|
||||
"@intlify/shared@9.0.0-rc.6", "@intlify/shared@^9.0.0-beta.16", "@intlify/shared@^9.0.0-rc.5":
|
||||
version "9.0.0-rc.6"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.0.0-rc.6.tgz#577cd9be261dd54472d934b2fefd2c6a8e6a23fe"
|
||||
integrity sha512-6TFGAUcxgEIGvNxeBAUTvzyAdd/rAjsOLTIUTKLQX2JYypCwmTRPsT3wGWAUfvLxnKK62wyE+s4pI3dPNGz+vQ==
|
||||
|
||||
"@intlify/vue-i18n-loader@2.0.0-rc.1":
|
||||
version "2.0.0-rc.1"
|
||||
resolved "https://registry.yarnpkg.com/@intlify/vue-i18n-loader/-/vue-i18n-loader-2.0.0-rc.1.tgz#d58cee8989eb585c73bfc01bf9360efbd92bd334"
|
||||
integrity sha512-7d4MTfF4UnBexdn/E+xY6FjgtjsSVQ38FE48pp28sKIx+SrM7SIhSEBNvkM1gKxcoJv0R6B1UJ3VSfqvykDVBQ==
|
||||
dependencies:
|
||||
"@intlify/cli" "^0.2.0"
|
||||
"@intlify/shared" "^9.0.0-rc.5"
|
||||
loader-utils "^2.0.0"
|
||||
|
||||
"@istanbuljs/load-nyc-config@^1.0.0":
|
||||
version "1.1.0"
|
||||
@@ -8830,7 +8923,7 @@
|
||||
"@vue/compiler-core" "3.0.9"
|
||||
"@vue/shared" "3.0.9"
|
||||
|
||||
"@vue/compiler-sfc@3.0.9":
|
||||
"@vue/compiler-sfc@3.0.9", "@vue/compiler-sfc@^3.0.5":
|
||||
version "3.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.0.9.tgz#0f993a6e159ca6ad351d8ee0c4734771d2590115"
|
||||
integrity sha512-meneFRb9xIDgv/gYWCr9xKryvPi0tVffQzLjCkyN4RF1EndqLS71xugUX9wQsS4F1SAP+zlZbcgMFmTSC4OpHw==
|
||||
@@ -8876,6 +8969,11 @@
|
||||
optionalDependencies:
|
||||
prettier "^1.18.2"
|
||||
|
||||
"@vue/devtools-api@^6.0.0-beta.5":
|
||||
version "6.0.0-beta.6"
|
||||
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.0.0-beta.6.tgz#bceabad6631156c57bdf790bfbbd5df27545e2a2"
|
||||
integrity sha512-BRQOUjncqTRmYRXH76TWYYzi3O+Xhto2/wD6GN30pbFoYimgJHCwfYaeL8iSZ2aBTNHgO9Rd73qXt1kn9p3S8g==
|
||||
|
||||
"@vue/preload-webpack-plugin@^1.1.0":
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz#ceb924b4ecb3b9c43871c7a429a02f8423e621ab"
|
||||
@@ -8915,15 +9013,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.9.tgz#09882d745ded52b07e4481d036659d733edd2a9a"
|
||||
integrity sha512-lv20q1O5dybwro+V+vnxHCmSIxi9mvTORSgAbGrANGYK8zF4K1S9TOankIvdkcvfZ88IR95O2pTI2Pb3c3BaNg==
|
||||
|
||||
"@vue/test-utils@^1.1.3":
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.1.3.tgz#747f5683d8d4633c85a385fe2e02c1bb35bec153"
|
||||
integrity sha512-BAY1Cwe9JpkJseimC295EW3YlAmgIJI9OPkg2FSP62+PHZooB0B+wceDi9TYyU57oqzL0yLbcP73JKFpKiLc9A==
|
||||
dependencies:
|
||||
dom-event-types "^1.0.0"
|
||||
lodash "^4.17.15"
|
||||
pretty "^2.0.0"
|
||||
|
||||
"@vue/test-utils@^2.0.0-rc.4":
|
||||
version "2.0.0-rc.6"
|
||||
resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-2.0.0-rc.6.tgz#d0aac24d20450d379e183f70542c0822670b8783"
|
||||
@@ -16444,11 +16533,6 @@ dom-converter@^0.2:
|
||||
dependencies:
|
||||
utila "~0.4"
|
||||
|
||||
dom-event-types@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/dom-event-types/-/dom-event-types-1.0.0.tgz#5830a0a29e1bf837fe50a70cd80a597232813cae"
|
||||
integrity sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ==
|
||||
|
||||
dom-helpers@^3.2.1, dom-helpers@^3.3.1, dom-helpers@^3.4.0:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8"
|
||||
@@ -17810,6 +17894,15 @@ eslint@^6.1.0, eslint@^6.6.0:
|
||||
text-table "^0.2.0"
|
||||
v8-compile-cache "^2.0.3"
|
||||
|
||||
"espree@^6.0.0 || ^7.2.0", espree@^7.3.0, espree@^7.3.1:
|
||||
version "7.3.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
|
||||
integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
|
||||
dependencies:
|
||||
acorn "^7.4.0"
|
||||
acorn-jsx "^5.3.1"
|
||||
eslint-visitor-keys "^1.3.0"
|
||||
|
||||
espree@^6.1.2, espree@^6.2.1:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
|
||||
@@ -17819,15 +17912,6 @@ espree@^6.1.2, espree@^6.2.1:
|
||||
acorn-jsx "^5.2.0"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
espree@^7.3.0, espree@^7.3.1:
|
||||
version "7.3.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
|
||||
integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
|
||||
dependencies:
|
||||
acorn "^7.4.0"
|
||||
acorn-jsx "^5.3.1"
|
||||
eslint-visitor-keys "^1.3.0"
|
||||
|
||||
esprima-fb@~15001.1001.0-dev-harmony-fb:
|
||||
version "15001.1001.0-dev-harmony-fb"
|
||||
resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz#43beb57ec26e8cf237d3dd8b33e42533577f2659"
|
||||
@@ -24206,13 +24290,21 @@ json5@^1.0.1:
|
||||
dependencies:
|
||||
minimist "^1.2.0"
|
||||
|
||||
json5@^2.1.0, json5@^2.1.1, json5@^2.1.2, json5@^2.1.3:
|
||||
json5@^2.1.0, json5@^2.1.2, json5@^2.1.3:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
|
||||
integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
|
||||
dependencies:
|
||||
minimist "^1.2.5"
|
||||
|
||||
jsonc-eslint-parser@^0.6.0:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-0.6.2.tgz#f538179902f1c2edcb710507194b5333294b7079"
|
||||
integrity sha512-8WlcrtXwiio5/E1J1cpaeBW5jFTHMcFLmlqOhQTbta0kn5hiOM/B56tky/ZJQP7SyHhpVj3zDvaXkVyedYi/LA==
|
||||
dependencies:
|
||||
eslint-visitor-keys "^1.3.0"
|
||||
espree "^6.0.0 || ^7.2.0"
|
||||
|
||||
jsonc-parser@3.0.0, jsonc-parser@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22"
|
||||
@@ -31006,7 +31098,7 @@ pretty-ms@7.0.0:
|
||||
dependencies:
|
||||
parse-ms "^2.1.0"
|
||||
|
||||
pretty@2.0.0, pretty@^2.0.0:
|
||||
pretty@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pretty/-/pretty-2.0.0.tgz#adbc7960b7bbfe289a557dc5f737619a220d06a5"
|
||||
integrity sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=
|
||||
@@ -33741,13 +33833,6 @@ rxjs@6.4.0:
|
||||
dependencies:
|
||||
tslib "^1.9.0"
|
||||
|
||||
rxjs@6.6.2:
|
||||
version "6.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2"
|
||||
integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==
|
||||
dependencies:
|
||||
tslib "^1.9.0"
|
||||
|
||||
rxjs@6.6.3:
|
||||
version "6.6.3"
|
||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552"
|
||||
@@ -33755,7 +33840,7 @@ rxjs@6.6.3:
|
||||
dependencies:
|
||||
tslib "^1.9.0"
|
||||
|
||||
rxjs@6.6.7, rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.5.4, rxjs@^6.6.0, rxjs@^6.6.6:
|
||||
rxjs@6.6.7, rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.5.4, rxjs@^6.6.0, rxjs@^6.6.6, rxjs@~6.6.0:
|
||||
version "6.6.7"
|
||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
|
||||
integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
|
||||
@@ -37395,7 +37480,7 @@ tslib@2.1.0, tslib@~2.1.0:
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
|
||||
integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
|
||||
|
||||
tslib@2.2.0, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0:
|
||||
tslib@2.2.0, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
|
||||
integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==
|
||||
@@ -37614,6 +37699,11 @@ typedarray@^0.0.6:
|
||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
|
||||
|
||||
typescript@3.9.6:
|
||||
version "3.9.6"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.6.tgz#8f3e0198a34c3ae17091b35571d3afd31999365a"
|
||||
integrity sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==
|
||||
|
||||
typescript@4.1.5:
|
||||
version "4.1.5"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72"
|
||||
@@ -38858,12 +38948,25 @@ vue-hot-reload-api@^2.3.0:
|
||||
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
|
||||
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
|
||||
|
||||
vue-i18n@8.9.0:
|
||||
version "8.9.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.9.0.tgz#5f084001fe5b4c7ad8c00ee5f11396a88ff2e55b"
|
||||
integrity sha512-8wr/D9yU8CLC8ne9stdQn/N58E7GRSUSO75bCucj2AIFTDyjGfoze5RxFvh2w3e7yxgnz5x+ooOIcoX59PHguQ==
|
||||
vue-i18n@9.0.0-rc.6:
|
||||
version "9.0.0-rc.6"
|
||||
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-9.0.0-rc.6.tgz#c92fcc6981ca84aee350cd8f939c226f5a1814b9"
|
||||
integrity sha512-CrFLzT/BhTjtemgZ9qOjPxvrVxBxj6osV5oYeCLo5Xd8My617sIu72NGLwDjXRLGW5A/UCh0SUffMYlKL/eecw==
|
||||
dependencies:
|
||||
"@intlify/core-base" "9.0.0-rc.6"
|
||||
"@intlify/shared" "9.0.0-rc.6"
|
||||
"@vue/devtools-api" "^6.0.0-beta.5"
|
||||
|
||||
vue-loader@15.9.3, vue-loader@^15.9.2:
|
||||
vue-loader@16.1.2:
|
||||
version "16.1.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-16.1.2.tgz#5c03b6c50d2a5f983c7ceba15c50d78ca2b298f4"
|
||||
integrity sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==
|
||||
dependencies:
|
||||
chalk "^4.1.0"
|
||||
hash-sum "^2.0.0"
|
||||
loader-utils "^2.0.0"
|
||||
|
||||
vue-loader@^15.9.2:
|
||||
version "15.9.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.3.tgz#0de35d9e555d3ed53969516cac5ce25531299dda"
|
||||
integrity sha512-Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA==
|
||||
@@ -38874,12 +38977,12 @@ vue-loader@15.9.3, vue-loader@^15.9.2:
|
||||
vue-hot-reload-api "^2.3.0"
|
||||
vue-style-loader "^4.1.0"
|
||||
|
||||
vue-router@3.0.5:
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.0.5.tgz#24636923c7f1a62da3a577cf75a058f9fa328581"
|
||||
integrity sha512-DGU+7+eeiSq/oNZ6epA/rcNkAd0m2+uugR5i4Eh4KBvclUmorvNJ6iForYjQkgvKi9GdamybaMpl85eDgxM2eQ==
|
||||
vue-router@^4.0.0:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.0.3.tgz#8b26050c88b2dec7e27a88835f71046b365823ec"
|
||||
integrity sha512-AD1OjtVPyQHTSpoRsEGfPpxRQwhAhxcacOYO3zJ3KNkYP/r09mileSp6kdMQKhZWP2cFsPR3E2M3PZguSN5/ww==
|
||||
|
||||
vue-style-loader@4.1.2, vue-style-loader@^4.1.0, vue-style-loader@^4.1.2:
|
||||
vue-style-loader@4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8"
|
||||
integrity sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==
|
||||
@@ -38887,6 +38990,14 @@ vue-style-loader@4.1.2, vue-style-loader@^4.1.0, vue-style-loader@^4.1.2:
|
||||
hash-sum "^1.0.2"
|
||||
loader-utils "^1.0.2"
|
||||
|
||||
vue-style-loader@^4.1.0, vue-style-loader@^4.1.2:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35"
|
||||
integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==
|
||||
dependencies:
|
||||
hash-sum "^1.0.2"
|
||||
loader-utils "^1.0.2"
|
||||
|
||||
vue-template-compiler@2.6.12, vue-template-compiler@^2.6.11:
|
||||
version "2.6.12"
|
||||
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz#947ed7196744c8a5285ebe1233fe960437fcc57e"
|
||||
@@ -38900,11 +39011,6 @@ vue-template-es2015-compiler@^1.9.0:
|
||||
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
|
||||
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
|
||||
|
||||
vue@2.6.12:
|
||||
version "2.6.12"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123"
|
||||
integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==
|
||||
|
||||
vue@3.0.11:
|
||||
version "3.0.11"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-3.0.11.tgz#c82f9594cbf4dcc869241d4c8dd3e08d9a8f4b5f"
|
||||
@@ -38914,10 +39020,10 @@ vue@3.0.11:
|
||||
"@vue/runtime-dom" "3.0.11"
|
||||
"@vue/shared" "3.0.11"
|
||||
|
||||
vuex@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.1.1.tgz#0c264bfe30cdbccf96ab9db3177d211828a5910e"
|
||||
integrity sha512-ER5moSbLZuNSMBFnEBVGhQ1uCBNJslH9W/Dw2W7GZN23UQA69uapP5GTT9Vm8Trc0PzBSVt6LzF3hGjmv41xcg==
|
||||
vuex@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/vuex/-/vuex-4.0.0.tgz#ac877aa76a9c45368c979471e461b520d38e6cf5"
|
||||
integrity sha512-56VPujlHscP5q/e7Jlpqc40sja4vOhC4uJD1llBCWolVI8ND4+VzisDVkUMl+z5y0MpIImW6HjhNc+ZvuizgOw==
|
||||
|
||||
w3c-hr-time@^1.0.1:
|
||||
version "1.0.2"
|
||||
@@ -40304,6 +40410,24 @@ yallist@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
||||
|
||||
yaml-eslint-parser@^0.2.0:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/yaml-eslint-parser/-/yaml-eslint-parser-0.2.2.tgz#20106054b369bb16f91c93d80bdee34009042abe"
|
||||
integrity sha512-Fkq4kSc8VvEFEM6aOnpHy3iM2erxZedIc+kU97+FvGiJyI8MmbZdMfdw4tbemaa2Qvl/gFUnKyuIQz6PcHEj1A==
|
||||
dependencies:
|
||||
eslint-visitor-keys "^1.3.0"
|
||||
yaml "^1.10.0"
|
||||
yaml-unist-parser "^1.2.1"
|
||||
|
||||
yaml-unist-parser@^1.2.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/yaml-unist-parser/-/yaml-unist-parser-1.3.1.tgz#4305a54d8f8750dfff782bb998ff93d0da538d1a"
|
||||
integrity sha512-4aHBMpYcnByF8l2OKj5hlBJlxSYIMON8Z1Hm57ymbBL4omXMlGgY+pEf4Di6h2qNT8ZG8seTVvAQYNOa7CZ9eA==
|
||||
dependencies:
|
||||
lines-and-columns "^1.1.6"
|
||||
tslib "^1.10.0"
|
||||
yaml "^1.10.0"
|
||||
|
||||
yaml@^1.10.0, yaml@^1.7.2:
|
||||
version "1.10.2"
|
||||
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
|
||||
|
||||
Reference in New Issue
Block a user