mirror of
https://github.com/Microsoft/vscode
synced 2024-10-30 13:43:07 +00:00
99 lines
3.7 KiB
JavaScript
99 lines
3.7 KiB
JavaScript
|
/*---------------------------------------------------------------------------------------------
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||
|
*--------------------------------------------------------------------------------------------*/
|
||
|
|
||
|
var gulp = require('gulp');
|
||
|
var rename = require('gulp-rename');
|
||
|
var filter = require('gulp-filter');
|
||
|
var _ = require('underscore');
|
||
|
var es = require('event-stream');
|
||
|
var buildfile = require('./src/buildfile');
|
||
|
var util = require('./build/lib/util');
|
||
|
var common = require('./gulpfile.common');
|
||
|
|
||
|
// Build
|
||
|
|
||
|
var editorEntryPoints = _.flatten([
|
||
|
buildfile.entrypoint('vs/editor/editor.main'),
|
||
|
buildfile.base,
|
||
|
buildfile.standaloneLanguages,
|
||
|
buildfile.editor,
|
||
|
buildfile.languages
|
||
|
]);
|
||
|
|
||
|
var editorResources = [
|
||
|
'out-build/vs/css.js',
|
||
|
'out-build/vs/nls.js',
|
||
|
'out-build/vs/text.js',
|
||
|
'out-build/vs/{base,editor}/**/*.{svg,png}',
|
||
|
'out-build/vs/editor/css/*.css',
|
||
|
'out-build/vs/base/worker/workerMainCompatibility.html',
|
||
|
'out-build/vs/base/worker/workerMain.{js,js.map}',
|
||
|
'out-build/vs/languages/typescript/common/lib/lib.{d.ts,es6.d.ts}',
|
||
|
'!out-build/vs/workbench/**',
|
||
|
'!**/test/**'
|
||
|
];
|
||
|
|
||
|
function editorLoaderConfig(removeAllOSS) {
|
||
|
var result = common.loaderConfig();
|
||
|
|
||
|
// never ship marked in editor
|
||
|
result.paths['vs/languages/markdown/common/marked'] = 'out-build/vs/languages/markdown/common/marked.mock';
|
||
|
|
||
|
if (removeAllOSS) {
|
||
|
result.paths['vs/languages/lib/common/beautify-html'] = 'out-build/vs/languages/lib/common/beautify-html.mock';
|
||
|
}
|
||
|
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
gulp.task('clean-optimized-editor', util.rimraf('out-editor'));
|
||
|
gulp.task('optimize-editor', ['clean-optimized-editor', 'compile-build'], common.optimizeTask(
|
||
|
editorEntryPoints,
|
||
|
editorResources,
|
||
|
editorLoaderConfig(false),
|
||
|
'out-editor'
|
||
|
));
|
||
|
|
||
|
gulp.task('clean-minified-editor', util.rimraf('out-editor-min'));
|
||
|
gulp.task('minify-editor', ['clean-minified-editor', 'optimize-editor'], common.minifyTask('out-editor'));
|
||
|
|
||
|
// OSS Free
|
||
|
gulp.task('clean-optimized-editor-ossfree', util.rimraf('out-editor-ossfree'));
|
||
|
gulp.task('optimize-editor-ossfree', ['clean-optimized-editor-ossfree', 'compile-build'], common.optimizeTask(
|
||
|
editorEntryPoints,
|
||
|
editorResources,
|
||
|
editorLoaderConfig(true),
|
||
|
'out-editor-ossfree'
|
||
|
));
|
||
|
|
||
|
gulp.task('clean-minified-editor-ossfree', util.rimraf('out-editor-ossfree-min'));
|
||
|
gulp.task('minify-editor-ossfree', ['clean-minified-editor-ossfree', 'optimize-editor-ossfree'], common.minifyTask('out-editor-ossfree'));
|
||
|
|
||
|
// Package
|
||
|
|
||
|
function editorTask(out, dest) {
|
||
|
return function () {
|
||
|
return gulp.src(out + '/**', { base: out })
|
||
|
.pipe(filter(['**', '!**/*.js.map', '!**/bundles.json']))
|
||
|
.pipe(gulp.dest(dest));
|
||
|
};
|
||
|
}
|
||
|
|
||
|
gulp.task('clean-editor', util.rimraf('../Monaco-Editor-Build'));
|
||
|
gulp.task('editor', ['clean-editor', 'optimize-editor'],
|
||
|
editorTask('out-editor', '../Monaco-Editor-Build'));
|
||
|
|
||
|
gulp.task('clean-editor-min', util.rimraf('../Monaco-Editor-Build-Min'));
|
||
|
gulp.task('editor-min', ['clean-editor-min', 'minify-editor'],
|
||
|
editorTask('out-editor-min', '../Monaco-Editor-Build-Min'));
|
||
|
|
||
|
gulp.task('clean-editor-ossfree', util.rimraf('../Monaco-Editor-Build-OSS-Free'));
|
||
|
gulp.task('editor-ossfree', ['clean-editor-ossfree', 'optimize-editor-ossfree'],
|
||
|
editorTask('out-editor-ossfree', '../Monaco-Editor-Build-OSS-Free'));
|
||
|
|
||
|
gulp.task('clean-editor-ossfree-min', util.rimraf('../Monaco-Editor-Build-OSS-Free-Min'));
|
||
|
gulp.task('editor-ossfree-min', ['clean-editor-ossfree-min', 'minify-editor-ossfree'],
|
||
|
editorTask('out-editor-ossfree-min', '../Monaco-Editor-Build-OSS-Free-Min'));
|