Fixes to website scripts

This commit is contained in:
Alex Dima 2021-11-09 16:51:46 +01:00
parent 5a7ba61be9
commit e9074202ae
No known key found for this signature in database
GPG key ID: 39563C1504FDD0C9
3 changed files with 22 additions and 8 deletions

View file

@ -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);
},