mirror of https://github.com/docker/docs.git
faster build time
This commit is contained in:
parent
57954729a9
commit
b9d3d20331
22
gulpfile.js
22
gulpfile.js
|
@ -14,6 +14,7 @@ var runSequence = require('run-sequence');
|
||||||
var shell = require('gulp-shell');
|
var shell = require('gulp-shell');
|
||||||
var sourcemaps = require('gulp-sourcemaps');
|
var sourcemaps = require('gulp-sourcemaps');
|
||||||
var packagejson = require('./package.json');
|
var packagejson = require('./package.json');
|
||||||
|
var changed = require('gulp-changed');
|
||||||
|
|
||||||
var dependencies = Object.keys(packagejson.dependencies);
|
var dependencies = Object.keys(packagejson.dependencies);
|
||||||
var isBeta = process.argv.indexOf('--beta') !== -1;
|
var isBeta = process.argv.indexOf('--beta') !== -1;
|
||||||
|
@ -27,8 +28,7 @@ try {
|
||||||
settings.beta = isBeta;
|
settings.beta = isBeta;
|
||||||
|
|
||||||
var options = {
|
var options = {
|
||||||
dev: process.argv.indexOf('release') === -1 && process.argv.indexOf('test') === -1,
|
dev: process.argv.indexOf('release') === -1,
|
||||||
test: process.argv.indexOf('test') !== -1,
|
|
||||||
beta: isBeta,
|
beta: isBeta,
|
||||||
filename: isBeta ? 'Kitematic (Beta).app' : 'Kitematic.app',
|
filename: isBeta ? 'Kitematic (Beta).app' : 'Kitematic.app',
|
||||||
name: isBeta ? 'Kitematic (Beta)' : 'Kitematic',
|
name: isBeta ? 'Kitematic (Beta)' : 'Kitematic',
|
||||||
|
@ -37,21 +37,22 @@ var options = {
|
||||||
|
|
||||||
gulp.task('js', function () {
|
gulp.task('js', function () {
|
||||||
return gulp.src('src/**/*.js')
|
return gulp.src('src/**/*.js')
|
||||||
|
.pipe(gulpif(options.dev, changed('./build')))
|
||||||
.pipe(plumber(function(error) {
|
.pipe(plumber(function(error) {
|
||||||
gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message));
|
gutil.log(gutil.colors.red('Error (' + error.plugin + '): ' + error.message));
|
||||||
// emit the end event, to properly end the task
|
|
||||||
this.emit('end');
|
this.emit('end');
|
||||||
}))
|
}))
|
||||||
.pipe(gulpif(options.dev || options.test, sourcemaps.init()))
|
.pipe(gulpif(options.dev, sourcemaps.init()))
|
||||||
.pipe(react())
|
.pipe(react())
|
||||||
.pipe(babel({blacklist: ['regenerator']}))
|
.pipe(babel({blacklist: ['regenerator']}))
|
||||||
.pipe(gulpif(options.dev || options.test, sourcemaps.write('.')))
|
.pipe(gulpif(options.dev, sourcemaps.write('.')))
|
||||||
.pipe(gulp.dest((options.dev || options.test) ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build'))
|
.pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build'))
|
||||||
.pipe(gulpif(options.dev, livereload()));
|
.pipe(gulpif(options.dev, livereload()));
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('images', function() {
|
gulp.task('images', function() {
|
||||||
return gulp.src('images/*')
|
return gulp.src('images/*')
|
||||||
|
.pipe(gulpif(options.dev, changed('./build')))
|
||||||
.pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build'))
|
.pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build'))
|
||||||
.pipe(gulpif(options.dev, livereload()));
|
.pipe(gulpif(options.dev, livereload()));
|
||||||
});
|
});
|
||||||
|
@ -63,6 +64,7 @@ gulp.task('styles', function () {
|
||||||
// emit the end event, to properly end the task
|
// emit the end event, to properly end the task
|
||||||
this.emit('end');
|
this.emit('end');
|
||||||
}))
|
}))
|
||||||
|
.pipe(gulpif(options.dev, changed('./build')))
|
||||||
.pipe(gulpif(options.dev, sourcemaps.init()))
|
.pipe(gulpif(options.dev, sourcemaps.init()))
|
||||||
.pipe(less())
|
.pipe(less())
|
||||||
.pipe(gulpif(options.dev, sourcemaps.write()))
|
.pipe(gulpif(options.dev, sourcemaps.write()))
|
||||||
|
@ -85,13 +87,14 @@ gulp.task('copy', function () {
|
||||||
.pipe(gulpif(options.dev, livereload()));
|
.pipe(gulpif(options.dev, livereload()));
|
||||||
|
|
||||||
gulp.src('fonts/**')
|
gulp.src('fonts/**')
|
||||||
|
.pipe(gulpif(options.dev, changed('./build')))
|
||||||
.pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build'))
|
.pipe(gulp.dest(options.dev ? './build' : './dist/osx/' + options.filename + '/Contents/Resources/app/build'))
|
||||||
.pipe(gulpif(options.dev, livereload()));
|
.pipe(gulpif(options.dev, livereload()));
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('dist', function () {
|
gulp.task('dist', function () {
|
||||||
var stream = gulp.src('').pipe(shell([
|
var stream = gulp.src('').pipe(shell([
|
||||||
'rm -Rf ./dist',
|
'rm -Rf dist',
|
||||||
'mkdir -p ./dist/osx',
|
'mkdir -p ./dist/osx',
|
||||||
'cp -R ./cache/Atom.app ./dist/osx/<%= filename %>',
|
'cp -R ./cache/Atom.app ./dist/osx/<%= filename %>',
|
||||||
'mv ./dist/osx/<%= filename %>/Contents/MacOS/Atom ./dist/osx/<%= filename %>/Contents/MacOS/<%= name %>',
|
'mv ./dist/osx/<%= filename %>/Contents/MacOS/Atom ./dist/osx/<%= filename %>/Contents/MacOS/<%= name %>',
|
||||||
|
@ -168,13 +171,12 @@ gulp.task('release', function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('default', ['download', 'copy', 'js', 'images', 'styles'], function () {
|
gulp.task('default', ['download', 'copy', 'js', 'images', 'styles'], function () {
|
||||||
gulp.watch('src/**/*.js', ['js']);
|
livereload.listen();
|
||||||
|
gulp.watch('src/**/*.js', ['js', function () {livereload();}]);
|
||||||
gulp.watch('index.html', ['copy']);
|
gulp.watch('index.html', ['copy']);
|
||||||
gulp.watch('styles/**/*.less', ['styles']);
|
gulp.watch('styles/**/*.less', ['styles']);
|
||||||
gulp.watch('images/**', ['images']);
|
gulp.watch('images/**', ['images']);
|
||||||
|
|
||||||
livereload.listen();
|
|
||||||
|
|
||||||
var env = process.env;
|
var env = process.env;
|
||||||
env.NODE_ENV = 'development';
|
env.NODE_ENV = 'development';
|
||||||
gulp.src('').pipe(shell(['./cache/Atom.app/Contents/MacOS/Atom .'], {
|
gulp.src('').pipe(shell(['./cache/Atom.app/Contents/MacOS/Atom .'], {
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
<head>
|
<head>
|
||||||
<link rel="stylesheet" href="main.css"/>
|
<link rel="stylesheet" href="main.css"/>
|
||||||
<meta http-equiv="Content-Security-Policy" content="default-src *; script-src 'self' http://localhost:35729; style-src 'self' 'unsafe-inline';">
|
<meta http-equiv="Content-Security-Policy" content="default-src *; script-src 'self' http://localhost:35729; style-src 'self' 'unsafe-inline';">
|
||||||
|
|
||||||
<title>Kitematic</title>
|
<title>Kitematic</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script src="index.js"></script>
|
<script src="Main.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
24
package.json
24
package.json
|
@ -2,7 +2,7 @@
|
||||||
"name": "Kitematic",
|
"name": "Kitematic",
|
||||||
"version": "0.5.1",
|
"version": "0.5.1",
|
||||||
"author": "Kitematic",
|
"author": "Kitematic",
|
||||||
"description": "Simple Docker App management for Mac OS X.",
|
"description": "Simple Docker Container management for Mac OS X.",
|
||||||
"homepage": "https://kitematic.com/",
|
"homepage": "https://kitematic.com/",
|
||||||
"main": "browser/main.js",
|
"main": "browser/main.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
"bugs": "https://github.com/kitematic/kitematic/issues",
|
"bugs": "https://github.com/kitematic/kitematic/issues",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "gulp",
|
"start": "gulp",
|
||||||
"test": "NODE_PATH=./cache/Atom.app/Contents/Resources/atom/renderer/api/lib:$NODE_PATH jest",
|
"test": "jest",
|
||||||
"release": "gulp release",
|
"release": "gulp release",
|
||||||
"release:beta": "gulp release --beta",
|
"release:beta": "gulp release --beta",
|
||||||
"preinstall": "./deps",
|
"preinstall": "./deps",
|
||||||
|
@ -64,42 +64,28 @@
|
||||||
"react-router": "^0.11.6",
|
"react-router": "^0.11.6",
|
||||||
"request": "^2.53.0",
|
"request": "^2.53.0",
|
||||||
"request-progress": "^0.3.1",
|
"request-progress": "^0.3.1",
|
||||||
"retina.js": "^1.1.0",
|
|
||||||
"rimraf": "^2.2.8",
|
"rimraf": "^2.2.8",
|
||||||
"underscore": "^1.7.0"
|
"underscore": "^1.7.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel": "^4.0.1",
|
"babel": "^4.0.1",
|
||||||
"browserify": "^6.2.0",
|
|
||||||
"ecstatic": "^0.5.8",
|
|
||||||
"glob": "^4.0.6",
|
|
||||||
"gulp": "^3.8.10",
|
"gulp": "^3.8.10",
|
||||||
"gulp-babel": "^4.0.0",
|
"gulp-babel": "^4.0.0",
|
||||||
"gulp-atom": "0.0.5",
|
"gulp-changed": "^1.1.1",
|
||||||
"gulp-concat": "^2.3.4",
|
"gulp-concat": "^2.3.4",
|
||||||
"gulp-cssmin": "^0.1.6",
|
"gulp-cssmin": "^0.1.6",
|
||||||
"gulp-download-atom-shell": "0.0.4",
|
"gulp-download-atom-shell": "0.0.4",
|
||||||
"gulp-if": "^1.2.4",
|
"gulp-if": "^1.2.4",
|
||||||
"gulp-imagemin": "^2.0.0",
|
|
||||||
"gulp-less": "^2.0.1",
|
"gulp-less": "^2.0.1",
|
||||||
"gulp-livereload": "^2.1.1",
|
"gulp-livereload": "^2.1.1",
|
||||||
"gulp-notify": "^1.4.2",
|
|
||||||
"gulp-plumber": "^0.6.6",
|
"gulp-plumber": "^0.6.6",
|
||||||
"gulp-react": "^2.0.0",
|
"gulp-react": "^2.0.0",
|
||||||
"gulp-shell": "^0.2.11",
|
"gulp-shell": "^0.2.11",
|
||||||
"gulp-sourcemaps": "^1.2.8",
|
"gulp-sourcemaps": "^1.2.8",
|
||||||
"gulp-streamify": "0.0.5",
|
|
||||||
"gulp-uglify": "^0.3.1",
|
|
||||||
"gulp-uglifyjs": "^0.5.0",
|
|
||||||
"gulp-util": "^3.0.0",
|
"gulp-util": "^3.0.0",
|
||||||
"jest-cli": "^0.2.2",
|
"jest-cli": "^0.2.2",
|
||||||
"merge-stream": "^0.1.7",
|
"jsxhint": "^0.12.1",
|
||||||
"react-tools": "^0.12.2",
|
"react-tools": "^0.12.2",
|
||||||
"reactify": "^0.15.2",
|
"run-sequence": "^1.0.2"
|
||||||
"regenerator": "^0.8.9",
|
|
||||||
"run-sequence": "^1.0.2",
|
|
||||||
"time-require": "^0.1.2",
|
|
||||||
"vinyl-source-stream": "^0.1.1",
|
|
||||||
"watchify": "^2.1.1"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
10
src/Main.js
10
src/Main.js
|
@ -9,11 +9,14 @@ var router = require('./router');
|
||||||
var boot2docker = require('./boot2docker');
|
var boot2docker = require('./boot2docker');
|
||||||
var ContainerStore = require('./ContainerStore');
|
var ContainerStore = require('./ContainerStore');
|
||||||
var SetupStore = require('./SetupStore');
|
var SetupStore = require('./SetupStore');
|
||||||
var MenuTemplate = require('./MenuTemplate');
|
|
||||||
var Menu = remote.require('menu');
|
|
||||||
var metrics = require('./Metrics');
|
var metrics = require('./Metrics');
|
||||||
var settingsjson;
|
var settingsjson;
|
||||||
|
|
||||||
|
var MenuTemplate = require('./MenuTemplate');
|
||||||
|
var Menu = remote.require('menu');
|
||||||
|
var menu = Menu.buildFromTemplate(MenuTemplate);
|
||||||
|
Menu.setApplicationMenu(menu);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
settingsjson = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'settings.json'), 'utf8'));
|
settingsjson = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'settings.json'), 'utf8'));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
@ -46,9 +49,6 @@ bugsnag.beforeNotify = function(payload) {
|
||||||
payload.url = '<redacted url>';
|
payload.url = '<redacted url>';
|
||||||
};
|
};
|
||||||
|
|
||||||
var menu = Menu.buildFromTemplate(MenuTemplate);
|
|
||||||
Menu.setApplicationMenu(menu);
|
|
||||||
|
|
||||||
document.onkeydown = function (e) {
|
document.onkeydown = function (e) {
|
||||||
e = e || window.event;
|
e = e || window.event;
|
||||||
var doPrevent;
|
var doPrevent;
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
require.main.paths.splice(0, 0, process.env.NODE_PATH);
|
|
||||||
require('./Main');
|
|
Loading…
Reference in New Issue