@ -20,6 +20,7 @@ const File = require('vinyl');
const ts = require ( 'typescript' ) ;
const WEBSITE _GENERATED _PATH = path . join ( _ _dirname , 'monaco-editor/website/playground/new-samples' ) ;
/** @type {string} */
const MONACO _EDITOR _VERSION = ( function ( ) {
const packageJsonPath = path . join ( _ _dirname , 'package.json' ) ;
const packageJson = JSON . parse ( fs . readFileSync ( packageJsonPath ) . toString ( ) ) ;
@ -653,6 +654,13 @@ const cleanWebsiteTask = function (cb) {
rimraf ( '../monaco-editor-website' , { maxBusyTries : 1 } , cb ) ;
} ;
const buildWebsiteTask = taskSeries ( cleanWebsiteTask , function ( ) {
/ * *
* @ param { string } dataPath
* @ param { string } contents
* @ param { RegExp } regex
* @ param { ( match : string , fileContents : Buffer ) => string } callback
* @ returns { string }
* /
function replaceWithRelativeResource ( dataPath , contents , regex , callback ) {
return contents . replace ( regex , function ( _ , m0 ) {
var filePath = path . join ( path . dirname ( dataPath ) , m0 ) ;
@ -666,15 +674,18 @@ const buildWebsiteTask = taskSeries(cleanWebsiteTask, function () {
return es
. merge (
gulp
. src ( [ ' website/**/*'] , { dot : true } )
. src ( [ ' monaco-editor/ website/**/*'] , { dot : true } )
. pipe (
es . through (
/ * *
* @ param { File } data
* /
function ( data ) {
if ( ! data . contents || ! /\.(html)$/ . test ( data . path ) || /new-samples/ . test ( data . path ) ) {
return this . emit ( 'data' , data ) ;
}
var contents = data . contents . toString ( ) ;
let contents = data . contents . toString ( ) ;
contents = contents . replace ( /\.\.\/release\/dev/g , 'node_modules/monaco-editor/min' ) ;
contents = contents . replace ( /{{version}}/g , MONACO _EDITOR _VERSION ) ;
contents = contents . replace ( /{{year}}/g , new Date ( ) . getFullYear ( ) ) ;
@ -709,8 +720,8 @@ const buildWebsiteTask = taskSeries(cleanWebsiteTask, function () {
}
) ;
var allCSS = '' ;
var tmpcontents = replaceWithRelativeResource (
let allCSS = '' ;
let tmpcontents = replaceWithRelativeResource (
data . path ,
contents ,
/<link data-inline="yes-please" href="([^"]+)".*/g ,
@ -734,7 +745,7 @@ const buildWebsiteTask = taskSeries(cleanWebsiteTask, function () {
if ( ! err ) {
output = new CleanCSS ( ) . minify ( output ) . styles ;
var isFirst = true ;
let isFirst = true ;
contents = contents . replace (
/<link data-inline="yes-please" href="([^"]+)".*/g ,
function ( _ , m0 ) {
@ -779,6 +790,9 @@ const buildWebsiteTask = taskSeries(cleanWebsiteTask, function () {
. pipe (
es . through (
/ * *
* @ param { File } data
* /
function ( data ) {
this . emit ( 'data' , data ) ;
} ,