Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
dist
dist/
coverage/
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,9 +228,9 @@ npm run test

### Unit

Jest is used for unit-tests.
Vitest is used for unit-tests.

[`Jest`](https://jestjs.io) and [`VueTestUtils`](https://vue-test-utils.vuejs.org) is used for unit tests.
[`Vitest`](https://vitest.dev/) and [`VueTestUtils`](https://test-utils.vuejs.org) are used for unit tests.

You can run unit tests by running the next command:

Expand Down Expand Up @@ -267,8 +267,8 @@ To build the production ready bundle simply run `npm run build`:
After the successful build the following files will be generated in the `dist` folder:

```
├── vue-lazy-youtube-video.common.js
├── vue-lazy-youtube-video.esm.js
├── vue-lazy-youtube-video.cjs.js
├── vue-lazy-youtube-video.mjs
├── vue-lazy-youtube-video.js
├── vue-lazy-youtube-video.min.js
├── style.css
Expand All @@ -280,10 +280,9 @@ After the successful build the following files will be generated in the `dist` f
## Powered by

- [`Vue`](https://vuejs.org)
- [`Rollup`](https://rollupjs.org/guide/en) (and plugins)
- [`Babel`](https://babeljs.io)
- [`Jest`](https://jestjs.io)
- [`Vue Test Utils`](http://vue-test-utils.vuejs.org)
- [`Vite`](https://vitejs.dev/) (and plugins)
- [`Vitest`](https://vitest.dev/)
- [`Vue Test Utils`](https://test-utils.vuejs.org/)
- [`TypeScript`](http://www.typescriptlang.org)
- [`PostCSS`](https://postcss.org)

Expand Down
7 changes: 0 additions & 7 deletions build/base/plugins/index.js

This file was deleted.

38 changes: 0 additions & 38 deletions build/rollup.config.dev.js

This file was deleted.

69 changes: 0 additions & 69 deletions build/rollup.config.prod.js

This file was deleted.

86 changes: 0 additions & 86 deletions demo/App.ts

This file was deleted.

68 changes: 68 additions & 0 deletions demo/App.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<template>
<ul>
<li>
<VueLazyYoutubeVideo
src="https://www.youtube.com/embed/uxPdPpi5W4o"
previewImageSize="maxresdefault"
alt="foo"
buttonLabel="baz"
:imgListeners="thumbnailListeners"
></VueLazyYoutubeVideo>
</li>
<li>
<VueLazyYoutubeVideo
src="https://www.youtube.com/embed/uxPdPpi5W4o"
aspectRatio="1:1"
previewImageSize="default"
:parameters="{ start: 32 }"
></VueLazyYoutubeVideo>
</li>
<li>
<VueLazyYoutubeVideo
src="https://www.youtube.com/embed/uxPdPpi5W4o"
:thumbnail="{ webp: 'foo', jpg: 'bar' }"
></VueLazyYoutubeVideo>
</li>
<li>
<VueLazyYoutubeVideo
src="https://www.youtube.com/embed/uxPdPpi5W4o"
:webp="false"
:autoplay="false"
:iframeAttributes="iframeAttributes"
enablejsapi
injectPlayerScript
@load:iframe="onIframeLoad($event)"
@init:player="onPlayerInit($event)"
></VueLazyYoutubeVideo>
</li>
</ul>
</template>

<script lang="ts" setup>
import VueLazyYoutubeVideo from '../src'
import { InitPlayerEventPayload, LoadIframeEventPayload } from '../types'

const thumbnailListeners = {
load() {
console.log('load')
},
}
const iframeAttributes = {
id: 'foo',
}

const onIframeLoad = ({ iframe }: LoadIframeEventPayload) => {
console.log('<iframe />: ', iframe)
const id = iframe ? iframe.id : iframeAttributes.id
console.log('Resolved <iframe /> id: ', id)
const player = new YT.Player(id, {})
console.log('YT.Player instance: ', player)
setTimeout(() => {
player.stopVideo()
}, 3000)
}

const onPlayerInit = ({ instance }: InitPlayerEventPayload) => {
console.log(instance)
}
</script>
4 changes: 2 additions & 2 deletions demo/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<link rel="shortcut icon" type="image/x-icon" href="./favicon.ico" />
<link rel="stylesheet" href="./demo.css" />
<script src="https://www.youtube.com/player_api"></script>
<title>vue-lazy-youtube-video</title>
</head>

<body>
<div id="app"></div>
<script src="./demo.js"></script>
<script type="module" src="./index.ts"></script>
</body>
</html>
15 changes: 6 additions & 9 deletions demo/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
import Vue from 'vue'
import App from './App'
import { Plugin } from '../src'
import '../src/styles/index.css'

Vue.config.productionTip = false
import { createApp } from 'vue'
import App from './App.vue'
import { plugin } from '../src'

Vue.use(Plugin)
const app = createApp(App)
app.use(plugin)

new Vue({
el: '#app',
render: (h) => h(App),
})
app.mount('#app')
5 changes: 0 additions & 5 deletions jest.config.js

This file was deleted.

Loading