代码拉取完成,页面将自动刷新
同步操作将从 Gitee 极速下载/Maptalks 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
const minimist = require('minimist'),
path = require('path'),
gulp = require('gulp'),
del = require('del'),
concat = require('gulp-concat'),
cssnano = require('gulp-cssnano'),
connect = require('gulp-connect'),
rollupCfg = require('./build/rollup.config'),
BundleHelper = require('maptalks-build-helpers').BundleHelper,
Server = require('karma').Server;
const rollupWatch = rollupCfg.watch;
const bundler = new BundleHelper(require('./package.json'));
const knownOptions = {
string: ['browsers', 'pattern'],
boolean: 'coverage',
alias: {
'coverage': 'cov'
},
default: {
browsers: null,
coverage: false
}
};
const options = minimist(process.argv.slice(2), knownOptions);
const browsers = [];
const configBrowsers = options.browsers || process.env['MAPTALKS_BROWSERS'] || '';
configBrowsers.split(',').forEach(name => {
if (!name || name.length < 1) {
return;
}
browsers.push(name);
});
gulp.task('scripts', () => {
return bundler.bundle('src/index.js', rollupCfg.config);
});
const stylesPattern = './assets/css/**/*.css';
gulp.task('styles', () => {
return gulp.src(stylesPattern)
.pipe(concat('maptalks.css'))
.pipe(cssnano())
.pipe(gulp.dest('./dist/'));
});
gulp.task('images', () => {
return gulp.src('./assets/images/**/*')
.pipe(gulp.dest('./dist/images'));
});
gulp.task('build', ['scripts', 'styles', 'images'], () => {});
gulp.task('minify', ['build'], () => {
bundler.minify();
});
gulp.task('watch', ['styles', 'images'], () => {
rollupWatch(() => {
gulp.src('./dist/*.js')
.pipe(connect.reload());
});
gulp.watch(stylesPattern, ['styles']);
});
/**
* Run test once and exit
*/
gulp.task('test', function (done) {
const karmaConfig = {
configFile: path.join(__dirname, 'build/karma.test.config.js')
};
if (browsers.length > 0) {
karmaConfig.browsers = browsers;
}
if (options.coverage) {
karmaConfig.configFile = path.join(__dirname, 'build/karma.cover.config.js');
}
if (options.pattern) {
karmaConfig.client = {
mocha: {
grep: options.pattern
}
};
}
new Server(karmaConfig, done).start();
});
/**
* Watch for file changes and re-run tests on each change
*/
gulp.task('tdd', function (done) {
const karmaConfig = {
configFile: path.join(__dirname, 'build/karma.tdd.config.js')
};
if (browsers.length > 0) {
karmaConfig.browsers = browsers;
}
if (options.pattern) {
karmaConfig.client = {
mocha: {
grep: options.pattern
}
};
}
let started = false;
rollupWatch(() => {
if (!started) {
const karmaServer = new Server(karmaConfig, done);
karmaServer.start();
started = true;
}
});
});
gulp.task('connect', ['watch'], () => {
connect.server({
root: ['dist', 'debug'],
livereload: true,
port: 20000
});
});
gulp.task('reload', ['scripts'], () => {
gulp.src('./dist/*.js')
.pipe(connect.reload());
});
gulp.task('doc', (done) => {
const sources = require('./build/api-files.js');
del([
'./docs/api/**/*'
], {
force : true
});
const conf = require('./jsdoc.json');
const cmd = 'jsdoc';
const args = ['-c', 'jsdoc.json'].concat(['-P', 'package.json']).concat(sources);
const exec = require('child_process').exec;
exec([cmd].concat(args).join(' '), (error, stdout, stderr) => {
if (error) {
console.error('JSDoc returned with error: ' + stderr ? stderr : '');
done(error);
return;
}
if (stderr) {
console.error(stderr);
}
if (stdout) { console.log(stdout); }
console.log('Documented ' + sources.length + ' files in:');
console.log(conf.opts.destination);
done(stderr);
});
});
gulp.task('editdoc', ['doc'], () => {
gulp.watch(['src/**/*.js'], ['doc']);
});
gulp.task('default', ['connect']);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。