Skip to content

Commit

Permalink
chore: Update tooling via the plugin generator. (#55)
Browse files Browse the repository at this point in the history
  • Loading branch information
misteroneill committed Jan 8, 2018
1 parent b647151 commit b753ab3
Show file tree
Hide file tree
Showing 11 changed files with 558 additions and 521 deletions.
3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@ sudo: false
dist: trusty
language: node_js
node_js:
- 'node'
- 'lts/argon'
- 'lts/*'
before_script:

# Check if the current version is equal to the major version for the env.
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ We welcome contributions from everyone!

## Getting Started

Make sure you have NodeJS 0.10 or higher and npm installed.
Make sure you have Node.js 4.8 or higher and npm installed.

1. Fork this repository and clone your fork
1. Install dependencies: `npm install`
Expand Down
923 changes: 435 additions & 488 deletions package-lock.json

Large diffs are not rendered by default.

27 changes: 16 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "videojs-playlist-ui",
"version": "3.3.0",
"author": "Brightcove, Inc.",
"description": "A playlist video picker for video.js",
"description": "A user interface for the videojs-playlist API",
"license": "Apache-2.0",
"keywords": [
"playlist",
Expand All @@ -13,30 +13,33 @@
"prebuild": "npm run clean",
"build": "npm-run-all -p build:*",
"build:css": "npm-run-all build:css:sass build:css:bannerize build:css:copy-vertical build:css:copy-no-prefix",
"build:css:copy-vertical": "cp dist/videojs-playlist-ui.css dist/videojs-playlist-ui.vertical.css",
"build:css:copy-no-prefix": "cp dist/videojs-playlist-ui.css dist/videojs-playlist-ui.vertical.no-prefix.css",
"build:css:bannerize": "bannerize dist/videojs-playlist-ui.css --banner=scripts/banner.ejs",
"build:css:copy-no-prefix": "cp dist/videojs-playlist-ui.css dist/videojs-playlist-ui.vertical.no-prefix.css",
"build:css:copy-vertical": "cp dist/videojs-playlist-ui.css dist/videojs-playlist-ui.vertical.css",
"build:css:sass": "node-sass src/plugin.scss dist/videojs-playlist-ui.css --output-style=compressed --linefeed=lf",
"build:js": "npm-run-all build:js:rollup build:js:bannerize build:js:uglify",
"build:js": "npm-run-all build:js:rollup-modules build:js:rollup-umd build:js:bannerize build:js:uglify",
"build:js:bannerize": "bannerize dist/videojs-playlist-ui.js --banner=scripts/banner.ejs",
"build:js:rollup": "rollup -c scripts/build.rollup.config.js",
"build:js:rollup-modules": "rollup -c scripts/modules.rollup.config.js",
"build:js:rollup-umd": "rollup -c scripts/umd.rollup.config.js",
"build:js:uglify": "uglifyjs dist/videojs-playlist-ui.js --comments --mangle --compress --ie8 -o dist/videojs-playlist-ui.min.js",
"build:test": "rollup -c scripts/test.rollup.config.js",
"clean": "rimraf dist test/dist",
"postclean": "mkdirp dist test/dist",
"lint": "vjsstandard",
"prestart": "npm run build",
"start": "npm-run-all -p start:server watch",
"start:server": "static -a 0.0.0.0 -p 9999 -H '{\"Cache-Control\": \"no-cache, must-revalidate\"}' .",
"start:server": "node scripts/server.js",
"pretest": "npm-run-all lint build",
"test": "karma start test/karma.conf.js",
"preversion": "npm test",
"version": "node scripts/version.js",
"watch": "npm-run-all -p watch:*",
"watch:css": "node-sass src/plugin.scss dist/videojs-playlist-ui.css --output-style=compressed --linefeed=lf --watch src/**/*.scss",
"watch:js": "rollup -c scripts/build.rollup.config.js -w",
"watch:css": "npm-run-all build:css:sass watch:css:sass",
"watch:css:sass": "node-sass src/plugin.scss dist/videojs-playlist-ui.css --output-style=compressed --linefeed=lf --watch src/**/*.scss",
"watch:js-modules": "rollup -c scripts/modules.rollup.config.js -w",
"watch:js-umd": "rollup -c scripts/umd.rollup.config.js -w",
"watch:test": "rollup -c scripts/test.rollup.config.js -w",
"prepublish": "npm run build",
"prepublish": "not-in-install && npm run build || in-install",
"prepush": "npm run lint"
},
"repository": {
Expand All @@ -57,6 +60,7 @@
"conventional-changelog-videojs": "^3.0.0",
"es5-shim": "^4.5.9",
"husky": "^0.13.3",
"in-publish": "^2.0.0",
"karma": "~1.3.0",
"karma-chrome-launcher": "^2.1.1",
"karma-detect-browsers": "^2.2.5",
Expand All @@ -68,11 +72,13 @@
"node-sass": "4.5.3",
"node-static": "^0.7.9",
"npm-run-all": "^4.0.2",
"portscanner": "^2.1.1",
"qunitjs": "^1.21.0",
"rimraf": "^2.6.1",
"rollup": "^0.50.0",
"rollup-plugin-babel": "^2.7.1",
"rollup-plugin-commonjs": "^8.0.2",
"rollup-plugin-json": "^2.1.1",
"rollup-plugin-multi-entry": "^2.0.1",
"rollup-plugin-node-resolve": "^3.0.0",
"rollup-plugin-replace": "^1.1.1",
Expand All @@ -86,13 +92,12 @@
"main": "dist/videojs-playlist-ui.cjs.js",
"module": "dist/videojs-playlist-ui.es.js",
"generator-videojs-plugin": {
"version": "5.0.0-5"
"version": "5.1.1"
},
"vjsstandard": {
"ignore": [
"dist",
"docs",
"scripts",
"test/dist",
"test/karma.conf.js"
]
Expand Down
49 changes: 49 additions & 0 deletions scripts/modules.rollup.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* Rollup configuration for packaging the plugin in a module that is consumable
* by either CommonJS (e.g. Node or Browserify) or ECMAScript (e.g. Rollup).
*
* These modules DO NOT include their dependencies as we expect those to be
* handled by the module system.
*/
import babel from 'rollup-plugin-babel';
import json from 'rollup-plugin-json';

export default {
name: 'videojsPlaylistUi',
input: 'src/plugin.js',
output: [{
file: 'dist/videojs-playlist-ui.cjs.js',
format: 'cjs'
}, {
file: 'dist/videojs-playlist-ui.es.js',
format: 'es'
}],
external: [
'global',
'global/document',
'global/window',
'video.js'
],
globals: {
'video.js': 'videojs'
},
legacy: true,
plugins: [
json(),
babel({
babelrc: false,
exclude: 'node_modules/**',
presets: [
'es3',
['es2015', {
loose: true,
modules: false
}]
],
plugins: [
'external-helpers',
'transform-object-assign'
]
})
]
};
34 changes: 34 additions & 0 deletions scripts/server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/* eslint no-console: "off" */

const http = require('http');
const portscanner = require('portscanner');
const nodeStatic = require('node-static');

const files = new nodeStatic.Server(process.cwd(), {cache: false});

const server = http.createServer((request, response) => {
response.setHeader('Cache-Control', 'no-cache,must-revalidate');

request.addListener('end', () => {
files.serve(request, response, (err) => {
if (err) {
response.writeHead(err.status, err.headers);
response.end('Not Found');
}

console.log([
(new Date()).toISOString(),
`[${response.statusCode}]`,
request.url
].join(' '));
});
}).resume();
});

portscanner.findAPortNotInUse(9999, 10999).then((port) => {
server.listen(port, '0.0.0.0');
console.log(`serving "." at http://0.0.0.0:${port}`);
}).catch((err) => {
console.log('could not find an open port: ', err);
process.exit(1);
});
10 changes: 7 additions & 3 deletions scripts/test.rollup.config.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
/**
* Rollup configuration for packaging the plugin in a test bundle.
*
* This includes all dependencies for both the plugin and its tests.
*/
import babel from 'rollup-plugin-babel';
import commonjs from 'rollup-plugin-commonjs';
import json from 'rollup-plugin-json';
import multiEntry from 'rollup-plugin-multi-entry';
import resolve from 'rollup-plugin-node-resolve';
import path from 'path';

const pkg = require(path.resolve(__dirname, '../package.json'));

export default {
name: 'videojsPlaylistUiTests',
Expand Down Expand Up @@ -35,6 +38,7 @@ export default {
main: true,
jsnext: true
}),
json(),
commonjs({
sourceMap: false
}),
Expand Down
28 changes: 14 additions & 14 deletions scripts/build.rollup.config.js → scripts/umd.rollup.config.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
/**
* Rollup configuration for packaging the plugin in a module that is consumable
* as the `src` of a `script` tag or via AMD or similar client-side loading.
*
* This module DOES include its dependencies.
*/
import babel from 'rollup-plugin-babel';
import commonjs from 'rollup-plugin-commonjs';
import replace from 'rollup-plugin-replace';
import json from 'rollup-plugin-json';
import resolve from 'rollup-plugin-node-resolve';
import path from 'path';

const pkg = require(path.resolve(__dirname, '../package.json'));

export default {
name: 'videojsPlaylistUi',
input: 'src/plugin.js',
output: [
{file: 'dist/videojs-playlist-ui.js', format: 'umd'},
{file: 'dist/videojs-playlist-ui.cjs.js', format: 'cjs'},
{file: 'dist/videojs-playlist-ui.es.js', format: 'es'}
output: {
file: 'dist/videojs-playlist-ui.js',
format: 'umd'
},
external: [
'video.js'
],
external: ['video.js'],
globals: {
'video.js': 'videojs'
},
legacy: true,
plugins: [
replace({
delimiters: ['__', '__'],
include: 'src/plugin.js',
VERSION: pkg.version
}),
resolve({
browser: true,
main: true,
jsnext: true
}),
json(),
commonjs({
sourceMap: false
}),
Expand Down
1 change: 0 additions & 1 deletion test/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
<script src="../node_modules/sinon/pkg/sinon.js"></script>
<script src="../node_modules/qunitjs/qunit/qunit.js"></script>
<script src="../node_modules/video.js/dist/video.js"></script>
<script src="../node_modules/videojs-playlist/dist/videojs-playlist.js"></script>
<script src="../test/dist/bundle.js"></script>
</body>
</html>
1 change: 0 additions & 1 deletion test/karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ module.exports = function(config) {
'node_modules/es5-shim/es5-shim.js',
'node_modules/sinon/pkg/sinon.js',
'node_modules/video.js/dist/video.js',
'node_modules/videojs-playlist/dist/videojs-playlist.js',
'test/dist/bundle.js'
],
customLaunchers: {
Expand Down
1 change: 1 addition & 0 deletions test/plugin.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import window from 'global/window';
import QUnit from 'qunit';
import videojs from 'video.js';

import 'videojs-playlist';
import '../src/plugin';

const playlist = [{
Expand Down

0 comments on commit b753ab3

Please sign in to comment.