mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 07:00:11 +01:00
Move script to /build/
This commit is contained in:
parent
1f837fe159
commit
7286264340
2 changed files with 22 additions and 29 deletions
|
|
@ -7,6 +7,8 @@ const glob = require('glob');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const REPO_ROOT = path.join(__dirname, '..');
|
||||||
|
|
||||||
const customFeatureLabels = {
|
const customFeatureLabels = {
|
||||||
'vs/editor/browser/controller/coreCommands': 'coreCommands',
|
'vs/editor/browser/controller/coreCommands': 'coreCommands',
|
||||||
'vs/editor/contrib/caretOperations/caretOperations': 'caretOperations',
|
'vs/editor/contrib/caretOperations/caretOperations': 'caretOperations',
|
||||||
|
|
@ -30,7 +32,7 @@ generateFeatures();
|
||||||
function getBasicLanguages() {
|
function getBasicLanguages() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
glob(
|
glob(
|
||||||
'./node_modules/monaco-editor/esm/vs/basic-languages/*/*.contribution.js',
|
'./release/esm/vs/basic-languages/*/*.contribution.js',
|
||||||
{ cwd: path.dirname(__dirname) },
|
{ cwd: path.dirname(__dirname) },
|
||||||
(err, files) => {
|
(err, files) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|
@ -40,9 +42,7 @@ function getBasicLanguages() {
|
||||||
|
|
||||||
resolve(
|
resolve(
|
||||||
files.map((file) => {
|
files.map((file) => {
|
||||||
const entry = file
|
const entry = file.substring('./release/esm/'.length).replace(/\.js$/, '');
|
||||||
.substring('./node_modules/monaco-editor/esm/'.length)
|
|
||||||
.replace(/\.js$/, '');
|
|
||||||
const label = path.basename(file).replace(/\.contribution\.js$/, '');
|
const label = path.basename(file).replace(/\.contribution\.js$/, '');
|
||||||
return {
|
return {
|
||||||
label: label,
|
label: label,
|
||||||
|
|
@ -61,7 +61,7 @@ function getBasicLanguages() {
|
||||||
function readAdvancedLanguages() {
|
function readAdvancedLanguages() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
glob(
|
glob(
|
||||||
'./node_modules/monaco-editor/esm/vs/language/*/monaco.contribution.js',
|
'./release/esm/vs/language/*/monaco.contribution.js',
|
||||||
{ cwd: path.dirname(__dirname) },
|
{ cwd: path.dirname(__dirname) },
|
||||||
(err, files) => {
|
(err, files) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|
@ -71,7 +71,7 @@ function readAdvancedLanguages() {
|
||||||
|
|
||||||
resolve(
|
resolve(
|
||||||
files
|
files
|
||||||
.map((file) => file.substring('./node_modules/monaco-editor/esm/vs/language/'.length))
|
.map((file) => file.substring('./release/esm/vs/language/'.length))
|
||||||
.map((file) => file.substring(0, file.length - '/monaco.contribution.js'.length))
|
.map((file) => file.substring(0, file.length - '/monaco.contribution.js'.length))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -90,7 +90,6 @@ function getAdvancedLanguages() {
|
||||||
const entry = `vs/language/${lang}/monaco.contribution`;
|
const entry = `vs/language/${lang}/monaco.contribution`;
|
||||||
checkFileExists(entry);
|
checkFileExists(entry);
|
||||||
const workerId = `vs/language/${lang}/${shortLang}Worker`;
|
const workerId = `vs/language/${lang}/${shortLang}Worker`;
|
||||||
checkFileExists(workerId);
|
|
||||||
const workerEntry = `vs/language/${lang}/${shortLang}.worker`;
|
const workerEntry = `vs/language/${lang}/${shortLang}.worker`;
|
||||||
checkFileExists(workerEntry);
|
checkFileExists(workerEntry);
|
||||||
result.push({
|
result.push({
|
||||||
|
|
@ -106,12 +105,7 @@ function getAdvancedLanguages() {
|
||||||
});
|
});
|
||||||
|
|
||||||
function checkFileExists(moduleName) {
|
function checkFileExists(moduleName) {
|
||||||
const filePath = path.join(
|
const filePath = path.join(REPO_ROOT, 'release/esm', `${moduleName}.js`);
|
||||||
__dirname,
|
|
||||||
'..',
|
|
||||||
'node_modules/monaco-editor/esm',
|
|
||||||
`${moduleName}.js`
|
|
||||||
);
|
|
||||||
if (!fs.existsSync(filePath)) {
|
if (!fs.existsSync(filePath)) {
|
||||||
console.error(`Could not find ${filePath}.`);
|
console.error(`Could not find ${filePath}.`);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
|
|
@ -175,17 +169,20 @@ export const languagesArr: IFeatureDefinition[] = ${JSON.stringify(result, null,
|
||||||
export type EditorLanguage = ${result.map((el) => `'${el.label}'`).join(' | ')};
|
export type EditorLanguage = ${result.map((el) => `'${el.label}'`).join(' | ')};
|
||||||
|
|
||||||
`;
|
`;
|
||||||
fs.writeFileSync(path.join(__dirname, '../src/languages.ts'), code.replace(/\r\n/g, '\n'));
|
fs.writeFileSync(
|
||||||
|
path.join(REPO_ROOT, 'webpack-plugin/src/languages.ts'),
|
||||||
|
code.replace(/\r\n/g, '\n')
|
||||||
|
);
|
||||||
|
|
||||||
const readmeLanguages = JSON.stringify(result.map((r) => r.label))
|
const readmeLanguages = JSON.stringify(result.map((r) => r.label))
|
||||||
.replace(/"/g, "'")
|
.replace(/"/g, "'")
|
||||||
.replace(/','/g, "', '");
|
.replace(/','/g, "', '");
|
||||||
let readme = fs.readFileSync(path.join(__dirname, '../README.md')).toString();
|
let readme = fs.readFileSync(path.join(REPO_ROOT, 'webpack-plugin/README.md')).toString();
|
||||||
readme = readme.replace(
|
readme = readme.replace(
|
||||||
/<!-- LANGUAGES_BEGIN -->([^<]+)<!-- LANGUAGES_END -->/,
|
/<!-- LANGUAGES_BEGIN -->([^<]+)<!-- LANGUAGES_END -->/,
|
||||||
`<!-- LANGUAGES_BEGIN -->\`${readmeLanguages}\`<!-- LANGUAGES_END -->`
|
`<!-- LANGUAGES_BEGIN -->\`${readmeLanguages}\`<!-- LANGUAGES_END -->`
|
||||||
);
|
);
|
||||||
fs.writeFileSync(path.join(__dirname, '../README.md'), readme);
|
fs.writeFileSync(path.join(REPO_ROOT, 'webpack-plugin/README.md'), readme);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -217,16 +214,8 @@ function generateFeatures() {
|
||||||
|
|
||||||
let features = [];
|
let features = [];
|
||||||
const files =
|
const files =
|
||||||
fs
|
fs.readFileSync(path.join(REPO_ROOT, 'release/esm/vs/editor/edcore.main.js')).toString() +
|
||||||
.readFileSync(
|
fs.readFileSync(path.join(REPO_ROOT, 'release/esm/vs/editor/editor.all.js')).toString();
|
||||||
path.join(__dirname, '../node_modules/monaco-editor/esm/vs/editor/edcore.main.js')
|
|
||||||
)
|
|
||||||
.toString() +
|
|
||||||
fs
|
|
||||||
.readFileSync(
|
|
||||||
path.join(__dirname, '../node_modules/monaco-editor/esm/vs/editor/editor.all.js')
|
|
||||||
)
|
|
||||||
.toString();
|
|
||||||
files.split(/\r\n|\n/).forEach((line) => {
|
files.split(/\r\n|\n/).forEach((line) => {
|
||||||
const m = line.match(/import '([^']+)'/);
|
const m = line.match(/import '([^']+)'/);
|
||||||
if (m) {
|
if (m) {
|
||||||
|
|
@ -277,15 +266,18 @@ export type EditorFeature = ${result.map((el) => `'${el.label}'`).join(' | ')};
|
||||||
|
|
||||||
export type NegatedEditorFeature = ${result.map((el) => `'!${el.label}'`).join(' | ')};
|
export type NegatedEditorFeature = ${result.map((el) => `'!${el.label}'`).join(' | ')};
|
||||||
`;
|
`;
|
||||||
fs.writeFileSync(path.join(__dirname, '../src/features.ts'), code.replace(/\r\n/g, '\n'));
|
fs.writeFileSync(
|
||||||
|
path.join(REPO_ROOT, 'webpack-plugin/src/features.ts'),
|
||||||
|
code.replace(/\r\n/g, '\n')
|
||||||
|
);
|
||||||
|
|
||||||
const readmeFeatures = JSON.stringify(result.map((r) => r.label))
|
const readmeFeatures = JSON.stringify(result.map((r) => r.label))
|
||||||
.replace(/"/g, "'")
|
.replace(/"/g, "'")
|
||||||
.replace(/','/g, "', '");
|
.replace(/','/g, "', '");
|
||||||
let readme = fs.readFileSync(path.join(__dirname, '../README.md')).toString();
|
let readme = fs.readFileSync(path.join(REPO_ROOT, 'webpack-plugin/README.md')).toString();
|
||||||
readme = readme.replace(
|
readme = readme.replace(
|
||||||
/<!-- FEATURES_BEGIN -->([^<]+)<!-- FEATURES_END -->/,
|
/<!-- FEATURES_BEGIN -->([^<]+)<!-- FEATURES_END -->/,
|
||||||
`<!-- FEATURES_BEGIN -->\`${readmeFeatures}\`<!-- FEATURES_END -->`
|
`<!-- FEATURES_BEGIN -->\`${readmeFeatures}\`<!-- FEATURES_END -->`
|
||||||
);
|
);
|
||||||
fs.writeFileSync(path.join(__dirname, '../README.md'), readme);
|
fs.writeFileSync(path.join(REPO_ROOT, 'webpack-plugin/README.md'), readme);
|
||||||
}
|
}
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
"build-website": "gulp build-website && npm run typedoc",
|
"build-website": "gulp build-website && npm run typedoc",
|
||||||
"gulp": "node ./node_modules/gulp/bin/gulp.js",
|
"gulp": "node ./node_modules/gulp/bin/gulp.js",
|
||||||
"import-typescript": "node ./build/importTypescript.js",
|
"import-typescript": "node ./build/importTypescript.js",
|
||||||
|
"import-editor-webpack-plugin": "node ./build/importEditorWebpackPlugin.js",
|
||||||
"playwright-install": "node ./node_modules/playwright/install.js",
|
"playwright-install": "node ./node_modules/playwright/install.js",
|
||||||
"playwright-install-deps": "playwright install-deps",
|
"playwright-install-deps": "playwright install-deps",
|
||||||
"postinstall": "node build/postinstall.js",
|
"postinstall": "node build/postinstall.js",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue