├── babel.config.js ├── examples ├── vue-cli │ ├── babel.config.js │ ├── src │ │ ├── App.vue │ │ ├── components │ │ │ ├── vimeo-np.vue │ │ │ ├── youtube-np.vue │ │ │ ├── youtube.vue │ │ │ ├── vimeo.vue │ │ │ ├── audio.vue │ │ │ ├── video.vue │ │ │ └── demo.vue │ │ └── main.js │ ├── package.json │ └── public │ │ └── index.html ├── nuxt │ ├── .output │ │ ├── server │ │ │ ├── index.mjs.map │ │ │ ├── package.json │ │ │ ├── index.mjs │ │ │ └── chunks │ │ │ │ ├── app │ │ │ │ ├── client.manifest.mjs.map │ │ │ │ └── client.manifest.mjs │ │ │ │ └── nitro │ │ │ │ └── node-server.mjs │ │ ├── nitro.json │ │ └── public │ │ │ └── _nuxt │ │ │ ├── manifest.json │ │ │ ├── index-9c7865f0.mjs │ │ │ └── entry.c94dc88a.css │ ├── pages │ │ └── index.vue │ ├── components │ │ ├── vimeo-np.vue │ │ ├── youtube-np.vue │ │ ├── youtube.vue │ │ ├── vimeo.vue │ │ ├── audio.vue │ │ ├── video.vue │ │ └── demo.vue │ ├── nuxt.config.js │ ├── package.json │ └── plugins │ │ └── plyr.client.js ├── vite │ ├── vite.config.js │ ├── src │ │ ├── App.vue │ │ ├── components │ │ │ ├── vimeo-np.vue │ │ │ ├── youtube-np.vue │ │ │ ├── youtube.vue │ │ │ ├── audio.vue │ │ │ ├── vimeo.vue │ │ │ ├── video.vue │ │ │ └── demo.vue │ │ └── main.js │ ├── index.html │ ├── package.json │ └── package-lock.json └── html │ ├── README.md │ ├── package.json │ └── index.html ├── stylelint.config.js ├── .eslintrc.js ├── __tests__ ├── tsconfig.json ├── utils │ ├── config.spec.ts │ └── upload.spec.ts └── upload.spec.ts ├── lib ├── index.js └── VuePlyr.vue ├── tsconfig.json ├── .github ├── workflows │ ├── dependabot-approve-merge.yml │ ├── lint-eslint.yml │ ├── documentation.yml │ ├── node.yml │ ├── examples-node.yml │ └── npm-publish.yml └── dependabot.yml ├── rollup.config.mjs ├── LICENSE.md ├── package.json ├── .gitignore └── README.md /babel.config.js: -------------------------------------------------------------------------------- 1 | const babelConfig = require('@nextcloud/babel-config') 2 | 3 | module.exports = babelConfig 4 | -------------------------------------------------------------------------------- /examples/vue-cli/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['@vue/cli-plugin-babel/preset'], 3 | } 4 | -------------------------------------------------------------------------------- /stylelint.config.js: -------------------------------------------------------------------------------- 1 | const stylelintConfig = require('@nextcloud/stylelint-config') 2 | 3 | module.exports = stylelintConfig 4 | -------------------------------------------------------------------------------- /examples/nuxt/.output/server/index.mjs.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;"} -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | globals: { 3 | Cypress: true, 4 | OC: true, 5 | }, 6 | extends: [ 7 | '@nextcloud', 8 | ], 9 | } 10 | -------------------------------------------------------------------------------- /examples/nuxt/.output/nitro.json: -------------------------------------------------------------------------------- 1 | { 2 | "date": "2022-06-22T16:25:22.946Z", 3 | "preset": "node-server", 4 | "commands": { 5 | "preview": "node ./server/index.mjs" 6 | } 7 | } -------------------------------------------------------------------------------- /__tests__/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | // Allow us to pass js files to ts-jest without babel 5 | "allowJs": true, 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /examples/nuxt/pages/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | -------------------------------------------------------------------------------- /examples/vite/vite.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable n/no-unpublished-import */ 2 | // eslint-disable-next-line import/no-unresolved,n/no-missing-import 3 | import vue from '@vitejs/plugin-vue' 4 | 5 | export default { 6 | plugins: [vue()], 7 | } 8 | -------------------------------------------------------------------------------- /examples/nuxt/components/vimeo-np.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /examples/vite/src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 15 | -------------------------------------------------------------------------------- /examples/html/README.md: -------------------------------------------------------------------------------- 1 | # vue-plyr-html 2 | > An example of how to use vue-plyr with just html. 3 | 4 | ## Usage 5 | 6 | ``` bash 7 | # install dependencies 8 | $ yarn install 9 | 10 | # run the server on port 5000 11 | $ yarn start 12 | ``` 13 | -------------------------------------------------------------------------------- /examples/nuxt/components/youtube-np.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /examples/vite/src/components/vimeo-np.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /examples/vue-cli/src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 15 | -------------------------------------------------------------------------------- /examples/vue-cli/src/components/vimeo-np.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /examples/vite/src/components/youtube-np.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /examples/vue-cli/src/components/youtube-np.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | import VuePlyr from './VuePlyr.vue' 2 | 3 | VuePlyr.install = (app, options = {}) => { 4 | if (options.plyr) { 5 | VuePlyr.props.options.default = () => { 6 | return { ...options.plyr } 7 | } 8 | } 9 | 10 | app.component(VuePlyr.name, VuePlyr) 11 | } 12 | 13 | export default VuePlyr 14 | -------------------------------------------------------------------------------- /examples/vite/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | vue-plyr-vite 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/nuxt/nuxt.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | // Global page headers (https://go.nuxtjs.dev/config-head) 3 | head: { 4 | title: 'vue-plyr-nuxt', 5 | meta: [ 6 | { charset: 'utf-8' }, 7 | { name: 'viewport', content: 'width=device-width, initial-scale=1' }, 8 | { hid: 'description', name: 'description', content: '' }, 9 | ], 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /examples/vite/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-plyr-vite", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "vite build" 7 | }, 8 | "dependencies": { 9 | "@skjnldsv/vue-plyr": "file:../..", 10 | "vue": "^3.3.6" 11 | }, 12 | "devDependencies": { 13 | "@vitejs/plugin-vue": "^2.3.4", 14 | "vite": "^2.9.18" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/vite/src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue' 3 | 4 | // eslint-disable-next-line import/no-unresolved,n/no-missing-import 5 | import VuePlyr from '@skjnldsv/vue-plyr' 6 | // eslint-disable-next-line import/no-unresolved,n/no-missing-import 7 | import '@skjnldsv/vue-plyr/dist/vue-plyr.css' 8 | 9 | createApp(App).use(VuePlyr).mount('#app') 10 | -------------------------------------------------------------------------------- /examples/vue-cli/src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue' 3 | 4 | // eslint-disable-next-line import/no-unresolved,n/no-missing-import 5 | import VuePlyr from '@skjnldsv/vue-plyr' 6 | // eslint-disable-next-line import/no-unresolved,n/no-missing-import 7 | import '@skjnldsv/vue-plyr/dist/vue-plyr.css' 8 | 9 | createApp(App).use(VuePlyr).mount('#app') 10 | -------------------------------------------------------------------------------- /examples/html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-plyr-html", 3 | "version": "1.0.0", 4 | "description": "An example of how to use vue-plyr with just html.", 5 | "author": "Gabe Dunn", 6 | "scripts": { 7 | "start": "serve ." 8 | }, 9 | "devDependencies": { 10 | "serve": "^14.2.5" 11 | }, 12 | "dependencies": { 13 | "@skjnldsv/vue-plyr": "file:../.." 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/nuxt/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-plyr-nuxt", 3 | "version": "1.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "nuxi dev", 7 | "build": "nuxi build", 8 | "start": "nuxi start", 9 | "generate": "nuxi generate" 10 | }, 11 | "devDependencies": { 12 | "nuxt": "^3.17.5" 13 | }, 14 | "dependencies": { 15 | "@skjnldsv/vue-plyr": "file:../.." 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.json", 3 | "include": ["./lib/**/*.ts", "./cypress/**/*.ts"], 4 | "compilerOptions": { 5 | "allowSyntheticDefaultImports": true, 6 | "moduleResolution": "node", 7 | "target": "ESNext", 8 | "module": "esnext", 9 | "declaration": true, 10 | "strict": true, 11 | "noImplicitAny": false, 12 | "outDir": "./dist", 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /examples/nuxt/.output/server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "bundledDependencies": [ 4 | "source-map-support", 5 | "hookable", 6 | "radix3", 7 | "unstorage", 8 | "pathe", 9 | "scule", 10 | "ohash", 11 | "ufo", 12 | "unenv", 13 | "destr", 14 | "h3", 15 | "node-fetch-native", 16 | "ohmyfetch", 17 | "cookie-es", 18 | "source-map", 19 | "buffer-from" 20 | ] 21 | } -------------------------------------------------------------------------------- /examples/nuxt/components/youtube.vue: -------------------------------------------------------------------------------- 1 |